Xiangiqgame
AI engine for Xiangqi
Loading...
Searching...
No Matches
gameboard::PieceMoves Class Reference

Implements piece type dependent move rules; used by gameboard::MoveCalculator. More...

#include <piece_moves.hpp>

Collaboration diagram for gameboard::PieceMoves:
Collaboration graph

Public Member Functions

void SoldierMoves (const BoardMap_t &board_map, PieceColor color, const BoardSpace &space, MoveCollection &team_moves)
 
void CannonMoves (const BoardMap_t &board_map, PieceColor color, const BoardSpace &space, MoveCollection &team_moves)
 
void ChariotMoves (const BoardMap_t &board_map, PieceColor color, const BoardSpace &space, MoveCollection &team_moves)
 
void HorseMoves (const BoardMap_t &board_map, PieceColor color, const BoardSpace &space, MoveCollection &team_moves)
 
void ElephantMoves (const BoardMap_t &board_map, PieceColor color, const BoardSpace &space, MoveCollection &team_moves)
 
void AdvisorMoves (const BoardMap_t &board_map, PieceColor color, const BoardSpace &space, MoveCollection &team_moves)
 
void FlyingGeneralMove (const BoardMap_t &board_map, PieceColor color, const BoardSpace &space, MoveCollection &team_moves)
 
void StandardGeneralMoves (const BoardMap_t &board_map, PieceColor color, const BoardSpace &space, MoveCollection &team_moves)
 
void GeneralMoves (const BoardMap_t &board_map, PieceColor color, const BoardSpace &space, MoveCollection &team_moves)
 

Static Private Member Functions

static BoardDirection FwdDirection (PieceColor color)
 
static bool ExistsAndPassesColorTest (const BoardMap_t &board_map, const BoardSpace &space, PieceColor moving_piece_color)
 

Detailed Description

Implements piece type dependent move rules; used by gameboard::MoveCalculator.

Definition at line 19 of file piece_moves.hpp.

Member Function Documentation

◆ AdvisorMoves()

void gameboard::PieceMoves::AdvisorMoves ( const BoardMap_t board_map,
PieceColor  color,
const BoardSpace space,
MoveCollection team_moves 
)

Definition at line 141 of file piece_moves.cpp.

◆ CannonMoves()

void gameboard::PieceMoves::CannonMoves ( const BoardMap_t board_map,
PieceColor  color,
const BoardSpace space,
MoveCollection team_moves 
)

Definition at line 57 of file piece_moves.cpp.

◆ ChariotMoves()

void gameboard::PieceMoves::ChariotMoves ( const BoardMap_t board_map,
PieceColor  color,
const BoardSpace space,
MoveCollection team_moves 
)

Definition at line 83 of file piece_moves.cpp.

◆ ElephantMoves()

void gameboard::PieceMoves::ElephantMoves ( const BoardMap_t board_map,
PieceColor  color,
const BoardSpace space,
MoveCollection team_moves 
)

Definition at line 123 of file piece_moves.cpp.

◆ ExistsAndPassesColorTest()

static bool gameboard::PieceMoves::ExistsAndPassesColorTest ( const BoardMap_t board_map,
const BoardSpace space,
PieceColor  moving_piece_color 
)
inlinestaticprivate

Definition at line 81 of file piece_moves.hpp.

◆ FlyingGeneralMove()

void gameboard::PieceMoves::FlyingGeneralMove ( const BoardMap_t board_map,
PieceColor  color,
const BoardSpace space,
MoveCollection team_moves 
)

Definition at line 157 of file piece_moves.cpp.

◆ FwdDirection()

static BoardDirection gameboard::PieceMoves::FwdDirection ( PieceColor  color)
inlinestaticprivate

Definition at line 77 of file piece_moves.hpp.

◆ GeneralMoves()

void gameboard::PieceMoves::GeneralMoves ( const BoardMap_t board_map,
PieceColor  color,
const BoardSpace space,
MoveCollection team_moves 
)

Definition at line 199 of file piece_moves.cpp.

◆ HorseMoves()

void gameboard::PieceMoves::HorseMoves ( const BoardMap_t board_map,
PieceColor  color,
const BoardSpace space,
MoveCollection team_moves 
)

Definition at line 102 of file piece_moves.cpp.

◆ SoldierMoves()

void gameboard::PieceMoves::SoldierMoves ( const BoardMap_t board_map,
PieceColor  color,
const BoardSpace space,
MoveCollection team_moves 
)

Definition at line 34 of file piece_moves.cpp.

◆ StandardGeneralMoves()

void gameboard::PieceMoves::StandardGeneralMoves ( const BoardMap_t board_map,
PieceColor  color,
const BoardSpace space,
MoveCollection team_moves 
)

Definition at line 184 of file piece_moves.cpp.


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