Пример #1
0
 private void CheckFirstPlayerCorrect(PlayerSign playerSign)
 {
     if (_moves.Count == 0 && playerSign == PlayerSign.Nought)
     {
         throw new Exception("Nought cannot take the first move");
     }
 }
Пример #2
0
 private bool CheckWinLines(PlayerSign playerSign)
 {
     return(GameWinOptions.Lines.Select(winLine =>
                                        GetPlayerSignOnBoardPosition(winLine[0]) == playerSign &&
                                        GetPlayerSignOnBoardPosition(winLine[1]) == playerSign &&
                                        GetPlayerSignOnBoardPosition(winLine[2]) == playerSign)
            .Any(hasWin => hasWin));
 }
Пример #3
0
 public Move(BoardPosition position, PlayerSign playerSign)
 {
     Position   = position;
     PlayerSign = playerSign;
 }
Пример #4
0
 public void AddMoveToBoard(Move move)
 {
     ValidateMove(move);
     _moves.Add(move);
     LastPlayed = move.PlayerSign;
 }