麻雀対戦機 開発日記 2008年9月27日 向聴数計算アルゴリズム最近は、ちょくちょく麻雀対戦機のことを考えながら生活している私ですが、なかなか考えがまとまりません。 まずはすっきりとしたデータ構造を決めたいのですが、赤ドラとかチーとかポンとかを考えると、なかなかすっきりいきません。 それから、四人リーチすると流れるとか、カンが四つ入ると流れるとか、なにかと意味不明なルールがあって面倒になります。 ま、そうは言ってもとりあえずデータ構造を決めないことには始まりませんんので、引き続き考えていこうかと思います。 ただ、考えてばっかりだと、何もやっていない感がただよってくるので、ちょっと作業的なことをやってみました。 それが、向聴数を求めるアルゴリズム。 これは、一人麻雀練習機のサイトに昔書いた文章を修正したもので、内容は、プログラムで向聴数を求めるためのアルゴリズムの説明です。 よく考えれば誰でも分かる程度のことかも知れませんが、一から自分で考えるよりはこういう文章があった方が嬉しい人もいるでしょう。日本中で三人くらいの人には喜んでもらえるかと思います。 このアルゴリズムを使えば簡単に向聴数が求まりますので、聴牌チェックだとか、和了チェックとかが出来るようになります。 また、繰り返しこの関数を呼び出すことで、待ち牌の列挙だとか、向聴数を上げるための牌数のカウントだとかが可能になります。
今回、一人麻雀用に書いたこういったプログラムを、四人麻雀用に書き換えていく作業が必要なわけですが、向聴数を求めるだけであれば幸いにもほとんど修正がいりません。 点数計算については、チーとかポンが入った場合は微妙に計算式が違ってきますので、結構な修正が必要になるでしょう。
ちなみに、今日・明日はF1のシンガポールグランプリ。モナコと同じような市街地コースを使い、しかもナイター開催を行うということで、ちょっと楽しみです。
|
Copyright 2006-2019 あらの(一人)麻雀研究所 All rights reserved. あら ( ara999 あっと gmail.com ) |