diff options
Diffstat (limited to 'src/games/tetris')
| -rw-r--r-- | src/games/tetris/Tetris.cpp | 19 | ||||
| -rw-r--r-- | src/games/tetris/Tetris.hpp | 15 |
2 files changed, 16 insertions, 18 deletions
diff --git a/src/games/tetris/Tetris.cpp b/src/games/tetris/Tetris.cpp index 1e82822..aefdb41 100644 --- a/src/games/tetris/Tetris.cpp +++ b/src/games/tetris/Tetris.cpp @@ -10,7 +10,8 @@ #include <fstream> Tetris::Tetris() - : m_active_tetromino{m_board.m_bitmap} + : m_font{} + , m_active_tetromino{m_board.m_bitmap} { } @@ -187,7 +188,7 @@ void Tetris::HandleGameOver() { m_game_status = game_over; - const char *filepath = "tetris_highscore.txt"; + const char* filepath = "tetris_highscore.txt"; int32_t highscore = 0; @@ -241,7 +242,7 @@ Tetris::Draw() void Tetris::DrawGameOverMenu() { - ImGui::Begin("TetrisGameOver", nullptr, s_MenuImGuiWindowFlags); + ImGui::Begin("TetrisGameOver", nullptr, s_imgui_window_flags_menu); ImGui::Text("Score = %d", m_score); ImGui::Text("HighScore = %d", m_highscore); if (ImGui::Button("Restart")) { @@ -260,7 +261,7 @@ Tetris::DrawLineCounter() ImVec2 screen_pos = g_renderer.ViewPosToScreenPosImGui(view_pos); ImGui::SetNextWindowPos(screen_pos); - ImGui::Begin("TetrisLines", nullptr, s_DefaultImGuiWindowFlags); + ImGui::Begin("TetrisLines", nullptr, s_imgui_window_flags_default); ImGui::Text("LINES - %d", m_line_counter); ImGui::End(); } @@ -303,13 +304,13 @@ Tetris::DrawStatistics() ImGui::SetNextWindowPos(screen_text_title_pos); - ImGui::Begin("TetrisStatisticsTitle", nullptr, s_DefaultImGuiWindowFlags); + ImGui::Begin("TetrisStatisticsTitle", nullptr, s_imgui_window_flags_default); ImGui::Text("STATISTICS"); ImGui::End(); ImGui::SetNextWindowPos(screen_text_pos); - ImGui::Begin("TetrisStatistics", nullptr, s_DefaultImGuiWindowFlags); + ImGui::Begin("TetrisStatistics", nullptr, s_imgui_window_flags_default); ImGui::Text("%d", m_tetromino_counters[Tetromino::t_piece]); ImGui::Dummy(screen_text_gap); @@ -336,7 +337,7 @@ Tetris::DrawScore() ImVec2 screen_pos = g_renderer.ViewPosToScreenPosImGui(view_pos); ImGui::SetNextWindowPos(screen_pos); - ImGui::Begin("TetrisScore", nullptr, s_DefaultImGuiWindowFlags); + ImGui::Begin("TetrisScore", nullptr, s_imgui_window_flags_default); ImGui::Text("Score"); ImGui::Text("%d", m_score); ImGui::End(); @@ -349,7 +350,7 @@ Tetris::DrawNextTetromino() ImVec2 text_screen_pos = g_renderer.ViewPosToScreenPosImGui(text_view_pos); ImGui::SetNextWindowPos(text_screen_pos); - ImGui::Begin("TetrisNextTetromino", nullptr, s_DefaultImGuiWindowFlags); + ImGui::Begin("TetrisNextTetromino", nullptr, s_imgui_window_flags_default); ImGui::Text("Next"); ImGui::End(); @@ -365,7 +366,7 @@ Tetris::DrawLevel() ImVec2 screen_pos = g_renderer.ViewPosToScreenPosImGui(view_pos); ImGui::SetNextWindowPos(screen_pos); - ImGui::Begin("TetrisLevel", nullptr, s_DefaultImGuiWindowFlags); + ImGui::Begin("TetrisLevel", nullptr, s_imgui_window_flags_default); ImGui::Text("Level"); ImGui::Text("%d", m_level); ImGui::End(); diff --git a/src/games/tetris/Tetris.hpp b/src/games/tetris/Tetris.hpp index 5dd6fde..03966fd 100644 --- a/src/games/tetris/Tetris.hpp +++ b/src/games/tetris/Tetris.hpp @@ -1,23 +1,23 @@ #pragma once -#include <imgui.h> #include <games/Game.hpp> #include <games/tetris/Tetromino.hpp> #include <games/tetris/Board.hpp> +#include <common/Font.hpp> class Tetris : public Game { public: Tetris(); - bool Update(std::vector<SDL_Event> &events) override; - void HandleTetrominoPlacement(); + bool Update(std::vector<SDL_Event>& events) override; private: void Start(); - void UpdateResumeState(SDL_Event &event); - void UpdatePauseState(SDL_Event &event); + void UpdateResumeState(SDL_Event& event); + void UpdatePauseState(SDL_Event& event); uint32_t GetSoftdropCount(float dt); + void HandleTetrominoPlacement(); void HandleGameOver(); void Draw(); @@ -29,12 +29,9 @@ private: void DrawGameOverMenu(); -private: - static constexpr ImGuiWindowFlags s_MenuImGuiWindowFlags = ImGuiWindowFlags_NoFocusOnAppearing | ImGuiWindowFlags_AlwaysAutoResize; - static constexpr ImGuiWindowFlags s_DefaultImGuiWindowFlags = ImGuiWindowFlags_NoNav | ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoBackground | ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoInputs | ImGuiWindowFlags_NoScrollbar; - private: + Font m_font; Board m_board; Tetromino m_active_tetromino; Tetromino::Id m_next_tetromino_id; |
