Test suite now accurately runs the GameEngine FSM for multiple rounds.
This commit is contained in:
parent
07a212d9d7
commit
07553400f5
6 changed files with 50 additions and 18 deletions
|
@ -25,10 +25,8 @@ int GameEngine::determine_damage(string &type) {
|
|||
}
|
||||
|
||||
void GameEngine::reset() {
|
||||
rounds = 0;
|
||||
streak = 0;
|
||||
hit_points = starting_hp;
|
||||
hits_taken = 0;
|
||||
}
|
||||
|
||||
bool GameEngine::hit(string &type) {
|
||||
|
@ -83,8 +81,15 @@ void GameEngine::in_round(GameEvent ev, string &hit_type) {
|
|||
}
|
||||
|
||||
void GameEngine::dead(GameEvent ev) {
|
||||
reset();
|
||||
state(GameState::IDLE);
|
||||
if(ev == GameEvent::BUILD_DONE) {
|
||||
reset();
|
||||
state(GameState::FAILURE);
|
||||
failure(ev);
|
||||
} else if(ev == GameEvent::HIT) {
|
||||
++hits_taken;
|
||||
} else {
|
||||
state(GameState::DEAD);
|
||||
}
|
||||
}
|
||||
|
||||
void GameEngine::success(GameEvent ev) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue