オンライン麻雀ゲームを1人で開発してみた:対局十二日目
どうも、僕です。
今日は上がり判定と役判定のテストをしました。
20万対局分のテストをアプリに流して、問題なく動作しました!
上がり判定は、何回かアルゴリズム変更しました。
麻雀は上がり形のパターンを全部取り出して、全てのパターンの中で一番点数が高いものを採用します(高点法)。でもこれを総当たりでやると、とんでもない数をやらなければならない場合が出てきてめちゃ重いです。
最初は、雀頭候補を全て取り出して、それから順子 ⇨ 刻子と、刻子 ⇨ 順子で面子を抽出するようにしてたんだけど、これでは対応できないパターンがあった。
だから、上がり牌が絡む順子を先に取り出すパターンと、刻子を一つ取り出すパターンを追加してみたら、20万対局テストしてエラーが出ないようになった。まー20万対局分の負荷テストに耐えたならもう大丈夫だよね。。。
次は山のアルゴリズムを書こうかな。この部分は、世の中に公開しないといけない部分だし。不正(課金者が有利になるなど)とかする気は全くないから、ちゃんとアルゴリズムと牌譜は公開する予定です。
牌譜の仕様ってどれがいいんだろうなぁ。。。まーそんなに成熟した分野じゃないし、独自仕様でもいいと思うけどね。むしろ戦略的にはそうした方がいいと思う。
1ヶ月でゲームとしてちゃんと形にするぞ!