Xiangiqgame
AI engine for Xiangqi
Loading...
Searching...
No Matches
terminalout::TerminalGameReporter Class Reference

#include <terminal_output.hpp>

Inheritance diagram for terminalout::TerminalGameReporter:
Inheritance graph
Collaboration diagram for terminalout::TerminalGameReporter:
Collaboration graph

Public Member Functions

 TerminalGameReporter (const game::PlayerSpec &player_spec_red, const game::PlayerSpec &player_spec_black)
 
void ReportGameInfo (const game::GameStatus &game_status)
 
- Public Member Functions inherited from GameReporterInterface
virtual void ReportGameInfo (const game::GameStatus &game_status)=0
 
virtual ~GameReporterInterface ()=default
 

Private Member Functions

void ClearScreen ()
 
void DisplayIfInCheck (const game::GameStatus &game_status)
 
void DisplayInfoNeededEveryMove (const game::GameStatus &game_status)
 
void DisplayInfoNeededMidGame (const game::GameStatus &game_status)
 
void DisplayInfoNeededEndGame (const game::GameStatus &game_status)
 

Private Attributes

PlayerReporter red_player_reporter_
 
PlayerReporter black_player_reporter_
 
MoveReporter move_reporter_
 
BoardMapEncoder board_map_encoder_
 

Static Private Attributes

static const unordered_map< gameboard::PieceColor, std::string > disp_team_name_
 
static const unordered_map< game::GameState, std::string > game_result_str_
 

Detailed Description

Definition at line 60 of file terminal_output.hpp.

Constructor & Destructor Documentation

◆ TerminalGameReporter()

terminalout::TerminalGameReporter::TerminalGameReporter ( const game::PlayerSpec player_spec_red,
const game::PlayerSpec player_spec_black 
)

Definition at line 145 of file terminal_output.cpp.

Member Function Documentation

◆ ClearScreen()

void terminalout::TerminalGameReporter::ClearScreen ( )
private

Definition at line 167 of file terminal_output.cpp.

◆ DisplayIfInCheck()

void terminalout::TerminalGameReporter::DisplayIfInCheck ( const game::GameStatus game_status)
private

Definition at line 175 of file terminal_output.cpp.

◆ DisplayInfoNeededEndGame()

void terminalout::TerminalGameReporter::DisplayInfoNeededEndGame ( const game::GameStatus game_status)
private

Definition at line 204 of file terminal_output.cpp.

◆ DisplayInfoNeededEveryMove()

void terminalout::TerminalGameReporter::DisplayInfoNeededEveryMove ( const game::GameStatus game_status)
private

Definition at line 182 of file terminal_output.cpp.

◆ DisplayInfoNeededMidGame()

void terminalout::TerminalGameReporter::DisplayInfoNeededMidGame ( const game::GameStatus game_status)
private

Definition at line 193 of file terminal_output.cpp.

◆ ReportGameInfo()

void terminalout::TerminalGameReporter::ReportGameInfo ( const game::GameStatus game_status)
virtual

Implements GameReporterInterface.

Definition at line 213 of file terminal_output.cpp.

Member Data Documentation

◆ black_player_reporter_

PlayerReporter terminalout::TerminalGameReporter::black_player_reporter_
private

Definition at line 62 of file terminal_output.hpp.

◆ board_map_encoder_

BoardMapEncoder terminalout::TerminalGameReporter::board_map_encoder_
private

Definition at line 64 of file terminal_output.hpp.

◆ disp_team_name_

const unordered_map< gameboard::PieceColor, std::string > terminalout::TerminalGameReporter::disp_team_name_
staticprivate
Initial value:

Definition at line 75 of file terminal_output.hpp.

◆ game_result_str_

const unordered_map< game::GameState, std::string > terminalout::TerminalGameReporter::game_result_str_
staticprivate
Initial value:
= {
{game::GameState::kRedWon, "Red won the game."},
{game::GameState::kBlkWon, "Black won the game."},
{game::GameState::kDraw, "Game ended in a draw."}
}

Definition at line 76 of file terminal_output.hpp.

◆ move_reporter_

MoveReporter terminalout::TerminalGameReporter::move_reporter_
private

Definition at line 63 of file terminal_output.hpp.

◆ red_player_reporter_

PlayerReporter terminalout::TerminalGameReporter::red_player_reporter_
private

Definition at line 61 of file terminal_output.hpp.


The documentation for this class was generated from the following files: