Xiangiqgame
AI engine for Xiangqi
Loading...
Searching...
No Matches
board_data_structs.hpp File Reference

Constants, typedefs, and simple structs used by gameboard::GameBoard. More...

#include <array>
#include <cassert>
#include <gameboard/game_piece.hpp>
#include <utilities/integer_types.hpp>
#include <random>
#include <vector>
Include dependency graph for board_data_structs.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  gameboard::CastleEdges
 Defines a castle feature in terms of its min / max rank and file. More...
 
struct  gameboard::BoardDirection
 Descirbes a direction on a gameboard::GameBoard.board_map_. More...
 
struct  gameboard::BoardSpace
 A pair of coordinate (rank, and file) with properties determined by comparison with values of gameboard features: board size, river locations, and castle locations. More...
 

Namespaces

namespace  gameboard
 Tracking piece positions and determining legal moves.
 

Typedefs

typedef array< array< GamePiece, kNumFiles >, kNumRanks > gameboard::BoardMap_t
 2-D array of gameboard::GamePiece objects.
 
typedef array< array< int, kNumFiles >, kNumRanks > gameboard::BoardMapInt_t
 2-D array of integers; can be converted to gameboard::BoardMap_t using gameboard::int_board_to_game_pieces.
 
typedef array< BoardSpace, 9 > gameboard::Castle_t
 

Functions

PieceColor gameboard::opponent_of (PieceColor color)
 
constexpr Castle_t gameboard::calc_castle_spaces (const CastleEdges &edges)
 
constexpr Castle_t gameboard::red_castle_spaces ()
 
constexpr Castle_t gameboard::black_castle_spaces ()
 
BoardMap_t gameboard::int_board_to_game_pieces (const BoardMapInt_t int_board)
 
bool gameboard::is_occupied (const BoardMap_t &board_map, const BoardSpace &space)
 
PieceColor gameboard::get_color (const BoardMap_t &board_map, const BoardSpace &space)
 
PieceType gameboard::get_type (const BoardMap_t &board_map, const BoardSpace &space)
 
BoardSpace gameboard::get_general_position (const BoardMap_t &board_map, const PieceColor color)
 
vector< BoardSpace > gameboard::get_all_spaces_occupied_by (const BoardMap_t &board_map, const PieceColor color)
 

Variables

const BoardIndexType gameboard::kNumRanks = 10
 
const BoardIndexType gameboard::kNumFiles = 9
 
const BoardIndexType gameboard::kRedRiverEdge = 5
 
const BoardIndexType gameboard::kBlackRiverEdge = 4
 
constexpr CastleEdges gameboard::kRedCastleEdges = {7, 9, 3, 5}
 
constexpr CastleEdges gameboard::kBlackCastleEdges = {0, 2, 3, 5}
 

Detailed Description

Constants, typedefs, and simple structs used by gameboard::GameBoard.

Definition in file board_data_structs.hpp.