ちょっとやる気でた
ライブラリ作成中。
ライブラリ作成中。
何もしてません。。。
なんか2chのスレのほうはえらく盛り上がっていて、内容はともかく楽しそうです。
ついでに駄メモ。
向聴数を求める場合などに、はじめに雀頭候補のリストを作って、それらを手牌から取り除き、残り牌の評価を比較する、というような処理をする。
この雀頭候補のリストの作成では、次の3つのパターンがある。
この3番のケースは、以下のような場合に必要になり、考慮から外すことは出来ないっぽい。
で、こういう場合に、とりあえず他の牌とは絡まない仮想の牌xを二枚引いてくるとして考えてみたいのだが、本当にそれでいいのか。もし他の牌と絡んでしまうなら、その後の処理で、雀頭として選択した牌を考慮に入れなくてはいけないのではないか。と思ったわけだ。
だから、あり得る全ての牌姿において、どの牌ともくっつかない牌が存在するなら、問題なく仮想の牌を使えるということ。
それは逆に言えば、どの牌を引いても必ずくっつく、という牌姿があるなら、それを考慮してやるか、その場合でも問題ないことを確認すればよい。
で、唯一考え付いたのが次の形
うむ、多分向聴数最低の手牌。
これ以外なら単独牌が必ず存在するはず、アンドこの形ならそもそも雀頭を新たに用意する必要は無いので、気にしなくて良いかな。終わり。
ダイナミックパブリッシングに対応した。
mjpkwk0.1.zip
追記;バグが見つかったので修正版をアップしました。
mjpkwk0.11.zip
ついでにPukiWiki用のプラグインに移植した。お試しはこちらでご自由にどうぞ。
ドキュメントは特になし。
てかPukiWikiのプラグイン初めて書いたし、そもそもPHP初めて触った。多分どこか変なので、自分の環境に入れる場合はおっかなビックり使ってください。
麻雀の牌を、wikiライクな記法で表示するMT用のプラグイン。
勢いだけで作った。今は反省している。
shantenプログラムとの互換性を意識したため、非常に汎用性の無い記法となっているです。
画像は麻雀素材まつセンさんで配布しているものを使わせていただきました。
で、早速このMTに使ってます。
コメントでも使えるので、適当にお試しください。
以下の牌姿
これは先に雀頭候補を抜き出してから計算すれば回避できる気がする。
これは面子多々の状況。分解結果の場合分けのミスと思われる。
・bruteモードを追加(308さんありがとうございます)
・ファイルを分割した
・9の槓子がある場合のバグを修正
・和了り判定の追加。
・配牌の作成で対子に偏る問題を修正
・ベンチマーク実行時に平均向聴数が表示されるようにした
・全てのルーチンの恥ずかしいL/R問題に対応した
向聴数を求めるプログラム。