Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

1,892 views

Published on

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

Published in: Technology
  • Be the first to comment

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. 複数人でも遊べるようにしてみよう

×