BLACK JACKの作成 • ブラックジャックのルール • 概要 • 勝敗の判定 • 開発中の問題点 • Aの扱いについて • 配り直し(DEAL) • 工夫した点 • コンピュータの思考 • 課題点 ブラックジャックのルール ・カードを二枚づつ配り、 1枚目は伏せる。(DEAL) ・子から数字が足して21に 近づくように山からカードをひく。(HIT) ・21を超えたら負け(BURST) ・HITし終えたら勝負(STAND) ・互いにオープンし、数字が21に近いほうが 勝ち! 特殊ルール • ただし、JACK,QUEEN,KING,は10とし て計算する。 • また、Aはプレイヤーの意思で1と11を 選択可能。 • 子が手札が5枚になって21以下の時は 5カードで、勝ちとする。 概要 • JAVAでBlackJackをプ ログラミングした。 • 実際に人を相手に ゲームをしている感覚 に近づくようにした。 勝敗の判定 • • • • • • 以下の順に判定する。 プレイヤーが5枚カードを持っていて、21以下 ならプレイヤーの勝ち プレイヤーが21を超えたらプレイヤーの負け COMが21を超えたらプレイヤーの勝ち プレイヤーがCOMより数が多ければ勝ち 同じ時は引き分け 少ない時はプレイヤーの負け 開発中の問題点 Aの扱いについて • 基本的には11として 計算する。 • 手札の合計が21を超 えてしまった時はAを 1として考える。 • 複数Aを持っている時 は先に引いたカードを 1とする。 配り直しについて • 変数宣言の場所が問 題だった。DEALボタ ンを押すたびに、すべ ての変数を初期化し なくてはいけないので、 ローカル変数を気軽 に宣言できないことが わかった。 工夫した点 コンピューターの思考回路 • まず、自分のカードの 合計が15以下の時 は、黙って引く。 思考回路2 明らかにプレイヤーが強いとき • プレイヤーのカードの見えてる部分(2枚目以 降)の合計が11や10の時は、おおざっぱに 18以上ないと5割以上の確率で負ける。 • 見えてるカードが10のとき プレイヤーは19以上になっている確率が5割 以上なので、バーストを考えてもHITしたほう が得になる。 思考回路3 プレイヤーの手の推測 • 見えてる部分の合計 が同じ10や11でも、 HITの回数が少ない ほうが強いと推測でき る。特にHITなしでA が見えているときは18 では不安。 思考回路4 相手が弱そうなとき • プレイヤーの手の見 えている部分が7以下 の時は無理せず15 あったらSTAND。 • ただし、三枚見えてい る時は16がライン。 課題点 やりのこした事 COMの戦略性をもっと上げたかった。 COM、またはPLAYERを複数にした かった。 BETボタンがないと・・・
© Copyright 2024 ExpyDoc