Little Strange Software

スマホアプリの開発を行う LittleStrangeSoftware のブログです。

昨日のゲームについて色々考えてみました

 どうも!LSSです!!

 

 昨日の記事にあげたゲーム、勝率を上げる方法はあるのか、それとも完全な運ゲーなのか…と、ずっと考えていましたw

 

 

一番勝利数が多くなるパターン

 

 これは簡単です。

 敵のAに対してこちらは2、敵の2に対してこちらは3、と、敵の出したカードより常に1だけ大きいカードが出せて、敵のKに対してこちらのAを当てれば12勝1敗。

 これが最高のパターンになります。

 

 逆に言えば「一番、相手にやられたくないパターン」でもあります。

 

 

ならば、防衛策として…

 

「一番、相手にやられたくないパターン」を防ぐ方法は…あります!

 一番最初の回で敵が例えば8を使ったとしたら、もう敵の手には8が無いので、次の回に自分は7を出す。

 

というように、「敵の使用済カード-1」のカードを出していけば、「最悪のパターン」になる事は回避できますね^^

 

 

別案:全てのパターンから確率を割り出す

 

 これが一番、堅実に答えを導きだせそうです。

…なんですが、「互いに13枚のカードを出す順番の全てのパターン」を割り出そうとすると…

13*12*11*10*9*8*7*6*5*4*3*2*1*13*12*11*10*9*8*7*6*5*4*3*2*1通りの組み合わせが考えられる事となり、
6,227,020,800通り(62億2702万800通り)の二乗、約3877京!?という途方もない数になってしまいます^^;;;

 

 

カードの枚数を減らして考えてみるという手

 

 13枚という大きい数なのでパターンが増えるのであって、これがもっと小さい数で考えて、大きい数でも同じ考え方ができるなら…?と考えてみました。

 

1枚の場合…お互いにAとAでドロー、という1通りの結果しか出ません。

 

2枚の場合…Aと2、2とAで一勝一敗でゲームが終わるか、AとA、2と2でドロー2の引き分けでゲームが終わるか、しかなく、これも勝負がつく事はありません。

 

3枚の場合…これは勝敗が分かれそうです!
パターン数でいっても、3*2*1*3*2*1の36通り、と「考えられなくもないパターン数」ですね^^

※3/10追記!昨日のゲーム に 枚数変更機能を追加しました!

 

3枚勝負の場合のパターン表

 

勝ち 負け 引分 最終勝敗
A A 2 2 3 3 0 0 3 引き分け
A A 2 3 3 2 1 1 1 引き分け
A 2 2 A 3 3 1 1 1 引き分け
A 2 2 3 3 A 1 2 0 敗北
A 3 2 A 3 2 2 1 0 勝利
A 3 2 2 3 A 1 1 1 引き分け

 

…手動で書いてみましたが、「自分が『A、2、3』の順で出した場合」のパターンだけで力尽きました^^;;;;;

 

が、これで見た場合、
「唯一、勝利するのは自分のAに敵が3を当ててきて、その後、自分の出した数が敵の出した数+1をキープできた場合」となる事が確認できました^^

 

 すると前述の「防衛策」が有効そうな気がしますが…実際のとこ、どうなのか、どう考えるべきなのか、頭が回りません^^;
※それこそJavaScriptでシミュレートして1万回ぐらい勝負して勝率を確認するか?w

 

 

てなとこで、今回はこのへんで! 

 次回もまた、よろしくお願いします^^