FC『麻雀』で天和は出るのか
天和を出している動画を見たことがない(既にあったらゴメン)ので検証してみました。
ただし、FCEUXの仕様のためにこのムービーは実機では再現できないのですが、この件については別記事にて。
調査にあたり、和了/テンパイ判定ツールを自作したので一応アップしておきます(ソース付き)。物凄いやっつけ仕事ですが、天和/地和が出るかどうかの調査くらいには使えると思います。アルゴリズムは単純で、面子を取れるだけ取り、3面子未満ならノーテン、3面子以上なら残りの牌を見て適当に処理、というのを再帰的に行っているだけです(ちゃんとテストしてないのでバグってるかもしれませんが)。
ただ、カンが絡む場合の判定をどうしたらいいのかがイマイチよくわかってません。例えば14牌で3面子あって残り5牌が
1 4444
という形の場合、4を切れば1単騎待ちになりますが、4をカンして1をツモればそのまま和了なわけで、TASに利用する場合はその辺の情報も得られる方が便利なのかなと思ったりします。また、14牌で2面子あって残り8牌が
1111 4444
という形の場合、現在の実装では1と4の刻子を取って1or4の単騎待ちと判定しますが、これだと空テンパイになってしまいます。どちらかをカンすればテンパイにはなるわけですが、こういうのはテンパイと言うのかどうかよくわかりません。さらに、14牌で
11 33 55 7777 9999
という形の場合、テンパイではありませんが、7と9をカンすればテンパイまたは和了になる可能性はあります。TASの場合はリンシャン牌を任意に選べるケースもあるはずなので、こういうのも一応網羅できた方が便利なのかなと思ったりもします。
まあ、天和/地和に関してはリンシャン和了は通常認められないらしいので、その点に関して言えば大きな問題はないのかなと思いますが…。
その他細かいことは資料置き場に置いておきます。