« 2005年4月 | トップページ | 2005年6月 »

2005/05/30

河底撈魚の処理作成とかイロイロ

河底撈魚の処理、ラスパイを鳴けないようにする。残りツモが4つ無いときはリーチできないようにする。ソースの修正など細かい作業実施。

この後まずは、
- 槍槓見逃しをフリテン扱いに
- 途中流局の処理

の2つをやっていく。そのあと、

その後は、一旦ソースコードの整理をしたら、次の順で進めて行く予定。

半荘単位でのゲーム進行。
ベタオリのアルゴリズム。
鳴きのアルゴリズム。(門前和了へ向かうアルゴリズム修正)
効果音追加。
リーチ、ポンチーの時の台詞を吹き出し形式で表示
手出しツモギリ表示etc
得点表示ダイアログの修正(和了牌とドラの表示を追加)

の順で作業を進めていきたい。

総ステップ数:8596

| | コメント (2) | トラックバック (0)

2005/05/27

うまい人と下手な人の振込みの差

途中流局とか、まだやらねばならないことがあるのだけれど、脳内ではベタオリアルゴリズムについて考え中。

うまい人と下手なひとで、どの程度振込みに対する警戒度が異なるか知りたかったので、東風荘のログで超ランのログと上ラン(一部下ランデータあり)でどの程度ツモ上がりとロン上がりの比率にどの程度差があるか調べて見た。

====================================================
リーチ和了
        ツモ  ロン   ロン/ツモ比率
超ラン    2630  3628  1.379
上ラン以下  4431 7423 1.720
単なる統計誤差で本当は差がない可能性 0.0000000037%

2フーロー以上和了※
          ツモ  ロン ロン/ツモ比率
超ラン      960 2060  2.146
上ラン以下  1836 4474 2.436
単なる統計誤差で本当は差がない可能性 0.79%
※ポンしてから加カンしただけでも2フーローしたと見なしてます。

1フーロー和了
          ツモ ロン ロン/ツモ比率
超ラン      652 1663  2.551
上ラン以下  1539 4378 2.845
単なる統計誤差で本当は差がない可能性 4.68%

面前ダマ和了
       ツモ ロン ロン/ツモ比率
超ラン     1120 2291 2.046
上ラン以下  1837 3747 2.040
単なる統計誤差で本当は差がない可能性 95.1%

リーチ七対子和了
       ツモ ロン ロン/ツモ比率
超ラン      58   123   2.121
上ラン以下 118   325   2.754
単なる統計誤差で本当は差がない可能性 17.3%

=======================================================

面前ダマについては、超ランの人も上(下)ランの人もほぼ警戒していないけど、2フーロ、リーチについてはかなりの差がある。

また、個人的に意外だったのは1フーロの時。
正直、超と上で差が出ると思ってなかった。
しかも、なぜか面前ダマより1フーロして和了したケースの方が超ランでも振込み率が高い。
面前ダマのときは、形式聴牌にとって、手替わりを待ってるケースがあるため、出あがりが出来ないケースが結構含まれているのかもしれないけれど、いまいちよく分からん。

ちなみに私の超ランでの放縦率は14.0%前後(第2で300試合程度)。超ラン平均よりほんのちょっとましだけど、一流の雀士たちには大差をつけられてる。殆ど仕掛けに無警戒なのが原因なんだろうな…

| | コメント (0) | トラックバック (0)

2005/05/18

嶺上開花の処理作成

嶺上開花の処理を作成。
ここのところ、行き当たりばったりの修正を繰り返したのでかなり迷走した。
1局のゲームを進めるに当たっての大きな枠組みはほぼ出来つつあるので、ここらで一旦ソースを整理しておく予定。
それと、製品として売られている麻雀ゲームや他のフリーソフトの麻雀ゲームを試してみた。
さすがにどれも良く出来てます。特に演出面。なんか、自分の作ってるのがみすぼらしくて惨めになってきた。orz

総ステップ数:8562

| | コメント (0) | トラックバック (0)

