aboutsummaryrefslogtreecommitdiff
path: root/src/games/tetris
diff options
context:
space:
mode:
Diffstat (limited to 'src/games/tetris')
-rw-r--r--src/games/tetris/Tetris.cpp19
-rw-r--r--src/games/tetris/Tetris.hpp15
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;