int ChessPiece::moveAvailableStates(const int newBoardPos) const { if (isParentPiece(newBoardPos)) return ChessTypes::MoveNotAvailable; return moveAvailable(ChessPos(newBoardPos)); }
bool Game::isLeaf() const { bool return_value = false; FindWinner* finder_p = FindWinner::Instance(); if ( ( finder_p->hasWinner(&human_m) ) || ( finder_p->hasWinner(&computer_m) ) || ( ! moveAvailable() ) ) { return_value = true; } return return_value; }
int Game::getValue() { FindWinner* finder_p = FindWinner::Instance(); if ( finder_p->hasWinner(&human_m) ) { game_value_m = -1; } else if ( finder_p->hasWinner(&computer_m) ) { game_value_m = 1; } else if ( ! moveAvailable() ) { game_value_m = 0; } return game_value_m; }