Appearance
配布ファイル
公開用ZIPは準備中です。現在は教材リポジトリのcpp-dxlib-tower-defenseに、開始用のStarter、回別の到達版Milestones/25〜36、完成見本Completeがあります。授業での割り当てと手動操作を確認してから公開用の配布物を用意します。
プロジェクトを開く
第25回はStarter、第26回以後は前回の到達状態を使います。作業フォルダーをコピーして保管し、TowerDefense.slnをVisual Studio 2026で開きます。x64・C++17を使用します。DXライブラリの設定は共通の導入ガイドを参照してください。
DXライブラリの場所はDXLIB_VC_DIR、またはDXLIB_ROOTで指定します。プロジェクトは外部のライブラリの場所を参照し、ライブラリ本体を教材へ同梱していません。
作業するファイル
| 場所 | 用途 |
|---|---|
Source/TowerDefense/Battle.cpp | 学生が実装する生成、移動、攻撃、勝敗、出撃、ウェーブ |
Source/TowerDefense/Definitions.h | 種類の性能、見た目、ウェーブの型 |
Source/TowerDefense/Battle.h | 個体の状態とBattleの宣言 |
Source/TowerDefense/Definitions.cpp | 提供済みのCSV読み込みと診断 |
Source/TowerDefense/LessonData.cpp | 第29回までの初期値。第30回でCSVへ接続 |
Source/TowerDefense/BattleView.cpp | 画像管理と描画。第33回でコマ選択を実装 |
Assets/Data | 第30回以後に編集するCSV |
Assets/ThirdParty/Kenney/TinyBattle | 配布画像、ライセンスと出典 |
自分の変更を引き継ぐ
前回のフォルダーを保存し、本文で指定した関数を自分のプロジェクトへ実装します。到達版は観察と比較に使い、フォルダー全体を自分の作品へ上書きしません。調整した初期値、CSV、素材、記録を個別に比較して引き継ぎます。
第30回では、構造体へ入力した独自の性能値をCSVへ転記します。見出しと列の順序を確認し、以前のソースは前回の保管フォルダーへ残してください。
CSVを再ビルドせずに反映する
Visual Studioでの起動引数は--assets "プロジェクト直下のAssets"を設定済みです。第30回以後はここにあるCSVを編集し、ゲームを終了して起動し直します。C++ソースを変更しない範囲では再コンパイルしません。
exeを直接起動する場合は、exeと同じ場所のAssetsを読みます。提出用のフォルダーへexeとAssetsをコピーした後は、そのフォルダーのCSVを編集します。開発中のビルド出力にあるAssetsを制作元として使わないでください。