aboutsummaryrefslogtreecommitdiff
path: root/src/game/game.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/game.cpp')
-rw-r--r--src/game/game.cpp17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/game/game.cpp b/src/game/game.cpp
index f0df83b..893be97 100644
--- a/src/game/game.cpp
+++ b/src/game/game.cpp
@@ -58,9 +58,7 @@ void Game::on_start() noexcept
_status_manager->set_section_title(StatusLineSection::C, "Y: ");
_status_manager->set_section_title(StatusLineSection::D, "Paused: ");
_status_manager->set_section_title(StatusLineSection::E, "Generation: ");
- _status_manager->set_section_title(
- StatusLineSection::F,
- "Minimum time since last generation: ");
+ _status_manager->set_section_title(StatusLineSection::F, "Generation speed: ");
_status_manager->set_section_title(StatusLineSection::G, "Living cells: ");
_status_manager->set_section_title(StatusLineSection::H, "Window size: ");
@@ -297,14 +295,17 @@ void Game::_on_normal_mode_update() noexcept
break;
case '+':
- if (_min_time_since_last_gen_millis > 0)
+ if (_generations_per_second < MAXIMUM_GENERATIONS_PER_SECOND)
{
- _min_time_since_last_gen_millis -= MIN_TIME_SINCE_LAST_GEN_INCREMENT;
+ _generations_per_second++;
}
break;
case '-':
- _min_time_since_last_gen_millis += MIN_TIME_SINCE_LAST_GEN_DECREMENT;
+ if (_generations_per_second > 1)
+ {
+ _generations_per_second--;
+ }
break;
default:
@@ -326,7 +327,7 @@ void Game::_on_normal_mode_update() noexcept
_status_manager->set_section_body(
StatusLineSection::F,
- fmt::format("{} milliseconds", _min_time_since_last_gen_millis));
+ fmt::format("{}/s", _generations_per_second));
_status_manager->set_section_body(
StatusLineSection::G,
@@ -343,7 +344,7 @@ void Game::_on_normal_mode_update() noexcept
std::chrono::duration_cast<std::chrono::milliseconds>(
time_now - _last_gen_update_time);
- if (time_since_last_gen.count() <= _min_time_since_last_gen_millis)
+ if (time_since_last_gen.count() <= MILLIS_IN_SECOND / _generations_per_second)
{
return;
}