ajouté interface textuelle
This commit is contained in:
58
src/TextUI/TextApp.h
Normal file
58
src/TextUI/TextApp.h
Normal file
@@ -0,0 +1,58 @@
|
||||
#pragma once
|
||||
|
||||
#include "../Core/Menu.h"
|
||||
|
||||
#include <map>
|
||||
#include <string>
|
||||
|
||||
|
||||
/**
|
||||
* Textual interface for the app
|
||||
*/
|
||||
class TextApp {
|
||||
private:
|
||||
Menu gameMenu; // the interface with the core of the app
|
||||
std::map<std::string, Action> 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;
|
||||
};
|
||||
Reference in New Issue
Block a user