diff options
| author | fschildt <florian.schildt@protonmail.com> | 2025-10-06 09:25:04 +0200 | 
|---|---|---|
| committer | fschildt <florian.schildt@protonmail.com> | 2025-10-06 09:25:04 +0200 | 
| commit | 606d028dac5118329e7561af33b15988db84465f (patch) | |
| tree | 8a5b92b51a88714fee71d7f908283426f70b7dc1 /src/games/minesweeper | |
| parent | 7d9500d27fc91356c580e365351ff6e1bc1c95e1 (diff) | |
make everything prettier
Diffstat (limited to 'src/games/minesweeper')
| -rw-r--r-- | src/games/minesweeper/Minesweeper.cpp | 58 | ||||
| -rw-r--r-- | src/games/minesweeper/Minesweeper.hpp | 28 | 
2 files changed, 16 insertions, 70 deletions
diff --git a/src/games/minesweeper/Minesweeper.cpp b/src/games/minesweeper/Minesweeper.cpp index a1886ff..e110acb 100644 --- a/src/games/minesweeper/Minesweeper.cpp +++ b/src/games/minesweeper/Minesweeper.cpp @@ -1,3 +1,4 @@ +#include "games/Game.hpp"  #include <games/minesweeper/Minesweeper.hpp>  #include <renderer/Renderer.hpp> @@ -117,31 +118,31 @@ Minesweeper::Update(std::vector<SDL_Event>& events)      g_renderer.Clear({0.3f, 0.2f, 0.3f});      for (SDL_Event &event : events) { -        if (m_run_state == exit) { +        if (m_game_status == game_exit) {              return false;          } -        else if (m_run_state == pause) { +        else if (m_game_status == game_paused) {              ProcessEventDuringPause(event);          } -        else if (m_run_state == resume) { +        else if (m_game_status== game_resuming) {              ProcessEventDuringResume(event);          }      } -    if (m_run_state == exit) { +    if (m_game_status == game_exit) {          return false;      } -    if (m_run_state == pause) { +    if (m_game_status == game_paused) {          DrawBoard(); -        DrawPauseMenu(); +        DrawGamePausedMenu();      } -    else if (m_run_state == start) { +    else if (m_game_status == game_starting) {          DrawStartMenu();      } -    else if (m_run_state == resume) { +    else if (m_game_status == game_resuming) {          DrawBoard();      } -    else if (m_run_state == game_over) { +    else if (m_game_status == game_over) {          DrawBoard();          DrawGameOverMenu();      } @@ -155,7 +156,7 @@ Minesweeper::ProcessEventDuringPause(SDL_Event &event)      switch (event.type) {      case SDL_EVENT_KEY_DOWN: {          if (event.key.key == SDLK_ESCAPE) { -            m_run_state = resume; +            m_game_status = game_resuming;          }      } break; @@ -169,7 +170,7 @@ Minesweeper::ProcessEventDuringResume(SDL_Event &event)      switch (event.type) {      case SDL_EVENT_KEY_DOWN: {          if (event.key.key == SDLK_ESCAPE) { -            m_run_state = pause; +            m_game_status = game_paused;          }      } break; @@ -200,7 +201,7 @@ Minesweeper::ProcessEventDuringResume(SDL_Event &event)                  if (IsMine(x, y)) {                      m_is_covered_bitmap[y] &= ~(1 << x);                      UncoverMines(); -                    m_run_state = game_over; +                    m_game_status = game_over;                  }                  else {                      Uncover(x, y); @@ -302,22 +303,6 @@ Minesweeper::ScreenPosToViewPos(V2F32 screen_pos)  }  void -Minesweeper::DrawPauseMenu() -{ -    ImGui::Begin("MinesweeperPause"); -    if (ImGui::Button("Resume")) { -        m_run_state = resume; -    } -    if (ImGui::Button("Restart")) { -        m_run_state = start; -    } -    if (ImGui::Button("Exit")) { -        m_run_state = exit; -    } -    ImGui::End(); -} - -void  Minesweeper::DrawStartMenu()  {      ImGui::Begin("MinesweeperStart"); @@ -332,23 +317,10 @@ Minesweeper::DrawStartMenu()      }      if (ImGui::Button("Start")) {          Reset(m_difficulty); -        m_run_state = resume; -    } -    if (ImGui::Button("Exit")) { -        m_run_state = exit; -    } -    ImGui::End(); -} - -void -Minesweeper::DrawGameOverMenu() -{ -    ImGui::Begin("MinesweeperGameOverMenu"); -    if (ImGui::Button("Play Again")) { -        m_run_state = start; +        m_game_status = game_resuming;      }      if (ImGui::Button("Exit")) { -        m_run_state = exit; +        m_game_status = game_exit;      }      ImGui::End();  } diff --git a/src/games/minesweeper/Minesweeper.hpp b/src/games/minesweeper/Minesweeper.hpp index f29df14..867ca6a 100644 --- a/src/games/minesweeper/Minesweeper.hpp +++ b/src/games/minesweeper/Minesweeper.hpp @@ -7,29 +7,8 @@  #include <array> -namespace std { -    template <> -    struct hash<V2ST> { -        size_t operator()(const V2ST& v) const { -            size_t h1 = hash<size_t>{}(v.x); -            size_t h2 = hash<size_t>{}(v.y); -            return h1 ^ (h2 << 1); -        } -    }; -} - - -  class Minesweeper : public Game {  public: -    enum RunState { -        start, -        pause, -        resume, -        game_over, -        exit -    }; -      enum Difficulty {          beginner,          intermediate, @@ -66,8 +45,6 @@ private:  private:      void DrawBoard();      void DrawStartMenu(); -    void DrawPauseMenu(); -    void DrawGameOverMenu();  private: @@ -77,16 +54,13 @@ private:  private: -    RunState m_run_state = start;      Difficulty m_difficulty = beginner;      float m_world_width = 4.0f;      float m_world_height = 3.0f;      int32_t m_grid_width; -    int32_t m_grid_height; - -    V2F32 m_grid_pos; +    int32_t m_grid_height; V2F32 m_grid_pos;      V2F32 m_cell_outer_size;      V2F32 m_cell_inner_size;  | 
