Qiitaにプログラミング入門者からの卒業試験は『ブラックジャック』を開発すべしという記事があり、内容に共感したのでPythonでブラックジャックを開発した。
なお、開発したアプリケーションでは、記事中のルールに若干の変更を加えた。
- 初期カードは52枚。引く際にカードの重複は無いようにする
- プレイヤーとディーラーの2人対戦。プレイヤーは実行者、ディーラーは自動的に実行
- 実行開始時、プレイヤーとディーラーはそれぞれ交互にカードを2枚引く
- 引いたカードは画面に表示する。ただし、ディーラーの2枚目のカードは分からないようにする
- その後、先にプレイヤーがカードを引く
- プレイヤーが21を超えていたらバースト、その時点でゲーム終了
- プレイヤーは、カードを引くたびに、次のカードを引くか選択できる
- プレイヤーが引き終えたら、その後ディーラーは、自分の手札が17以上になるまで引き続ける
- プレイヤーとディーラーが引き終えたら勝負
- より21に近い方の勝ち
- JとQとKは10として扱う
- Aは1、または11として扱う
- ダブルダウンなし、スプリットなし、サレンダーなし、その他特殊そうなルールなし
- ゲームを何ゲームも続けられるようにする
- python: 3.8.0 以上
バージョン指定のないものは適宜依存関係を満たすバージョ