Xiangiqgame
AI engine for Xiangqi
|
Runs a game between two Players. More...
Public Member Functions | |
def | __init__ (self, Dict[bindings.PieceColor, Player] players, bindings.GameBoard game_board, MoveReporter status_reporter=msg.TerminalStatusReporter(), List[bindings.Move] move_log=None) |
GameSummary | summary (self) |
def | change_whose_turn (self) |
def | get_valid_move (self, bindings.MoveCollection avail_moves) |
def | player_turn (self, bindings.MoveCollection avail_moves) |
Selects and executes a move. | |
def | set_game_state (self, GameState game_state) |
def | set_winner (self, int color) |
def | send_game_info_to_status_reporter (self) |
GameSummary | play (self) |
Static Public Member Functions | |
def | is_valid_move (bindings.Move proposed_move, List[bindings.Move] avail_moves) |
Protected Member Functions | |
def | _move_count (self) |
Protected Attributes | |
_game_state | |
_whose_turn | |
_board | |
_players | |
_status_reporter | |
_move_log | |
_game_id | |
Runs a game between two Players.
Tracks Game state, collects proposed moves, alternates Player turns, maintains on gong GameSummary, and sends info to terminal.
def xiangqipy.game.Game.__init__ | ( | self, | |
Dict[bindings.PieceColor, Player] | players, | ||
bindings.GameBoard | game_board, | ||
MoveReporter | status_reporter = msg.TerminalStatusReporter() , |
||
List[bindings.Move] | move_log = None |
||
) |
def xiangqipy.game.Game.get_valid_move | ( | self, | |
bindings.MoveCollection | avail_moves | ||
) |
|
static |
GameSummary xiangqipy.game.Game.play | ( | self | ) |
def xiangqipy.game.Game.player_turn | ( | self, | |
bindings.MoveCollection | avail_moves | ||
) |
def xiangqipy.game.Game.send_game_info_to_status_reporter | ( | self | ) |
def xiangqipy.game.Game.set_game_state | ( | self, | |
GameState | game_state | ||
) |
GameSummary xiangqipy.game.Game.summary | ( | self | ) |