コード例 #1
0
ファイル: ChessPiece.cpp プロジェクト: benin-work/QMLChess
int ChessPiece::moveAvailableStates(const int newBoardPos) const
{
    if (isParentPiece(newBoardPos))
        return ChessTypes::MoveNotAvailable;

    return moveAvailable(ChessPos(newBoardPos));
}
コード例 #2
0
ファイル: Game.cpp プロジェクト: samsaradog/tttt
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;
}
コード例 #3
0
ファイル: Game.cpp プロジェクト: samsaradog/tttt
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; 
}