From 4537e9bee3d054786857fa92824e2d9e8385bb36 Mon Sep 17 00:00:00 2001 From: fschildt Date: Sun, 28 Sep 2025 11:23:04 +0200 Subject: minesweeper: now playable --- src/games/snake/Snake.cpp | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) (limited to 'src/games/snake/Snake.cpp') diff --git a/src/games/snake/Snake.cpp b/src/games/snake/Snake.cpp index 6a95521..aa8cedf 100644 --- a/src/games/snake/Snake.cpp +++ b/src/games/snake/Snake.cpp @@ -2,7 +2,9 @@ #include -Snake::Snake () { +Snake::Snake(RenderGroup& render_group) + : m_RenderGroup{render_group} +{ m_IsPaused = false; m_IsRunning = true; @@ -33,9 +35,9 @@ Snake::Snake () { m_Dist = std::uniform_int_distribution(0, m_MapWidth * m_MapHeight - 3); SpawnFood(); - } +} -bool Snake::Update(std::vector &events, RenderGroup &render_group) { +bool Snake::Update(std::vector &events) { uint64_t milliseconds_since_t0 = SDL_GetTicks(); uint64_t milliseconds_since_t0_last = m_LastMillisecondsSinceT0; uint64_t dt_in_milliseconds = milliseconds_since_t0 - milliseconds_since_t0_last; @@ -44,8 +46,8 @@ bool Snake::Update(std::vector &events, RenderGroup &render_group) { Color clear_color = {0.3f, 0.3f, 0.3f, 1.0f}; - render_group.SetCameraSize(4.0f, 3.0f); - render_group.Clear(clear_color); + m_RenderGroup.SetCameraSize(4.0f, 3.0f); + m_RenderGroup.Clear(clear_color); for (SDL_Event &event : events) { @@ -66,7 +68,7 @@ bool Snake::Update(std::vector &events, RenderGroup &render_group) { } - Draw(render_group); + Draw(); DoImgui(); return m_IsRunning; @@ -249,7 +251,7 @@ void Snake::SpawnFood() { m_FoodPosition = {bit0_x, bit0_y}; } -void Snake::Draw(RenderGroup &render_group) { +void Snake::Draw() { float world_width = 4.0f; float world_height = 3.0f; @@ -275,7 +277,7 @@ void Snake::Draw(RenderGroup &render_group) { map_world_pos.y + map_world_dim.y }; Color bg_color = {0.0f, 0.0f, 0.0f, 1.0f}; - render_group.PushRectangle(map_world_rect, map_world_pos.z, bg_color); + m_RenderGroup.PushRectangle(map_world_rect, map_world_pos.z, bg_color); /* draw snake */ @@ -304,7 +306,7 @@ void Snake::Draw(RenderGroup &render_group) { }; Color color = {0.3f, 0.3f, 0.3f, 1.0f}; - render_group.PushRectangle(world_rect, world_pos.z, color); + m_RenderGroup.PushRectangle(world_rect, world_pos.z, color); tail++; } tail = 0; @@ -332,7 +334,7 @@ void Snake::Draw(RenderGroup &render_group) { }; Color color = {0.3f, 0.3f, 0.3f, 1.0f}; - render_group.PushRectangle(world_rect, world_pos.z, color); + m_RenderGroup.PushRectangle(world_rect, world_pos.z, color); tail++; } @@ -351,7 +353,7 @@ void Snake::Draw(RenderGroup &render_group) { pos.y + dim.y }; Color color = {0.3f, 0.6f, 0.4f, 1.0f}; - render_group.PushRectangle(rect, pos.z, color); + m_RenderGroup.PushRectangle(rect, pos.z, color); } void Snake::DoImgui() { -- cgit v1.2.3