Adsense

2018年1月20日土曜日

Spring Statemachineを使ってドラクエ11のポーカーを自動プレイするプログラムを作ってロイヤルストレートスライムを出すまでの道のり 第8回(最終回)

さて、前回の最後で気づいてしまった事実、それは・・・。

「ロイヤルストレートスライムってジョーカーが含まれていても成立するんですね。」

ロイヤルストレートフラッシュとかだと、ジョーカーが含まれていると成立しないものだと思っていました。実際のところは、成立するルールもあれば、成立しないルールもあるらしいですね。

で、なぜ気づいたかというと、前回のブログを書いているときに横で自動実行ツールを走らせていたのですが、長いファンファーレが鳴り始めたので何事かと画面を見てみたら、たまたまジョーカー入りのロイヤルストレートスライムが成立していたのです。

しかし、今のツールはジョーカー入りをロイヤルストレートスライムとは認識しないため、ツールを終了せず、そのままダブルアップチャンスに突入し、1回目であっさり敗北しました・・・。

ジョーカー対応

最後にジョーカーを含めてロイヤルストレートスライムを認識するようにツールを改造することにします。

・・・2行追加するだけで対応できてしまった。

本当なら、改造の様子をこのブログで紹介しようと思っていたのですが、特に書けるようなことはありませんでした・・・。

というわけで、ツールのバージョン1.1.0.RELEASEからジョーカーもロイヤルストレートスライムのカードとして認識されるようになっています。


前回は10時間以上かかりましたが、今回は2時間程度であっさり出てくれました。やっぱりジョーカー入りで確率がかなり上がったからだろうか?

ダブルアップチャンス継続/停止対応

もう一つやりたいと思っていたことは、役が成立したときにダブルアップチャンスを断って時間短縮する改造です。

これについては、実はプロトタイプをすでに実装しており、動作も問題なく動いている所まで来ていますが、細部を詰める気力がなくなってしまったので、そのまま放置してあります。

ご興味があれば、GitHubのdoubleup_chanceブランチにコミットされていますのでご参照ください。

やっぱり気になったので、実装してmasterに取り込みました。1.1.0.RELEASEから利用可能です。

デフォルトではダブルアップチャンスに挑戦しますが、設定で断ることが可能です。
なお、ダブルアップチャンスを断る場合は、ダブルアップチャンスの挑戦選択時のダイアログとメッセージのキャプチャを取る必要があるため、準備は少し大変になります。

詳細はREADMEを御覧ください。

本当に終わり


というわけで、最後は尻切れトンボみたいになってしまいましたが、これにて本当の本当に終わりです。

Spring Statemachineはなかなかおもしろいプロダクトなので、状態遷移の考え方を使いたいなら使ってみると良いのではないでしょうか。

ホント、つかれた・・・。

0 件のコメント:

コメントを投稿