Index

HOME > プログラムTOP > C++



DOSポーカー(1)

 DOS画面を使ったポーカーゲームです。対戦型ではなく、ポーカースロット風のゲーム方式です。ロジックの部分はどんな言語でも変わりませんので、応用すればフォームを持ったアプリケーションとしてつくり直すことも出来るでしょう。
 制作は"VC++7"ですが、"BC++5.5"でも動作を確認済みです。興味のある方は、ソースコードを全掲していますのでコピペなどして試してみるといいと思います。

sasaraan programming

Exposition

[1] ゲームの流れ

●初期画面 : 掛け金の入力

 上図がゲームを起動したときの画面です。タイトルと持ち金(初期値10000)を表示して、一回目の勝負にかける掛け金の入力をユーザーに求めています。ユーザーは持ち金の範囲で掛け金を入力してゲームがスタートします。

●一回目の配布

 最初の5枚を配布して現状での役を調べます。スペードとクローバーは青色、ハートとダイヤは赤色の文字で表示しています。DOS画面では標準16色の表示が可能です。
 そしてユーザーへの交換するカードの入力を求めます。番号は1から5で選択し、9で選択終了です。

●交換するカードの入力

 ユーザーが1から5までの番号を入力すると、カードの表示欄が"*"マークに変わります。5枚すべてが選択されるか9が入力されるまでこの画面で待機状態となります。上の図は、1番、2番、5番の三枚のカードを交換をユーザーが要求したところです。

●二回目の配布

 カードの交換はこの一回のみです。交換後のカードを表示し、役を調べ、配当を計算して表示しています。最後にゲームを続けるかやめるかのユーザー入力を求め、続ける場合は初期画面へ戻り、やめる場合はDOS画面を閉じるようにしています。ただし、持ち金がマイナスとなった場合は強制的にゲームは終了します。

[2] ポーカーの役について

 ポーカーの役を一通り記述しておきます。役は下へ行くほど弱くなります。オッズ欄は今回のゲームで設定した、掛け金に対する配当の掛け率です。役が成立すると、掛け金の倍数分の金額が配当されます。この部分を調整して難易度を変えることが出来ます。
名称英語名成立の条件オッズ
@ロイヤル *1Royal同じマークの"A・K・Q・J・10"が揃ったとき500倍
AストレートフラッシュStraight Flushストレートなおかつフラッシュで@以外のとき100倍
Bフォーカード *24 of a Kind同じ数字のカードが四枚あるとき50倍
CフルハウスFull Houseワンペアが一組とスリーカードが一組のとき30倍
DフラッシュFlushすべて同じマークのとき20倍
EストレートStraight数字が一つずつ順番に並んでいるとき *310倍
Fスリーカード3 of a Kind同じ数字のカードが三枚あるとき5倍
GツーペアTwo Pair同じ数字のペアが二組あるとき2倍
HワンペアPair同じ数字の組み合わせが一組あるとき1倍
IノーペアNo Pair *4上記のどれにも該当しないとき-1倍
*1 : 「ロイヤルストレートフラッシュ」または「ロイヤルフラッシュ」とも
*2 : ジョーカーを使った場合は「ファイブカード」も設定できる(強さは@とAの間)
*3 : エースハイといって、 "A","K","Q""J","10"の組み合わせでもよい
*4 : "High Card"とも

www.sasaraan.net

(c) morijoh