トランプのゲームをプログラムで作ってみよう

トランプ

トランプは、カードゲームをするためのカードです。
ほとんどの人は見たことがあると思います。
日本語ではトランプといいますが、英語圏では“Cards”又“Playing Cards”で通じます。
マーク4種各13枚の計52枚 (+α) を1セットとするタイプのものを指して言うことが多い
トランプのマークは、英語では“Suit”といいます。日本読みだとスート?
スートは、♥♦♠♣(ハート、ダイヤ、スペード、クラブ)の4種類でです。
数字は、A, 2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, Kの13種類+JOKERがあり、ゲームよってそのカードの持つ重みは様々。
よくあるのは、A=1, 2~10,J=11, Q=12, K=13、として数えるパターン。

ゲームの種類 

著名なトランプゲームに以下のようなものがある。
どんなゲームなのかは、自分で調べてみよう。

などなど。

どれを作ろうか?

なんかルールが単純なので(ほんとは複雑だけど)ブラックジャックにしようと思います。
ググってみるとプログラミングの練習でブラックジャック作りがち。
というあるあるがあったりなかったりしたので、などの理由でブラックジャックにします。

ブラックジャック

ブラックジャックでは、カジノで行われるカードゲームで、ディーラー(親)の手役と、プレイヤー(自分)の手役で勝負を行うルールです。 今回は簡略化したルールでブラックジャックのプログラムを作ってみよう。的なことをやっていきたいと思います。

ゲームの流れ

今回は簡略化して以下のようにゲームを進めようと思う。

  1. プレイヤーと親に2枚ずつカードが配られる
  2. プレイヤーは、自分のカードを見て以下の選択を考える
    • スタンド:カードを引かず、現状で勝負する
    • ヒット:カードを1枚引いて手札に加える
  3. プレイヤーがスタンドを選んだら親も同じようにカードを引くかの選択をする
  4. プレイヤーの点数と親の点数で勝敗を決める
カードの得点

カードの得点は以下の図のように数える。

Fig. 1: カードの得点の数え方
絵札は10点で数え、Aは21点を超えるまでは11点、超えたら1点として、プレイヤーの有利な方で数える。