2005/05/15

そういや嶺上開花もまだだった

槍槓の処理作成。I/Fを変更したので、かなりプログラムのあちこちに手を入れる羽目になってしまった。修正中結構バグを出したけどとりあえずはすべて修正できただろう。明日から嶺上開花の処理を作成する。

| | コメント (0) | トラックバック (0)

2005/05/14

小明槓作成完了

加槓の処理作成完了。ただし、まだ、槍槓の処理が無いので、そこから作る予定だが、結構イロイロな箇所を修正しないといけない。しかし麻雀を考えた人は、よくもまあ、面倒くさいルールを考えたものだと思う。無くてもいいジャン槍槓なんてと思ってしまう。
総ステップ数:8506

| | コメント (0) | トラックバック (0)

2005/05/11

ちょっと寄り道して

次は小明槓 の作成処理だがちょっと寄り道。モンテカルロ式のアルゴリズムで打牌を決定する方法がゲームに組み込めるかどうかを検討してみた。ここでいうモンテカルロ方式とは、要するに、今の手牌に流局までの回数分ランダムに牌を加えていって(この時点では牌を捨てないで多牌状態にしておく)その状態で和了形になっている形を抜き出すことで必要牌と不要牌の点数付けを行なう方法のこと。
この方法は過去に2ちゃんねるの麻雀板で実験している人がいた。その人が作ったプログラムはEXCELのシートで動作するVBAだったこともあり、とてもゲームに組み込める処理時間内には終わらなかった(10分以上かかっていた)。
C++で書いた場合どうなるか、果たしてゲームに組み込めるだけの速度が出せるのか?
もし可能なら今のアルゴリズムの欠点である向聴数が変わらない手変わりの考慮についてある程度解決するかもしれない。すでに今まで作ったプログラムのパーツを組み合わせれば作れるのでテストプログラムを作ること自体は簡単。気になっていたので簡単にテストプログラムを作ってみた。

結果としては、ゲームに組み込めるだけのスピードは出せなかった。ランダムに処理するため、ある程度の試行回数(5000回程度)は繰り返したいのだがさすがにその回数を1秒以内に処理することは難しそう。
手変わりを考慮するアルゴリズムについては別の手段を考えないといけないだろう。
まだ、いくつかアイディアはあるのでまた時期を見てためしてみたい。

| | コメント (0) | トラックバック (0)

2005/05/08

暗槓の処理作成

暗槓するパイを選択する処理部の作成完了。
ちなみにスクリーンショットで白や東が牌が5枚あるのはデバッグ用に配牌を操作しているため。
明日からは加槓(小明槓 )の処理を作成する。

ankan2

総ステップ数:8471

| | コメント (0) | トラックバック (0)

2005/05/05

暗槓、加槓処理作成準備中

暗槓と加槓処理の処理作成の準備としてGUI部とロジック部の間の橋渡し役のクラスを修正した。
今回修正した箇所以外も、当初の目論見とはずれてしまったために、プログラム的に見苦しい箇所があるのだが、あまり気にしだすとキリが無いから今は修正するのはやめておく。

総ステップ数:8388


| | コメント (0) | トラックバック (0)

2005/05/03

麻雀の細かいルールが良く分からん

カンドラの処理を作成。チーする牌の選択で、同じ種類の牌が2つ以上あった場合に左側の牌しか選択できなかった問題を修正。それと、ロンできるときにロンせずにポン/チー/カンするときの操作を修正。

ところで、麻雀の細かいところのルールが良く分からなくて困る。
大明槓して嶺上牌をつもったときに暗槓 した場合。カンドラのめくり方はどうなるのか?とか
明槓したときの槍槓の見逃しはフリテン扱いなのか?また自分が明槓 した牌もフリテン扱いになるのかとかよく分からない細かいことが多い。何か細かいところまで定めた統一的なルールブックってないものなのだろうか。。。

総ステップ数:8303

| | コメント (2) | トラックバック (0)

« 2005年4月 | トップページ | 2005年6月 »