From 3538403f40be607cacdb10324385c3c0046302db Mon Sep 17 00:00:00 2001 From: zulianc Date: Sat, 29 Mar 2025 12:31:54 +0100 Subject: [PATCH] finalized gamemode select menu --- README.md | 1 - src/GraphicalUI/AppMenus/GameBoardAppMenu.cpp | 1 - .../AppMenus/GamePiecesAppMenu.cpp | 28 +++++++++++++++++++ src/GraphicalUI/AppMenus/GamePiecesAppMenu.h | 21 ++++++++++++++ .../AppMenus/GameSettingsAppMenu.cpp | 23 +++++++-------- src/GraphicalUI/AppMenus/InfoAppMenu.cpp | 1 - src/GraphicalUI/AppMenus/MainAppMenu.cpp | 1 - .../AppMenus/SettingsControlsAppMenu.cpp | 1 - .../AppMenus/SettingsKeybindsAppMenu.cpp | 1 - .../AppMenus/SettingsMainAppMenu.cpp | 1 - 10 files changed, 61 insertions(+), 18 deletions(-) create mode 100644 src/GraphicalUI/AppMenus/GamePiecesAppMenu.cpp create mode 100644 src/GraphicalUI/AppMenus/GamePiecesAppMenu.h diff --git a/README.md b/README.md index 83c28f7..b847919 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,6 @@ If you want to know more details about the generation and classification of poly - ULTRA : scores as much as possible in only 2 minutes! - MASTER : clear 200 lines at levels higher than maximum gravity! - ZEN : practice indefinitely in this mode with no gravity! -- ??? : still to do ## Manual build diff --git a/src/GraphicalUI/AppMenus/GameBoardAppMenu.cpp b/src/GraphicalUI/AppMenus/GameBoardAppMenu.cpp index f806a7d..97e208e 100644 --- a/src/GraphicalUI/AppMenus/GameBoardAppMenu.cpp +++ b/src/GraphicalUI/AppMenus/GameBoardAppMenu.cpp @@ -5,7 +5,6 @@ #include #include -#include #include diff --git a/src/GraphicalUI/AppMenus/GamePiecesAppMenu.cpp b/src/GraphicalUI/AppMenus/GamePiecesAppMenu.cpp new file mode 100644 index 0000000..3ebe2c5 --- /dev/null +++ b/src/GraphicalUI/AppMenus/GamePiecesAppMenu.cpp @@ -0,0 +1,28 @@ +#include "GamePiecesAppMenu.h" + +#include "AppMenu.h" +#include "../PlayerCursor.h" + +#include +#include +#include + + +GamePiecesAppMenu::GamePiecesAppMenu(std::shared_ptr menuStack, std::shared_ptr settings, std::shared_ptr renderWindow) : + AppMenu(menuStack, settings, renderWindow), + playerCursor({1}) { + +} + +void GamePiecesAppMenu::computeFrame() { + this->updateMetaBinds(); + this->playerCursor.updatePosition(); + + if (this->escReleased) { + this->menuStack->pop(); + } +} + +void GamePiecesAppMenu::drawFrame() const { + +} diff --git a/src/GraphicalUI/AppMenus/GamePiecesAppMenu.h b/src/GraphicalUI/AppMenus/GamePiecesAppMenu.h new file mode 100644 index 0000000..7f60118 --- /dev/null +++ b/src/GraphicalUI/AppMenus/GamePiecesAppMenu.h @@ -0,0 +1,21 @@ +#pragma once + +#include "AppMenu.h" +#include "../PlayerCursor.h" + +#include +#include +#include + + +class GamePiecesAppMenu : public AppMenu { + private: + PlayerCursor playerCursor; + + public: + GamePiecesAppMenu(std::shared_ptr menuStack, std::shared_ptr settings, std::shared_ptr renderWindow); + + void computeFrame() override; + + void drawFrame() const override; +}; diff --git a/src/GraphicalUI/AppMenus/GameSettingsAppMenu.cpp b/src/GraphicalUI/AppMenus/GameSettingsAppMenu.cpp index bfbe708..715edf3 100644 --- a/src/GraphicalUI/AppMenus/GameSettingsAppMenu.cpp +++ b/src/GraphicalUI/AppMenus/GameSettingsAppMenu.cpp @@ -1,19 +1,19 @@ #include "GameSettingsAppMenu.h" #include "AppMenu.h" +#include "GamePiecesAppMenu.h" #include "GameBoardAppMenu.h" #include "GamePlayingAppMenu.h" #include "../PlayerCursor.h" #include #include -#include #include GameSettingsAppMenu::GameSettingsAppMenu(std::shared_ptr menuStack, std::shared_ptr settings, std::shared_ptr renderWindow) : AppMenu(menuStack, settings, renderWindow), - playerCursor({2, 3, 3}) { + playerCursor({2, 3, 2}) { } @@ -34,7 +34,6 @@ void GameSettingsAppMenu::computeFrame() { switch (this->playerCursor.getPosition().x) { case 0 : {this->settings->setGamemode(MASTER); break;} case 1 : {this->settings->setGamemode(ZEN); break;} - case 2 : break; //TODO } break; } @@ -43,7 +42,7 @@ void GameSettingsAppMenu::computeFrame() { if (this->enterReleased) { if (this->playerCursor.getPosition().y == 0) { if (this->playerCursor.getPosition().x == 0) { - //TODO + this->menuStack->push(std::make_shared(this->menuStack, this->settings, this->renderWindow)); } if (this->playerCursor.getPosition().x == 1) { this->menuStack->push(std::make_shared(this->menuStack, this->settings, this->renderWindow)); @@ -67,15 +66,17 @@ void GameSettingsAppMenu::drawFrame() const { this->placeTitle(text, {}, "GAME SETTINGS", 5.f, {}); - this->placeText(text, this->playerCursor, "PIECES SELECT (TODO)", 5.f, 15.f, sf::Vector2u{0, 0}); + this->placeText(text, this->playerCursor, "PIECES SELECT", 5.f, 15.f, sf::Vector2u{0, 0}); this->placeText(text, this->playerCursor, "BOARD SELECT", 40.f, 15.f, sf::Vector2u{1, 0}); - this->placeText(text, this->playerCursor, "SPRINT", 5.f, 25.f, sf::Vector2u{0, 1}); - this->placeText(text, this->playerCursor, "MARATHON", 25.f, 25.f, sf::Vector2u{1, 1}); - this->placeText(text, this->playerCursor, "ULTRA", 50.f, 25.f, sf::Vector2u{2, 1}); - this->placeText(text, this->playerCursor, "MASTER", 5.f, 35.f, sf::Vector2u{0, 2}); - this->placeText(text, this->playerCursor, "ZEN", 25.f, 35.f, sf::Vector2u{1, 2}); - this->placeText(text, this->playerCursor, "??? (TODO)", 50.f, 35.f, sf::Vector2u{2, 2}); + text.setOutlineThickness(0); + this->placeTitle(text, {}, "GAMEMODE SELECT", 25.f, {}); + + this->placeText(text, this->playerCursor, "SPRINT", 5.f, 35.f, sf::Vector2u{0, 1}); + this->placeText(text, this->playerCursor, "MARATHON", 25.f, 35.f, sf::Vector2u{1, 1}); + this->placeText(text, this->playerCursor, "ULTRA", 50.f, 35.f, sf::Vector2u{2, 1}); + this->placeText(text, this->playerCursor, "MASTER", 5.f, 45.f, sf::Vector2u{0, 2}); + this->placeText(text, this->playerCursor, "ZEN", 25.f, 45.f, sf::Vector2u{1, 2}); this->renderWindow->display(); } diff --git a/src/GraphicalUI/AppMenus/InfoAppMenu.cpp b/src/GraphicalUI/AppMenus/InfoAppMenu.cpp index 62f471c..97592c6 100644 --- a/src/GraphicalUI/AppMenus/InfoAppMenu.cpp +++ b/src/GraphicalUI/AppMenus/InfoAppMenu.cpp @@ -5,7 +5,6 @@ #include #include -#include #include diff --git a/src/GraphicalUI/AppMenus/MainAppMenu.cpp b/src/GraphicalUI/AppMenus/MainAppMenu.cpp index 4c03d56..5a89eab 100644 --- a/src/GraphicalUI/AppMenus/MainAppMenu.cpp +++ b/src/GraphicalUI/AppMenus/MainAppMenu.cpp @@ -8,7 +8,6 @@ #include #include -#include #include diff --git a/src/GraphicalUI/AppMenus/SettingsControlsAppMenu.cpp b/src/GraphicalUI/AppMenus/SettingsControlsAppMenu.cpp index 58aeb55..01c4758 100644 --- a/src/GraphicalUI/AppMenus/SettingsControlsAppMenu.cpp +++ b/src/GraphicalUI/AppMenus/SettingsControlsAppMenu.cpp @@ -5,7 +5,6 @@ #include #include -#include #include diff --git a/src/GraphicalUI/AppMenus/SettingsKeybindsAppMenu.cpp b/src/GraphicalUI/AppMenus/SettingsKeybindsAppMenu.cpp index 545f5e5..330b4f5 100644 --- a/src/GraphicalUI/AppMenus/SettingsKeybindsAppMenu.cpp +++ b/src/GraphicalUI/AppMenus/SettingsKeybindsAppMenu.cpp @@ -5,7 +5,6 @@ #include #include -#include #include #include #include diff --git a/src/GraphicalUI/AppMenus/SettingsMainAppMenu.cpp b/src/GraphicalUI/AppMenus/SettingsMainAppMenu.cpp index 41e1475..11139f5 100644 --- a/src/GraphicalUI/AppMenus/SettingsMainAppMenu.cpp +++ b/src/GraphicalUI/AppMenus/SettingsMainAppMenu.cpp @@ -7,7 +7,6 @@ #include #include -#include #include