絵の表示例題-2

○3つのさいころによるポーカーゲーム

3つのさいころを使って簡単なポーカーゲームを作ろう。さいころの目は絵で表示すること。
#「bin\debug」フォルダの下に作ったサイコロの絵のファイルは、新しいプロジェクトにコピーしましょう。

※練習のため、個々の問題を別々のプログラムとして作成すること!
例えば(1)ができたら、別のプロジェクトにせず、別のボタンで(2)のプログラムを作成しよう。
勿論コードはコピー&ペーストを利用してから修正していけばよいわけです。


(1)3つのさいころを振って、それらの目(手)で役を競ってみましょう!


まず役は、「ワンペア」のみとし、役を表示するだけにしてみましょう。

3つのさいころの目は必ず絵で表示すること。
また役がでたら、その役の名前を表示しましょう(文字でも絵でもOK)。
なお、ワンペアとは、3つのさいころの内、いずれか二つが同じ目だったら(例えば3と3などで、もう一つは何でもよい)ワンペアとします。
もし3つとも同じでもワンペアはワンペアです。
またワンペアのような役が揃わなかった場合は、「ぶた」という役とします。

簡単な解説:
全てのさいころの目(1から6)の絵をPictureBoxに張り込んでおきます。また別の3つのPictureBoxを用意しておき、ここに3つのさいころの目に従って表示するようにしましょう。
判定ですが、どれか二つが同じならば”ワンペア”と表示するようにし、それ以外だったら”ぶた”と表示するようにします。


(2)役を増やそう!


「3カード」を追加しよう。

「ワンペア」だけでなく、「3カード」という役を増やしましょう。
「3カード」とは、3つのさいころの目全てが同じ目(例えば2,2,2など)になった状態を言います。
複数の役ができている場合、一番高い役を今回の役とします。ちなみに「3カード」は「ワンペア」よりも良い役とします。
よって 「3カード」の場合は「ワンペア」と表示してはいけません。


(3)コンピュータとの対戦!


自分の手とコンピュータの手で勝敗を。

今までは自分一人で遊んでいたが、コンピュータを相手に手の優劣を競わせましょう。
例えば、自分が「ワンペア」でコンピュータが「ぶた」ならば、「自分の勝ち!」のようにします。また自分が「ワンペア」でもコンピュータが「3カード」ならば、「コンピュータの勝ち!」となります。もし同じ役(ぶたを含む)ならば、「引き分け」とします。

よって、コンピュータの手も作ってあげる必要があります。つまりさいころは全部で6回振ることになりますね。
自分の手と、コンピュータの手のどちらが勝ったのかを判定し、どちらが勝ったのかを表示(文字でも絵でもOK)させましょう。


(4)勝てるかどうかを賭けられるようにしよう!

賭けといっても、単純に「勝つ」か「負ける」かに対する予想といった程度です。
例えば「自分が勝つ」と思った場合には「1」を、「負ける」と思った場合には「0」を入力し、予想が当たった場合には「当たり!」などと表示させる。
但し、引き分けの場合は、「勝負なし」とでもしましょう。勿論外れた場合は「はずれ」などと表示させましょう。


(5)もっと役を増やそう!


「ストレート」の追加。

「ワンペア」「3カード」よりも強い役として「ストレート」を増やしましょう。
「ストレート」は、3つの目が連番になっていることで、「1,2,3」でも「4,5,6」でもOKです。また目に順番はありませんので、「3,1,2」などもストレートです。


(6)さらに

どんどんと本物のポーカーに近づけていってみると面白いです。例えば役も、そして賭け方もきちんとできるとよいですよね。
なお、現時点では持ち金が増えたり減ったりするようにさせる方法は習っていません。

さいころではなく、トランプ(13まででハートなどの4種類のスートがあるもの)にすることも勿論できますが、「コントロール配列」を勉強してからの方がプログラムが簡単になります。他にも知っていた方が便利な文法などもあります。が、今までの知識でできないわけではありません。
それでもかなり複雑で非常に難しくなりますし、絵を描くのも大変ですね。
きちんとしたものは現時点では残念ながら殆ど無理に近いです。例えばトランプの場合は、ハートの2は1枚しかなく、同じカードをこちらとあちらに配ってはいけません。さいころの場合は全く問題がないのですが。。。
うまく工夫して自分なりの簡単にしたルールを考えて作るとよいとおもいます。
また簡単なものでも、自分で頑張って色々と考えて、色々と工夫して、自分の力で作れるようになることが大切です。


[「C班」プログラミング基礎のTopに戻る]