とあるテスト駆動ゲーム開発の日
2011年6月18日 TDD(テスト駆動開発)のとあるイベントに参加してきました。
一般的なテスト駆動と違い開発対象がコンソール上のゲームプログラミングで7並べが対象というものです。
イベントの概要が書かれているURLはこちらになっています
言語は自由だけどテストは行うということだったのでVisualStudioC#2008+Nunitでの環境構築をしました。
(ふだんの仕事で使っている言語はPHPとFlashliteですが、そもそもFlashliteだとテストツールはないので却下 で PHPはサーバサイドの言語でゲーム開発やコンソールプログラミングではあまり効力を発揮しないのでC#にしました)
そして、14時からテスト駆動を開始しました。
まずは、テストするために全員で作っていく項目と目標を決めていきます。
今回の最大目標は、
1.シャッフルをしたときあっているか(ランダム検証は厳しいのでなしにしました)
2.プレイヤーにカードを配布する
3.配布したカードのチェック
と最初の段階で決まってスタートしました。
それで実際のところですが、
シャッフルをしたときに「そのカードが本当に別物であるか」というところから始めてしまったので
1.トランプの番号
2.トランプの各模様
3.ジョーカーの有無
それぞれについて正しい場合と間違っている場合のテスト駆動コードを書いてから、
1.デッキが最初カードが順番に整理されているか
2.整理した後にシャッフルをすることで一箇所でも違っているか(ここはまれに一致していしまう場合があるので必ずの世界ではありませんが)
こちらのテスト駆動を書いて
最後に
1.プレイヤーが持っている手札の所持枚数
についてやって終了しました
今回初めてだったのでかなり疲れましたが、PythonとJavaという普段触れることのない言語
においてのテスト駆動やコードを見ることができて大変勉強になりました
最終的な成果物はこちらです。
https://bitbucket.org/Sakuriver/tdgandgame/changeset/7354c5557765
次回があって、時間を作ることができれば参加してテスト駆動を覚えていきたいと思います