#pragma once #include "../Core/Menu.h" #include #include /** * Textual interface for the app */ class TextApp { private: Menu gameMenu; // the interface with the core of the app std::map keybinds; // what the player needs to type to perform in-game actions public: /** * Initializes the app with default settings */ TextApp(); /** * Runs the app */ void run(); private: /** * Sub-menu to select which pieces to play with */ void choosePieces(); /** * Sub-menu to change the size of the board */ void chooseBoardSize(); /** * Sub-menu to see the in-game controls */ void seeKeybinds() const; /** * Sets the controls to their default values */ void defaultKeybinds(); /** * Starts a new game with the current settings */ void startGame() const; /** * Prints the current state of a game to the console */ void printGame(const Game& game) const; };