*All archives* |  *Admin*

<<04  2017/05  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  06>>
麻雀ゲーム・麻雀AI製作その5・他家棒テン即リー全ツッパAI
前回の続き。
今回はいよいよ他家の思考部分を実装したいと思います。AIっぽくなってきましたね。
まずは単純な思考(棒テン・即リー・全ツッパ)からです。

他家のAIの行動は、
・シャンテン数を下げられるor変わらずになる打牌候補のうち、1次有効牌の残ってる枚数(自分の手牌+場に出てる牌から数えた単純に見えてない枚数)がもっとも大きくなる打牌をする。
・1次有効牌の枚数が同じ場合は、オタ風→役牌→19牌→28牌→37牌→46牌→5牌→ドラの優先順位で打牌選択する。
・手役は全く見ない。聴牌したら即リーチ。
・他家リーチに対しても同じ思考のもと、全ツッパする。

いちおうそれっぽいのはできたので動かしてみます。
170129-01.png
他家は最初は孤立字牌から切っていきます。自手はまずまずか…。
170129-02.png
と思ってたらさっそく先制リーチが飛んでくる。また、濃い捨て牌ですなぁ。
170129-03.png
他家は全ツッパなので、一発で当たり牌の1sが出ました。
上がりの形と役と点数が公開で表示されます。
170129-04.png
それで実際に点数のやり取りをする、と。
170129-05.png
次局。幸先よく先制良形リーチを打てたが、親からの追っかけが来る。
(見やすさのためにリーチをかけた人の捨て牌が黄色く表示されるようにした。)

なんとか上がりを拾えた。
170129-06.png
東3局。2軒リーチがきたので、自分はベタ降りに回る。流局。
ノーテン罰符がやりとりされる。親聴牌なので、連荘。
170129-07.png
東3局1本場。リーチ一発ドラ4の横移動。トップが入れ替わる。

特に棒テンAIは良形を目指すとかいうのは入れてないですが、有効牌が一番多くなる打牌選択をするので、自然に良形塔子が残るようにはなってます。攻めに関する部分はそこまで人間が打つのとかけ離れてるということはなさそうです。
170129-08.png
東4局。リーチのみが裏裏で満貫!トップをまくってトップ終了、
170129-09.png
かと思ったら唐突に東4局1本場が始まり、
きれいにまくられるというオチがつきました。

試合続行条件がおかしかったのでこれは修正ですねー。

主目的が麻雀AIの製作用のゲームなので、グラフィックは皆無で、テストで動かしてもなかなか他家の捨て牌の情報が頭に入ってきにくいですねぇ。

次は自分鳴きに関するところですかね。
あと、やってないのはフリテン関係とか。
その後にベタ降りのアルゴリズムを入れて、(押すか引くかは現在のシャンテン数+押す場合に切ろうとしてる牌程度の単純条件にするつもり。)
その後に今の四麻計算機のアルゴリズムを本格的に入れるか、
それとも先に牌譜の出力機能と再生機能をやるか、
麻雀AIの対戦場に接続するコードを解読するのをやるか。
そのへんは気分次第で決めましょう。
スポンサーサイト

コメントの投稿

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

コメント

プロフィール

nisi5028

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

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

この人とブロともになる

QRコード
QRコード