
とりあえず入力と表示の場合分けをするために想定できる範囲で状態遷移のパターンを考えてみる。こういうのもAIで・・とも思うけど、頭使わないとヤバいですから・・

画面表示にツモ牌が必要だと気づいたので追加。まあ、Stringで良かろう

ツモした時に捨て牌を選ぶ必要があるけど・・13個選ぶとするとワンキーで選ぶわけにはいかないから選択用の文字列を作らないといけない。アルファベットかな・・ところで、最後のツモで上がりになった時点で14枚ってことは配牌って13枚じゃないのか?と質問。やはり!親は最初から14枚配られて・・ってのは初めて知った。でも面倒なので共通で13枚配ることにする。

というわけで例によって自分で書ける範囲でコードを書いて添削してもらう。
あ、スライスだから+=は使えないんだった。何回同じところで混乱するんだ?って感じ

ツモ中にBara牌を表示してキー入力で捨て牌を選びたいが・・範囲外のキーを入力した場合に弾きつつ、入力したキーを特定して場合分けする場合どうしたら良いんだ?まさか全部Caseで指定するわけにはいくまい・・

ってことでKiroに質問。あ、そうか!表示用に作ったModel.Alphabetに入力したものが含まれているかどうかを調べるだけで良かった・・いわゆるMember。これくらい思いつけよなぁ

後は選択用アルファベットは常に表示しておくようにして・・と

単語あらため(チーで繋いでいく事で単語を作る場合もあるから)、グループ化について考える。チー(相手の捨て牌を奪って4文字以上の単語を作る仕組みを便宜上ここではこう呼ぶ)の仕組みを考えると、グループ化した時点で「単語」として登録するのはちょっとマズいな・・と書き始めてからようやく気づく。上がるまで単語の辞書への登録が確定しないというのは・・ちょっと単語生成の効率が悪すぎるので参ったな。
更に今のBubble teaではワンキーですぐさま反応が返ってしまうけど単語生成で文字を選ぶのに1文字ずつ状態遷移を行っていては面倒でしょうがない。ここだけ標準入力みたいに複数の文字を入力するように出来ないものか?Kiroに聞く

ちゃんとそういう事は出来るという。ではKiroが書いてくれたコードを読んでみよう。
あ、そうか・・Modelにバッファフィールドを持たせて、終了のためのキー以外では入力した文字列を足していけば良かったかあ〜!

頼んでもないのにGroupを作る部分を書いてくれたKiro・・だけど、これは自分で挑戦したいのでサッと目を逸して読んでません。
というわけで、次回はこの部分を自作するところから再開しよう。

ついでに選択中の牌は色を変えるという部分を勝手に提案してくれるKiro。これも自分で考えたかったのに!でも興味深いのでこっちは読んでしまいました。