待ちが変わらなくても槓してはいけないパターンは、槓する前後で、牌視が変わらないことでもあるので、牌の組み合わせが2パターンある場合(例に挙げられた1113444のような場合)、そのどちらのパターンも満足させないといけません。1を雀頭してもいいし、4を雀頭としてもいいので、槓をした後も1と4の両方を雀頭にできるようでなければ行けません。つまり、
(1) 待ちが変わらないこと
(2) 牌の組み合わせ上、雀頭とみなされていないかどうか
の2つの条件で槓ができるかどうかがわかるでしょう。
回答ありがとうございます。
ただ、たとえば1113444m東東東発発発のような場合、一萬を暗槓してもしなくても
二五待ちと三萬の単騎の三門張ですが、この場合
「一萬の雀頭・1_3の嵌張・四萬の暗刻」と見ることもできるので、
このような場合も除外したいのですが。
ルールでは、リーチをした後、待ち牌が変化してはいけません。
同じ牌が3枚ある状態とそれをカンした場合に、待ち牌が変化しているならば、それはカンしてはいけません。
たとえば
3334567
の23578の待ちで、3がきてもアンカンしてはいけません。待ちが47だけに変化するからです。
URLはダミーです。
ありがとうございます。
ただ、上に書いた1113444の場合ように
「待ちが変わらないのに面子構成が変わる」(この場合1_3の嵌張と見ても成り立つ)
という場合もあるので、それらも除外できる方法もあればいいのですが。
待ちが変わらなくても槓してはいけないパターンは、槓する前後で、牌視が変わらないことでもあるので、牌の組み合わせが2パターンある場合(例に挙げられた1113444のような場合)、そのどちらのパターンも満足させないといけません。1を雀頭してもいいし、4を雀頭としてもいいので、槓をした後も1と4の両方を雀頭にできるようでなければ行けません。つまり、
(1) 待ちが変わらないこと
(2) 牌の組み合わせ上、雀頭とみなされていないかどうか
の2つの条件で槓ができるかどうかがわかるでしょう。
ありがとうございます。
待ち牌のチェックに加えて、雀頭になりうる牌かどうかを
チェックすればよさそうですね。
向聴数をチェックするためのコード(とデータベース)もあるので、
それをなんとか利用できそうです。
依然として待ちの変化でいけると思いますが。
嵌張の2と、両面の2・5、そして単騎の3から、両面の2・5、そして単騎の3に変化してますよね。
結果の見た目は同じですが、プログラムで容易に見分けられるのではないですか?
回答ありがとうございます。
内部的に「ある牌が当たり牌であるかどうか」の判定コードはあるのですが
「それが両面・嵌張・辺張・双ポン・単騎のいずれであるか」のコードは
加符点と平和の判定のところにしか組んでいなかったので
そこのところを改良する必要がありそうです。
ありがとうございます。
待ち牌のチェックに加えて、雀頭になりうる牌かどうかを
チェックすればよさそうですね。
向聴数をチェックするためのコード(とデータベース)もあるので、
それをなんとか利用できそうです。