*All archives* |  *Admin*

<<09  2017/10  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31  11>>
一人麻雀計算機制作計画その2・有効牌の計算
昨日はシャンテンチェックまでできたので、今日は有効牌の計算について。

新しい牌を引いたときにシャンテン数が下がるかどうかを見るだけなので、そんなに難しくはないですが、
今後一人麻雀をするときに呼び出しまくる関数なので、少しでも省力化をしたいところです。

具体的には
・メンツ手は±2の距離に関連牌がなければシャンテンチェックをスキップする。
・チートイ手は手持ちが6種類以下(3枚持ち4枚持ちが多くて、新たに孤立牌を引かないといけない状況)を除き、1枚持ちの牌だけをシャンテンチェックする。
・国士手はヤオ九牌のみをシャンテンチェックをする。

特に処理時間を食うのがメンツ手なので、その部分を特に省力化したいのですが、これ以上改善するのは厳しいか?
その色の枚数が3の倍数だったらシャンテン進むことはないとしてシャンテンチェックをスキップできるか?
いや、113sの時で1sと2s引きでシャンテン進むからふつうにだめだな。

というわけで、がりがりーとコード書き―の、ちょっと動かしてバグ取りをしーので一応できました。

以下はテストの軌跡。
161027-01.png
今のところは不正解は出てないのでだいじょうぶそうです。

次は上がり時のメンツの切り分けと符計算と手役判定と得点計算か。
まだまだ始まったばかりで難易度的にぬるいですが、これからたくさんコードを書かないといけない。
ぼちぼちやっていきましょう。
スポンサーサイト

コメントの投稿

Secret
(非公開コメント受付中)

コメント

プロフィール

nisi5028

Author:nisi5028
FC2ブログへようこそ!

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
FC2カウンター
フリーエリア
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード