SlideShare a Scribd company logo

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

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

1 of 11
Download to read offline
TDD Boot Camp Tokyo
for C++ 2014-01 課題
@imagire
課題の進め方
• ペアプログラミング

– Aさん:実装
– Bさん:先の実装方法を考える(あげあし取りで
は無い)

• 課題の小項目をクリアしたらペアの内容を
交代してください
• 課題が終わったら、次の課題を取りに来て
下さい
• 最初に自己紹介しましょう
お題説明: ブラックジャック
• ディーラーは2枚のカードを配る

– プレイヤーには2枚のカードを表向き
– ディーラーには一枚を表向き、もう一枚を裏向き

• 配られた後でプレイヤーは行動を選べる
– ヒット:追加で引く(何枚でも引ける)
– スタンド:行動終了

• プレイヤーの合計値が確定した後ディーラーが引く
– 合計値が16以下である限り、追加でカードを引く
– 合計値が17以上の場合はカードを引くことができない

• カードの合計値が21に近い方が勝ち
–
–
–
–
–

「2」~「10」は、その数字をそのまま数える
絵札は10として計算
Aは1としても11(ソフトハンド)としても計算できる
合計値が21を超えた時点(バースト)で負け
同じ数の時は引き分け
課題1: 得点計算
1-1. 2~10は、数字をそのまま数える
1-2. 絵札(J, Q, K)は、10として計算
1-3. 複数枚の合計値を数える
1-4. Aは、1か11として数える
なるべく21を超えない21に近い値として計算
課題2: プレイヤー
2-1. プレイヤーには最初にカードが2枚配られ
る
2-2. プレイヤーは、ヒットすることでカード
を追加でもらうことができる
2-3. スタンドを選択すると、プレイヤーは
ゲーム終了まで何もできない
2-4. プレイヤーのカードの合計値が21を超え
ると負け(バースト)
課題3: ディーラー
3-1. ディーラーには最初にカードが表裏一枚ずつ
配られる
3-2. プレイヤーが行動を終えると、ディーラーの
裏のカードが表向きとなる
3-3. ディーラーは、カードの合計値が16以下の
場合は、引き続けなくてはならない
3-4. ディーラーは、カードの合計値が17以上の
場合は、それ以上カードを引くことができない
3-5. ディーラーのカードの合計値が21を超えた
場合はディーラーの負け(バースト)

Recommended

くじびきイテレーション
くじびきイテレーションくじびきイテレーション
くじびきイテレーションTakashi Imagire
 
実践的ふりかえり (SAPPORO CEDEC 2014)
実践的ふりかえり (SAPPORO CEDEC 2014)実践的ふりかえり (SAPPORO CEDEC 2014)
実践的ふりかえり (SAPPORO CEDEC 2014)Takashi Imagire
 
くじびきイテレーション for アジャイルサムライ横浜道場
くじびきイテレーション for アジャイルサムライ横浜道場くじびきイテレーション for アジャイルサムライ横浜道場
くじびきイテレーション for アジャイルサムライ横浜道場Takashi Imagire
 
TDD Boot Camp Tokyo for C++ 2014-01 補講
TDD Boot Camp Tokyo for C++ 2014-01 補講TDD Boot Camp Tokyo for C++ 2014-01 補講
TDD Boot Camp Tokyo for C++ 2014-01 補講Takashi Imagire
 
The SGGX Microflake Distribution 実装
The SGGX Microflake Distribution 実装The SGGX Microflake Distribution 実装
The SGGX Microflake Distribution 実装Takashi Imagire
 
ゲームテストへの新しいアプローチ
 ゲームテストへの新しいアプローチ ゲームテストへの新しいアプローチ
ゲームテストへの新しいアプローチTakashi Imagire
 
SGGXマイクロフレーク分布
SGGXマイクロフレーク分布SGGXマイクロフレーク分布
SGGXマイクロフレーク分布Takashi Imagire
 
GDC 2015 でのハイエンドグラフィックス
GDC 2015 でのハイエンドグラフィックスGDC 2015 でのハイエンドグラフィックス
GDC 2015 でのハイエンドグラフィックスTakashi Imagire
 

More Related Content

Viewers also liked

無料な継続的出版システム ~ t-ceremony ~
無料な継続的出版システム ~ t-ceremony ~無料な継続的出版システム ~ t-ceremony ~
無料な継続的出版システム ~ t-ceremony ~Takashi Imagire
 
(人狼知能合宿)ビデオゲームへの人狼知能の応用について
 (人狼知能合宿)ビデオゲームへの人狼知能の応用について (人狼知能合宿)ビデオゲームへの人狼知能の応用について
(人狼知能合宿)ビデオゲームへの人狼知能の応用についてTakashi Imagire
 
@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門Takashi Imagire
 
すべての優先度が1の時の優先順位の決め方
すべての優先度が1の時の優先順位の決め方すべての優先度が1の時の優先順位の決め方
すべての優先度が1の時の優先順位の決め方Takashi Imagire
 
TDD Boot Camp Tokyo for c++ 2014-01 デモ用資料
TDD Boot Camp Tokyo for c++ 2014-01 デモ用資料TDD Boot Camp Tokyo for c++ 2014-01 デモ用資料
TDD Boot Camp Tokyo for c++ 2014-01 デモ用資料Takashi Imagire
 
卒業制作でのチームゲーム開発におけるアジャイル手法の段階的適用に関する事例
卒業制作でのチームゲーム開発におけるアジャイル手法の段階的適用に関する事例卒業制作でのチームゲーム開発におけるアジャイル手法の段階的適用に関する事例
卒業制作でのチームゲーム開発におけるアジャイル手法の段階的適用に関する事例Takashi Imagire
 
ゲームエンジンの歴史概要
ゲームエンジンの歴史概要ゲームエンジンの歴史概要
ゲームエンジンの歴史概要Takashi Imagire
 

Viewers also liked (7)

無料な継続的出版システム ~ t-ceremony ~
無料な継続的出版システム ~ t-ceremony ~無料な継続的出版システム ~ t-ceremony ~
無料な継続的出版システム ~ t-ceremony ~
 
(人狼知能合宿)ビデオゲームへの人狼知能の応用について
 (人狼知能合宿)ビデオゲームへの人狼知能の応用について (人狼知能合宿)ビデオゲームへの人狼知能の応用について
(人狼知能合宿)ビデオゲームへの人狼知能の応用について
 
@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門@s_ssk13さん向けGitHub入門
@s_ssk13さん向けGitHub入門
 
すべての優先度が1の時の優先順位の決め方
すべての優先度が1の時の優先順位の決め方すべての優先度が1の時の優先順位の決め方
すべての優先度が1の時の優先順位の決め方
 
TDD Boot Camp Tokyo for c++ 2014-01 デモ用資料
TDD Boot Camp Tokyo for c++ 2014-01 デモ用資料TDD Boot Camp Tokyo for c++ 2014-01 デモ用資料
TDD Boot Camp Tokyo for c++ 2014-01 デモ用資料
 
卒業制作でのチームゲーム開発におけるアジャイル手法の段階的適用に関する事例
卒業制作でのチームゲーム開発におけるアジャイル手法の段階的適用に関する事例卒業制作でのチームゲーム開発におけるアジャイル手法の段階的適用に関する事例
卒業制作でのチームゲーム開発におけるアジャイル手法の段階的適用に関する事例
 
ゲームエンジンの歴史概要
ゲームエンジンの歴史概要ゲームエンジンの歴史概要
ゲームエンジンの歴史概要
 

More from Takashi Imagire

『ゲームクリエイター育成会議 オフラインミーティングVol.1 「遊びと学びの研究者に聞く、ゲームデザイナーの育て方」』に参加するにあたって自分なりに考えたこと
『ゲームクリエイター育成会議 オフラインミーティングVol.1 「遊びと学びの研究者に聞く、ゲームデザイナーの育て方」』に参加するにあたって自分なりに考えたこと『ゲームクリエイター育成会議 オフラインミーティングVol.1 「遊びと学びの研究者に聞く、ゲームデザイナーの育て方」』に参加するにあたって自分なりに考えたこと
『ゲームクリエイター育成会議 オフラインミーティングVol.1 「遊びと学びの研究者に聞く、ゲームデザイナーの育て方」』に参加するにあたって自分なりに考えたことTakashi Imagire
 
2件のHPG18 ショートペーパーの説明
2件のHPG18 ショートペーパーの説明2件のHPG18 ショートペーパーの説明
2件のHPG18 ショートペーパーの説明Takashi Imagire
 
コミケでのゲームエンジン2017
コミケでのゲームエンジン2017コミケでのゲームエンジン2017
コミケでのゲームエンジン2017Takashi Imagire
 
同人ゲーム開発におけるゲームエンジンの現状
同人ゲーム開発におけるゲームエンジンの現状同人ゲーム開発におけるゲームエンジンの現状
同人ゲーム開発におけるゲームエンジンの現状Takashi Imagire
 
Chroma blur (日本語での説明)
Chroma blur (日本語での説明)Chroma blur (日本語での説明)
Chroma blur (日本語での説明)Takashi Imagire
 
ソフトウェアだんどり
ソフトウェアだんどりソフトウェアだんどり
ソフトウェアだんどりTakashi Imagire
 
ゲーム作りから導くスクラムマネージャー
ゲーム作りから導くスクラムマネージャーゲーム作りから導くスクラムマネージャー
ゲーム作りから導くスクラムマネージャーTakashi Imagire
 
LeSS Study [2015/Dec./16] 資料(公開版)
LeSS Study [2015/Dec./16] 資料(公開版)LeSS Study [2015/Dec./16] 資料(公開版)
LeSS Study [2015/Dec./16] 資料(公開版)Takashi Imagire
 
課題探検迷子に捧ぐゲーム流価値の創造術 (公開版)
課題探検迷子に捧ぐゲーム流価値の創造術 (公開版)課題探検迷子に捧ぐゲーム流価値の創造術 (公開版)
課題探検迷子に捧ぐゲーム流価値の創造術 (公開版)Takashi Imagire
 
スクラム道場.10 朝会 (Game Community Summit 2013)
スクラム道場.10 朝会 (Game Community Summit 2013)スクラム道場.10 朝会 (Game Community Summit 2013)
スクラム道場.10 朝会 (Game Community Summit 2013)Takashi Imagire
 
第11回 scrum boot camp in NII ワークショップ
第11回 scrum boot camp in NII ワークショップ第11回 scrum boot camp in NII ワークショップ
第11回 scrum boot camp in NII ワークショップTakashi Imagire
 
つくる○アジャイル
つくる○アジャイルつくる○アジャイル
つくる○アジャイルTakashi Imagire
 
好きなことをしようAction! pub
好きなことをしようAction! pub好きなことをしようAction! pub
好きなことをしようAction! pubTakashi Imagire
 
CIBC workshop by imagire
CIBC workshop by imagireCIBC workshop by imagire
CIBC workshop by imagireTakashi Imagire
 

More from Takashi Imagire (15)

『ゲームクリエイター育成会議 オフラインミーティングVol.1 「遊びと学びの研究者に聞く、ゲームデザイナーの育て方」』に参加するにあたって自分なりに考えたこと
『ゲームクリエイター育成会議 オフラインミーティングVol.1 「遊びと学びの研究者に聞く、ゲームデザイナーの育て方」』に参加するにあたって自分なりに考えたこと『ゲームクリエイター育成会議 オフラインミーティングVol.1 「遊びと学びの研究者に聞く、ゲームデザイナーの育て方」』に参加するにあたって自分なりに考えたこと
『ゲームクリエイター育成会議 オフラインミーティングVol.1 「遊びと学びの研究者に聞く、ゲームデザイナーの育て方」』に参加するにあたって自分なりに考えたこと
 
2件のHPG18 ショートペーパーの説明
2件のHPG18 ショートペーパーの説明2件のHPG18 ショートペーパーの説明
2件のHPG18 ショートペーパーの説明
 
コミケでのゲームエンジン2017
コミケでのゲームエンジン2017コミケでのゲームエンジン2017
コミケでのゲームエンジン2017
 
同人ゲーム開発におけるゲームエンジンの現状
同人ゲーム開発におけるゲームエンジンの現状同人ゲーム開発におけるゲームエンジンの現状
同人ゲーム開発におけるゲームエンジンの現状
 
Chroma blur (日本語での説明)
Chroma blur (日本語での説明)Chroma blur (日本語での説明)
Chroma blur (日本語での説明)
 
ソフトウェアだんどり
ソフトウェアだんどりソフトウェアだんどり
ソフトウェアだんどり
 
ゲーム作りから導くスクラムマネージャー
ゲーム作りから導くスクラムマネージャーゲーム作りから導くスクラムマネージャー
ゲーム作りから導くスクラムマネージャー
 
LeSS Study [2015/Dec./16] 資料(公開版)
LeSS Study [2015/Dec./16] 資料(公開版)LeSS Study [2015/Dec./16] 資料(公開版)
LeSS Study [2015/Dec./16] 資料(公開版)
 
課題探検迷子に捧ぐゲーム流価値の創造術 (公開版)
課題探検迷子に捧ぐゲーム流価値の創造術 (公開版)課題探検迷子に捧ぐゲーム流価値の創造術 (公開版)
課題探検迷子に捧ぐゲーム流価値の創造術 (公開版)
 
スクラム道場.10 朝会 (Game Community Summit 2013)
スクラム道場.10 朝会 (Game Community Summit 2013)スクラム道場.10 朝会 (Game Community Summit 2013)
スクラム道場.10 朝会 (Game Community Summit 2013)
 
第11回 scrum boot camp in NII ワークショップ
第11回 scrum boot camp in NII ワークショップ第11回 scrum boot camp in NII ワークショップ
第11回 scrum boot camp in NII ワークショップ
 
つくる○アジャイル
つくる○アジャイルつくる○アジャイル
つくる○アジャイル
 
好きなことをしようAction! pub
好きなことをしようAction! pub好きなことをしようAction! pub
好きなことをしようAction! pub
 
Cibc lecture imagire
Cibc lecture imagireCibc lecture imagire
Cibc lecture imagire
 
CIBC workshop by imagire
CIBC workshop by imagireCIBC workshop by imagire
CIBC workshop by imagire
 

Recently uploaded

20240222_Neko_IoTLT_vol9_kitazaki_v1.pdf
20240222_Neko_IoTLT_vol9_kitazaki_v1.pdf20240222_Neko_IoTLT_vol9_kitazaki_v1.pdf
20240222_Neko_IoTLT_vol9_kitazaki_v1.pdfAyachika Kitazaki
 
scikit-learn以外の分類器でpipelineを作ってみた! いずみん
scikit-learn以外の分類器でpipelineを作ってみた! いずみんscikit-learn以外の分類器でpipelineを作ってみた! いずみん
scikit-learn以外の分類器でpipelineを作ってみた! いずみんtoshinori622
 
解説: Token Extensions - Solana Developer Hub Online #SolDevHub
解説: Token Extensions - Solana Developer Hub Online #SolDevHub解説: Token Extensions - Solana Developer Hub Online #SolDevHub
解説: Token Extensions - Solana Developer Hub Online #SolDevHubK Kinzal
 
20240227 完全に理解した LT 「mise いいよ mise」 / morishin
20240227 完全に理解した LT 「mise いいよ mise」 / morishin20240227 完全に理解した LT 「mise いいよ mise」 / morishin
20240227 完全に理解した LT 「mise いいよ mise」 / morishinMakoto Mori
 
20240227_IoTLT_vol108____kitazaki_v1.pdf
20240227_IoTLT_vol108____kitazaki_v1.pdf20240227_IoTLT_vol108____kitazaki_v1.pdf
20240227_IoTLT_vol108____kitazaki_v1.pdfAyachika Kitazaki
 
HarukiShinkawa_果樹農家が期待する行動への変容を促す仕掛け設計のための収穫作業体験者の行動観察とモデル化_仕掛学2024.pdf
HarukiShinkawa_果樹農家が期待する行動への変容を促す仕掛け設計のための収穫作業体験者の行動観察とモデル化_仕掛学2024.pdfHarukiShinkawa_果樹農家が期待する行動への変容を促す仕掛け設計のための収穫作業体験者の行動観察とモデル化_仕掛学2024.pdf
HarukiShinkawa_果樹農家が期待する行動への変容を促す仕掛け設計のための収穫作業体験者の行動観察とモデル化_仕掛学2024.pdfMatsushita Laboratory
 
00001_test_automation_portfolio_20240227
00001_test_automation_portfolio_2024022700001_test_automation_portfolio_20240227
00001_test_automation_portfolio_20240227ssuserf8ea02
 
オリジナルNFTを発行するブロックチェーン開発ハンズオン(NFTの発行に必要なツールから実装まで)
オリジナルNFTを発行するブロックチェーン開発ハンズオン(NFTの発行に必要なツールから実装まで)オリジナルNFTを発行するブロックチェーン開発ハンズオン(NFTの発行に必要なツールから実装まで)
オリジナルNFTを発行するブロックチェーン開発ハンズオン(NFTの発行に必要なツールから実装まで)Kanta Sasaki
 
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 

Recently uploaded (9)

20240222_Neko_IoTLT_vol9_kitazaki_v1.pdf
20240222_Neko_IoTLT_vol9_kitazaki_v1.pdf20240222_Neko_IoTLT_vol9_kitazaki_v1.pdf
20240222_Neko_IoTLT_vol9_kitazaki_v1.pdf
 
scikit-learn以外の分類器でpipelineを作ってみた! いずみん
scikit-learn以外の分類器でpipelineを作ってみた! いずみんscikit-learn以外の分類器でpipelineを作ってみた! いずみん
scikit-learn以外の分類器でpipelineを作ってみた! いずみん
 
解説: Token Extensions - Solana Developer Hub Online #SolDevHub
解説: Token Extensions - Solana Developer Hub Online #SolDevHub解説: Token Extensions - Solana Developer Hub Online #SolDevHub
解説: Token Extensions - Solana Developer Hub Online #SolDevHub
 
20240227 完全に理解した LT 「mise いいよ mise」 / morishin
20240227 完全に理解した LT 「mise いいよ mise」 / morishin20240227 完全に理解した LT 「mise いいよ mise」 / morishin
20240227 完全に理解した LT 「mise いいよ mise」 / morishin
 
20240227_IoTLT_vol108____kitazaki_v1.pdf
20240227_IoTLT_vol108____kitazaki_v1.pdf20240227_IoTLT_vol108____kitazaki_v1.pdf
20240227_IoTLT_vol108____kitazaki_v1.pdf
 
HarukiShinkawa_果樹農家が期待する行動への変容を促す仕掛け設計のための収穫作業体験者の行動観察とモデル化_仕掛学2024.pdf
HarukiShinkawa_果樹農家が期待する行動への変容を促す仕掛け設計のための収穫作業体験者の行動観察とモデル化_仕掛学2024.pdfHarukiShinkawa_果樹農家が期待する行動への変容を促す仕掛け設計のための収穫作業体験者の行動観察とモデル化_仕掛学2024.pdf
HarukiShinkawa_果樹農家が期待する行動への変容を促す仕掛け設計のための収穫作業体験者の行動観察とモデル化_仕掛学2024.pdf
 
00001_test_automation_portfolio_20240227
00001_test_automation_portfolio_2024022700001_test_automation_portfolio_20240227
00001_test_automation_portfolio_20240227
 
オリジナルNFTを発行するブロックチェーン開発ハンズオン(NFTの発行に必要なツールから実装まで)
オリジナルNFTを発行するブロックチェーン開発ハンズオン(NFTの発行に必要なツールから実装まで)オリジナルNFTを発行するブロックチェーン開発ハンズオン(NFTの発行に必要なツールから実装まで)
オリジナルNFTを発行するブロックチェーン開発ハンズオン(NFTの発行に必要なツールから実装まで)
 
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
 

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