Appearance
第31回 出撃コストと再出撃待ち時間
1 / 2 資源と再出撃待ち時間
このステップの目的
秒単位で資源を回復し、候補ごとの待ち時間を減らします。
第31回の到達版では、資源が足りる候補だけを出撃できます。同じ候補を連続で押しても、待ち時間が残っている間は出撃できません。
更新する値
Battle.cppのBattle::UpdateResourcesを実装します。資源へResourcePerSec × dtを足し、上限300を超えないようにします。cooldowns_の各値からdtを引き、0未満にしません。
攻撃待ち時間は戦場の個体が持ちます。再出撃待ち時間は候補一覧の各枠が持ちます。この2つは用途も保存場所も異なります。Resetで候補数と同じ長さの待ち時間一覧を0で作り直すことを確認してください。
今回は更新関数を接続した段階です。出撃時の消費と待ち時間の設定は次のステップで実装します。
実装後に比較する参考コード
Source/TowerDefense/Battle.cppcpp
void Battle::UpdateResources(double dt)
{
resource_ = std::min(tuning::ResourceLimit, resource_ + tuning::ResourcePerSec * dt);
for (auto& cooldown : cooldowns_) cooldown = std::max(0.0, cooldown - dt);
}チェックリスト
今回の変更箇所を指し示し、観察した結果とその理由を説明できますか。実験後の値とファイルを確認して次へ進みます。