From 76d407ae1bf8ad9f10a8334826ef2d1ead965229 Mon Sep 17 00:00:00 2001 From: Aryadev Chavali Date: Sat, 27 Jul 2024 01:44:07 +0100 Subject: Added timer to automatically do iterations Looks very cool. --- src/main.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'src/main.cpp') diff --git a/src/main.cpp b/src/main.cpp index 4ce7449..99b24d1 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -16,6 +16,7 @@ #include "./numerics.hpp" +#include #include #include #include @@ -140,6 +141,9 @@ struct State } }; +using Clock = std::chrono::steady_clock; +using Ms = std::chrono::milliseconds; + int main(void) { // Setup state @@ -152,14 +156,31 @@ int main(void) word_t format_str_width = 0; Fraction previous_leftmost, previous_rightmost; + auto time_current = Clock::now(); + auto time_previous = time_current; + constexpr auto time_delta = 10; + InitWindow(WIDTH, HEIGHT, "Calkin-Wilf Tree"); while (!WindowShouldClose()) { + // timer logic + time_current = Clock::now(); + if (std::chrono::duration_cast(time_current - time_previous).count() >= + time_delta) + { + time_previous = time_current; + state.do_iteration(); + count += 2; + } + + // Input logic if (IsKeyPressed(KEY_SPACE)) { state.do_iteration(); count += 2; } + + // Meta text logic if (prev_count != count) { prev_count = count; -- cgit v1.2.3-13-gbd6f