From 3d30e1ee9d1c9fb67cca8e3f178ba5fd05a2726e Mon Sep 17 00:00:00 2001 From: fschildt Date: Sat, 27 Sep 2025 18:19:42 +0200 Subject: tetris: use unscoped enums in Tetromino class --- src/games/tetris/Tetris.cpp | 40 +++++++++++++++++++--------------------- 1 file changed, 19 insertions(+), 21 deletions(-) (limited to 'src/games/tetris/Tetris.cpp') diff --git a/src/games/tetris/Tetris.cpp b/src/games/tetris/Tetris.cpp index 24881a8..f2a7384 100644 --- a/src/games/tetris/Tetris.cpp +++ b/src/games/tetris/Tetris.cpp @@ -83,9 +83,9 @@ void Tetris::UpdateResumeState(SDL_Event &event) { case SDL_EVENT_KEY_DOWN: { auto key = event.key.key; if (key == SDLK_RIGHT) { - m_ActiveTetromino.MaybeMoveHorizontally(TetrominoDirection::Right); + m_ActiveTetromino.MaybeMoveHorizontally(Tetromino::right); } else if (key == SDLK_LEFT) { - m_ActiveTetromino.MaybeMoveHorizontally(TetrominoDirection::Left); + m_ActiveTetromino.MaybeMoveHorizontally(Tetromino::left); } else if (key == SDLK_DOWN) { bool moved_down = m_ActiveTetromino.MaybeMoveDown(); if (!moved_down) { @@ -95,9 +95,9 @@ void Tetris::UpdateResumeState(SDL_Event &event) { m_SoftdropCounter++; } } else if (key == SDLK_X) { - m_ActiveTetromino.MaybeRotate(TetrominoRotation::Clockwise); + m_ActiveTetromino.MaybeRotate(Tetromino::rotate_clockwise); } else if (key == SDLK_Z || key == SDLK_Y) { - m_ActiveTetromino.MaybeRotate(TetrominoRotation::CounterClockwise); + m_ActiveTetromino.MaybeRotate(Tetromino::rotate_counter_clockwise); } else if (key == SDLK_ESCAPE) { m_RunningState = TetrisRunningState::Pause; } @@ -131,7 +131,7 @@ void Tetris::HandleTetrominoPlacement() { m_LineCounter += rows_cleared; - m_TetrominoCounters[(size_t)m_ActiveTetromino.GetId()] += 1; + m_TetrominoCounters[m_ActiveTetromino.GetId()] += 1; if (rows_cleared == 1) { m_Score += 40 * (m_Level + 1); @@ -279,27 +279,25 @@ void Tetris::DrawStatistics(RenderGroup &render_group) { ImVec2 screen_text_gap = render_group.ViewSizeToScreenSizeImGui(view_text_gap); - using enum TetrominoId; - - Tetromino::Draw(TETROMINO_T, 0, view_tetrominoes_pos, 0.5f, render_group); + Tetromino::Draw(Tetromino::t_piece, 0, view_tetrominoes_pos, 0.5f, render_group); view_tetrominoes_pos.y -= view_advance.y; - Tetromino::Draw(TETROMINO_J, 0, view_tetrominoes_pos, 0.5f, render_group); + Tetromino::Draw(Tetromino::j_piece, 0, view_tetrominoes_pos, 0.5f, render_group); view_tetrominoes_pos.y -= view_advance.y; - Tetromino::Draw(TETROMINO_Z, 0, view_tetrominoes_pos, 0.5f, render_group); + Tetromino::Draw(Tetromino::z_piece, 0, view_tetrominoes_pos, 0.5f, render_group); view_tetrominoes_pos.y -= view_advance.y; - Tetromino::Draw(TETROMINO_O, 0, view_tetrominoes_pos, 0.5f, render_group); + Tetromino::Draw(Tetromino::o_piece, 0, view_tetrominoes_pos, 0.5f, render_group); view_tetrominoes_pos.y -= view_advance.y; - Tetromino::Draw(TETROMINO_S, 0, view_tetrominoes_pos, 0.5f, render_group); + Tetromino::Draw(Tetromino::s_piece, 0, view_tetrominoes_pos, 0.5f, render_group); view_tetrominoes_pos.y -= view_advance.y; - Tetromino::Draw(TETROMINO_L, 0, view_tetrominoes_pos, 0.5f, render_group); + Tetromino::Draw(Tetromino::l_piece, 0, view_tetrominoes_pos, 0.5f, render_group); view_tetrominoes_pos.y -= view_advance.y; - Tetromino::Draw(TETROMINO_I, 0, view_tetrominoes_pos, 0.5f, render_group); + Tetromino::Draw(Tetromino::i_piece, 0, view_tetrominoes_pos, 0.5f, render_group); view_tetrominoes_pos.y -= view_advance.y; @@ -312,19 +310,19 @@ void Tetris::DrawStatistics(RenderGroup &render_group) { ImGui::SetNextWindowPos(screen_text_pos); ImGui::Begin("TetrisStatistics", nullptr, s_DefaultImGuiWindowFlags); - ImGui::Text("%d", m_TetrominoCounters[(size_t)TETROMINO_T]); + ImGui::Text("%d", m_TetrominoCounters[Tetromino::t_piece]); ImGui::Dummy(screen_text_gap); - ImGui::Text("%d", m_TetrominoCounters[(size_t)TETROMINO_J]); + ImGui::Text("%d", m_TetrominoCounters[Tetromino::j_piece]); ImGui::Dummy(screen_text_gap); - ImGui::Text("%d", m_TetrominoCounters[(size_t)TETROMINO_Z]); + ImGui::Text("%d", m_TetrominoCounters[Tetromino::z_piece]); ImGui::Dummy(screen_text_gap); - ImGui::Text("%d", m_TetrominoCounters[(size_t)TETROMINO_O]); + ImGui::Text("%d", m_TetrominoCounters[Tetromino::o_piece]); ImGui::Dummy(screen_text_gap); - ImGui::Text("%d", m_TetrominoCounters[(size_t)TETROMINO_S]); + ImGui::Text("%d", m_TetrominoCounters[Tetromino::s_piece]); ImGui::Dummy(screen_text_gap); - ImGui::Text("%d", m_TetrominoCounters[(size_t)TETROMINO_L]); + ImGui::Text("%d", m_TetrominoCounters[Tetromino::l_piece]); ImGui::Dummy(screen_text_gap); - ImGui::Text("%d", m_TetrominoCounters[(size_t)TETROMINO_I]); + ImGui::Text("%d", m_TetrominoCounters[Tetromino::i_piece]); ImGui::Dummy(screen_text_gap); ImGui::End(); -- cgit v1.2.3