#1 React.js でプログラミング・プラモデル Vol.3 「BlackJack」:BlackJack のルールを知る
今回のタスク
・BlackJack のルールを知る
BlackJack って?
BlackJack はトランプを使用するカジノゲームの一つです。
ジョーカーを含めない 52枚のカードでプレイします。
プレイヤーとディーラーがいて、ハンド(手札)の合計が 21 に近づくように、ただし 21 を超えないようにカードを引いていきます。
ハンドが決まったら、両者の数字を比較して 21 に近い方が勝ちというシンプルなゲームです。
1対1、オプションなし、賭け要素なし
・BlackJack は複数のプレイヤーが参加できますが、今回はプレイヤーは1人だけとします。
・カジノゲームですから普通はお金を賭けて勝負をしますが、今回は賭け要素はありません。
・ハンドによってダブルダウンやスプリットなどの戦術オプションが使えますが、今回は HIT, STAND のみとします。
用語集
・HIT(ヒット):山札からカードを1枚引く
・STAND(スタンド):「もうカードは引かないよ」という意思表示
・BUSTED(バースト):カードの合計が 21 を超えてしまった状態
・PUSH(プッシュ):引き分け(両者のハンドの合計が同じ)
・スート:カードのマーク
・ランク:カードの数字
・アップカード:表向きのカード
・ホールカード:裏向きのカード
・フェイスカード:絵札
・ハンド:手札
・ソフトハンド:A を 1 または 11 のどちらで数えても 21 を超えないハンドのこと
・ハードハンド:ソフトハンドとは逆に、一つの数え方しかできないハンドのこと
カードの数え方
BlackJack のカードは基本的にランクの数字通りに数えますが、以下の例外があります。
・A:1 とも 11 とも数えてよい。どちらで数えるかは自分の都合のよい方で OK。
・J, Q, K:全て 10 と数える
ゲームの流れ
1. カードを配る
2. プレイヤーのアクション(HIT or STAND)
3. ディーラーのアクション(HIT or STAND)
4. 勝敗を決める
カードを配る
プレイヤー、ディーラーの順に2枚ずつカードが配られます。
プレイヤーのカードは両方とも表向き(アップカード)で配られ、ディーラーは 2枚のうち 1枚が裏向き(ホールカード)で配られます。
以下、実際に作成するアプリのイメージ画像です。
プレイヤーのアクション
カードが配られたらゲーム開始です。
プレイヤーは自身のハンドの合計が 21 に近づくように、ただし 21 を超えないように、HIT していきます。
もうこれ以上は引けないと思ったら STAND して、「もうカードは引かないよ」と意思表示をします。
ディーラーのアクション
プレイヤーのアクションが終わったら、ディーラーはホールカードをオープンして自身のアクションをします。
ディーラーは、カードの合計が 17 以上になるまでカードを引き続けます。
ディーラーには意思はなく、このルールに従うのみです。
「Dealer must stand on all 17’s」を採用します
ディーラーはカードの合計が 17 以上になるまで引き続けると書きましたが、カジノによっては「ソフト17」の場合は例外的にカードを引くとしているところがあります。
ここではソフト17 の場合でも必ず STAND する「Dealer must stand on all 17’s」のルールを採用します。
勝敗を決める
両者のハンドが決まったら、勝敗を決めます。
前述の通り、ハンドの合計が 21 に近い方が勝ちです。
例外ルール
ここまでで BlackJack ゲームの基本的な流れについてご紹介しました。
ここからは例外ルールを2つご紹介します。
最強の手、BlackJack
最初に配られた 2枚のカードが A と 10(10, J, Q, K)の組み合わせだった場合、そのハンドは BlackJack という最強の手になります。
プレイヤーとディーラーのどちらかに BlackJack ができていた場合、そのターンはそこで終了し BlackJack ができていた方の勝ちとなります。
両者ともに BlackJack の場合は PUSH となります。
プレイヤーがバーストしたら無条件でディーラーの勝ち
プレイヤーが HIT したことでバースト(21 を超えた)した場合、無条件でプレイヤーの負けとなります。
その他のルール①:デッキは 52枚×3 の156枚とします
その他のルール②:山札からある程度カードを引いたらシャッフルする
BlackJack ゲームでは、A や 10 のカード(10, J, Q, K)という特殊なカードが多いです。
なので極端な話、引いたカードを全て覚えてしまえば次のカードが予測しやすくなります(普通の人ではなかなか難しいですが)。
この対策として、ある程度カードを引いたらカードをシャッフルして仕切り直します。
今回は、80% カードを引いたらシャッフルします
この「どのくらいカードを使用したらシャッフルするか」の目安を Penetration といいます。
「Penetration 80%」と言えば、124枚ほど使用したらシャッフルされるということになります。
「124枚ほど」という表現は曖昧ですね。プログラム的には 156×0.8 = 124.8 となるので、小数点以下は切り捨てて「124枚使用したら」とします。
参考
BlackJack ゲームのルールを学ぶにあたり、以下のサイトを参考にさせて頂きました。
どこよりも詳しく、わかりやすかったです!
次回
今回は、BlackJack ゲームのルールを確認しました。
次回の内容ですが、実はまだ決めかねています。
アプリの仕様をもう少しきちんと把握しておくか、さっさと作り始めてしまうか。
続報をお待ち下さいm(_ _)m
この記事があなたのお役に立ちましたら、よろしければサポートをお願いいたします! より良い記事をお届けできるよう、活動費に充てさせていただきます。