華麗に立直を決めるのよ!

あ、あめみやゆりえです。このたび麻雀辞書を導入して用語の入力がしやすくなったのでご報告。萬緑叢中一点紅(わんりゅーつぉんちゅんいーてんほん)


・・・で、なんですか?
なんですかじゃないよね私から振っといて。
とりあえず自摸することはできるようになったんですけど、立直とか和了りもできないから、とりあえず立直と和了ったかどうかの判定だけでもできるようにするよ。今日これからプログラミングするつもりなのですが、その前にやり方を軽く書いておきます。


まず最初にやるのは、14枚の手牌の配列を、9*3+7の全体配列に枚数を登録していきます。
1112344566899なら、{3,1,1,2,1,2,0,1,2}のようにデータを変えます。
それで、各数字を起点にして、成立するパターンを調べます。各数字を起点にして成立するパターンは8種類


ABC(順子)
AA(対子)
AABBCC(順子順子)
AAA(刻子)
AAABC(対子順子)
AAAABC(刻子順子)
AAAABBCC(刻子順子順子)
AAAABBBBCCCC(順子順子順子順子)*これ役満


数字の場合は、12334のようなとき、123と34の組み合わせのほかに、最初の123(上のABCのパターン)を無視して、234と13という組み合わせもできるので、あえてどれも判定せずに無視するという9パターン用意しておきます。


字牌と、89の場合は以下の二つだけです。89が順子の起点になることはないので無視するパターンはありません。
AA(対子)
AAA(刻子)


1112344566899ならば、
1:AAABC,AAA,AA,ABC,IGNORE
2:ABC,IGNORE
3:ABC,IGNORE
4:AA,ABC,IGNORE
6:AA,IGNORE
9:AA

のようなパターンを作ります。上の8パターンがどれも成立しない5、8はパターンリストを作りません。
んで、さてこれをどう使うのか?
次回に続きます。