prg-lang-2 / final / BlackJack
README.md

BlackJack

エスケープシーケンスを利用し、コンソールで遊べるブラックジャック

実行方法

cd final/BlackJack
make BlackJack
./BlackJack
cd final/BlackJack/combine
python combine.py
make BlackJack
./BlackJack

遊び方

入力は基本的に数値かアルファベット一文字です。(H)it と選択肢が表示されている場合は H か h を入力してください。

  • はじめに初期値チップが与えられます。(初期設定で 10000)
  • 自身のベット額を決定します。(初期設定で 100~10000)
  • 手札が配られます。
  • 自身の手番が来たら手番が終了するまで行動を繰り返します。
  • ディーラーがカードをオープンします。
  • 勝敗によって配当金が分配されます。
  • 再びゲームを行うか終了するかを決めます。

ルール

  • ブラックジャックのルールに関しては下記サイトを参考にしてください https://bright777.com/rules_blackjack
  • 複数のプレイヤーがプレイ可能(1 人以上、合計プレイヤー数以下)
  • プレイ開始時に各プレイヤーの名前を入力
  • 取れる行動は下記
    • Hit
    • Doubling Down
    • Splitting Pairs
    • Surrender
    • Stand
  • Split は1度のみ可能
  • 配当は BlackJack の場合 bj_rate倍、その他は 1 倍

設定

config.txtを編集する。

Game の設定

  • player_count: プレイ可能なプレイヤー数(1 人以上)
  • bot_count: Bot の数(0 以上、プレイヤーと合計で 4 人まで)
  • init_chips: 初期チップ
  • min_bets: 最低のベット数
  • max_bets: 最高のベット数
  • bj_rate: BJ 時の配当レート(1.5 の場合 1.5 倍(3to2)の配当)

Bot 戦略の設定

  • bot_double_down_min: ダブルダウンする手札の最小値 (デフォルト: 9)
  • bot_double_down_max: ダブルダウンする手札の最大値 (デフォルト: 11)
  • bot_double_down_rate: ダブルダウンを選択する確率(%)(デフォルト: 75)
  • bot_hit_soft_rate: 手札が 12 以下の時にヒットする確率(%)(デフォルト: 80)
  • bot_hit_middle_rate: 手札が 13-16 の時にヒットする確率(%)(デフォルト: 40)
  • bot_hit_hard_rate: 手札が 17-18 の時にヒットする確率(%)(デフォルト: 10)

なおサレンダーは手札が 16 でディーラーの表カードが 10 以上または A の場合に常に選択されます。