TDD Boot Camp Tokyo for C++ 2014-01 課題

1,628 views

Published on

TDD Boot Camp Tokyo for C++ 2014-01 で使用した課題です。ブラックジャックを作ります。
反省点としては、課題2以降が抽象度を上げすぎたので、もう少し具体化しておいたあげた方が良かったなぁと思いました。

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,628
On SlideShare
0
From Embeds
0
Number of Embeds
61
Actions
Shares
0
Downloads
9
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

TDD Boot Camp Tokyo for C++ 2014-01 課題

  1. 1. TDD Boot Camp Tokyo for C++ 2014-01 課題 @imagire
  2. 2. 課題の進め方 • ペアプログラミング – Aさん:実装 – Bさん:先の実装方法を考える(あげあし取りで は無い) • 課題の小項目をクリアしたらペアの内容を 交代してください • 課題が終わったら、次の課題を取りに来て 下さい • 最初に自己紹介しましょう
  3. 3. お題説明: ブラックジャック • ディーラーは2枚のカードを配る – プレイヤーには2枚のカードを表向き – ディーラーには一枚を表向き、もう一枚を裏向き • 配られた後でプレイヤーは行動を選べる – ヒット:追加で引く(何枚でも引ける) – スタンド:行動終了 • プレイヤーの合計値が確定した後ディーラーが引く – 合計値が16以下である限り、追加でカードを引く – 合計値が17以上の場合はカードを引くことができない • カードの合計値が21に近い方が勝ち – – – – – 「2」~「10」は、その数字をそのまま数える 絵札は10として計算 Aは1としても11(ソフトハンド)としても計算できる 合計値が21を超えた時点(バースト)で負け 同じ数の時は引き分け
  4. 4. 課題1: 得点計算 1-1. 2~10は、数字をそのまま数える 1-2. 絵札(J, Q, K)は、10として計算 1-3. 複数枚の合計値を数える 1-4. Aは、1か11として数える なるべく21を超えない21に近い値として計算
  5. 5. 課題2: プレイヤー 2-1. プレイヤーには最初にカードが2枚配られ る 2-2. プレイヤーは、ヒットすることでカード を追加でもらうことができる 2-3. スタンドを選択すると、プレイヤーは ゲーム終了まで何もできない 2-4. プレイヤーのカードの合計値が21を超え ると負け(バースト)
  6. 6. 課題3: ディーラー 3-1. ディーラーには最初にカードが表裏一枚ずつ 配られる 3-2. プレイヤーが行動を終えると、ディーラーの 裏のカードが表向きとなる 3-3. ディーラーは、カードの合計値が16以下の 場合は、引き続けなくてはならない 3-4. ディーラーは、カードの合計値が17以上の 場合は、それ以上カードを引くことができない 3-5. ディーラーのカードの合計値が21を超えた 場合はディーラーの負け(バースト)
  7. 7. 課題5: あそぶ 5-1. ユーザーの入力によって、ゲームをプレ イしてみよう
  8. 8. 課題6: ブラックジャック • ルールの説明が足りていませんでした – ブラックジャック:合計値が21の場合に、 Aと「10」または絵札の組み合わせが最も強い 課題6-1. 所持カードがブラックジャックか判 定する 課題6-2. 勝敗にブラックジャックを考慮する
  9. 9. 補題A: AIプレイヤー A-1. AIプレイヤーはAを1と数えた場合に、17 点以上あれば常にスタンド、11点以下では 必ずヒットする A-2. ディーラーのアップカードが3~6の場合 は12点以上、16点以下でもスタンドする A-3.ディーラーのアップカードがAや7以上の 場合は積極的にヒットする
  10. 10. 補題B: オッズ • ルール – 最初にプレイヤーが掛け金を賭ける – 最後に賭け金を清算する • プレイヤーがバーストした場合は、賭け金を没収 • ディーラーがバーストした場合は賭け金の2倍を受け取る • プレイヤーがブラックジャックで勝った時には、賭け金の2.5倍 が戻る B-1. プレイヤーがバーストした場合には賭け金没収 B-2. プレイヤーがブラックジャックで勝った時には、 賭け金の2.5倍が戻る B-3. プレイヤーがブラックジャック以外で勝った時に は、賭け金の2倍が戻る
  11. 11. 補題C: マルチプレイヤー B-1. 複数人でも遊べるようにしてみよう

×