anvilsign in

collin/mahjong · 963c4b92

摸牌, and let the 碰 beside it say what you are giving up

Collin Richards · 2026-08-25 08:55 UTC · 963c4b92f7592f5587ee0f1864c1e95f974cd2ce · parent 34a0a073 · browse files

modifiedREADME.md+7 −4
⋯ 114 unchanged lines
115115 already declared still stands, so calling in time always wins the tile. If
116116 everyone answers first, play advances on its own without the extra tap.
117117 The seat that draws next gets no separate 過 button, because for them the two
118- are the same move: picking up *is* how you decline. Their draw button reads
119- 過.摸牌 while they have something they could have called instead. Wanting to
120- decline but leave the window open for everyone else is just waiting, which is
121- what not pressing anything already does.
118+ are the same move: picking up *is* how you decline. Their button says 摸牌
119+ either way; what they would be giving up by pressing it is the 碰 or the 吃
120+ sitting next to it on the bar, so it does not have to be spelled out on the
121+ tile as well. Wanting to decline but leave the window open for everyone else
122+ is just waiting, which is what not pressing anything already does. (On a
123+ phone the button still reads 過.摸牌 — a phone's bar is a row with room to
124+ write on, and the hand it belongs to is not on the same screen as the table.)
122125 - **On your turn** — 自摸, 暗槓 and 加槓 appear automatically when legal.
123126 加槓 offers everyone else a 搶槓 chance.
124127 - **Where the buttons go** — on the same row as your tiles, at the right-hand end
⋯ 710 unchanged lines
modifiedsrc/ui/Seat.tsx+9 −2
⋯ 342 unchanged lines
343343 className={`btn proceed ${claiming ? 'pass' : ''}`}
344344 onClick={() => game.resolveNow()}
345345 >
346+ {/* 摸牌 either way, even when picking up is also how this seat
347+ declines a 碰 it could have called. It used to say 過.摸牌
348+ there, to make it plain that drawing forfeits the call — but
349+ the call is a tile of its own sitting right beside this one
350+ now, so the choice is on the table rather than needing to be
351+ spelled out, and four characters on a tile that is one tile
352+ wide is a squeeze that bought nothing. */}
346353 <Bi
347- zh={s.phase === 'robkong' ? '繼續' : claiming ? '過.摸牌' : '摸牌'}
348- en={s.phase === 'robkong' ? 'Continue' : claiming ? 'Pass & draw' : 'Draw'}
354+ zh={s.phase === 'robkong' ? '繼續' : '摸牌'}
355+ en={s.phase === 'robkong' ? 'Continue' : 'Draw'}
349356 />
350357 </button>
351358 )}
⋯ 299 unchanged lines