public void CreatePossibleMovesPoolForComputer(Board i_Board) { Move move; m_MovesArray = new List<Move>(); for (int i = 0; i < i_Board.BoardSize; i++) { for (int j = 0; j < i_Board.BoardSize; j++) { if (i_Board.GetBoard[i, j].Equals("O") || i_Board.GetBoard[i, j].Equals("U")) { if (i + 2 < i_Board.BoardSize && j - 2 >= 0) { if (IsValidMove(i_Board, i, j, i + 2, j - 2)) { move = new Move(i, j, i + 2, j - 2); m_MovesArray.Add(move); } } if (i + 2 < i_Board.BoardSize && j + 2 < i_Board.BoardSize) { if (IsValidMove(i_Board, i, j, i + 2, j + 2)) { move = new Move(i, j, i + 2, j + 2); m_MovesArray.Add(move); } } if (i + 1 < i_Board.BoardSize && j + 1 < i_Board.BoardSize) { if (IsValidMove(i_Board, i, j, i + 1, j + 1)) { move = new Move(i, j, i + 1, j + 1); m_MovesArray.Add(move); } } if (i + 1 < i_Board.BoardSize && j - 1 >= 0) { if (IsValidMove(i_Board, i, j, i + 1, j - 1)) { move = new Move(i, j, i + 1, j - 1); m_MovesArray.Add(move); } } if (i_Board.GetBoard[i, j].Equals("U")) { if (i - 2 >= 0 && j - 2 >= 0) { if (IsValidMove(i_Board, i, j, i - 2, j - 2)) { move = new Move(i, j, i - 2, j - 2); m_MovesArray.Add(move); } } if (i - 2 >= 0 && j + 2 < i_Board.BoardSize) { if (IsValidMove(i_Board, i, j, i - 2, j + 2)) { move = new Move(i, j, i - 2, j + 2); m_MovesArray.Add(move); } } if (i - 1 >= 0 && j - 1 >= 0) { if (IsValidMove(i_Board, i, j, i - 1, j - 1)) { move = new Move(i, j, i - 1, j - 1); m_MovesArray.Add(move); } } if (i - 1 >= 0 && j + 1 < i_Board.BoardSize) { if (IsValidMove(i_Board, i, j, i - 1, j + 1)) { move = new Move(i, j, i - 1, j + 1); m_MovesArray.Add(move); } } } } } } }
public void CreatePossibleMovesPoolForComputer(Board i_Board) { Move move; m_MovesArray = new List <Move>(); for (int i = 0; i < i_Board.BoardSize; i++) { for (int j = 0; j < i_Board.BoardSize; j++) { if (i_Board.GetBoard[i, j].Equals("O") || i_Board.GetBoard[i, j].Equals("U")) { if (i + 2 < i_Board.BoardSize && j - 2 >= 0) { if (IsValidMove(i_Board, i, j, i + 2, j - 2)) { move = new Move(i, j, i + 2, j - 2); m_MovesArray.Add(move); } } if (i + 2 < i_Board.BoardSize && j + 2 < i_Board.BoardSize) { if (IsValidMove(i_Board, i, j, i + 2, j + 2)) { move = new Move(i, j, i + 2, j + 2); m_MovesArray.Add(move); } } if (i + 1 < i_Board.BoardSize && j + 1 < i_Board.BoardSize) { if (IsValidMove(i_Board, i, j, i + 1, j + 1)) { move = new Move(i, j, i + 1, j + 1); m_MovesArray.Add(move); } } if (i + 1 < i_Board.BoardSize && j - 1 >= 0) { if (IsValidMove(i_Board, i, j, i + 1, j - 1)) { move = new Move(i, j, i + 1, j - 1); m_MovesArray.Add(move); } } if (i_Board.GetBoard[i, j].Equals("U")) { if (i - 2 >= 0 && j - 2 >= 0) { if (IsValidMove(i_Board, i, j, i - 2, j - 2)) { move = new Move(i, j, i - 2, j - 2); m_MovesArray.Add(move); } } if (i - 2 >= 0 && j + 2 < i_Board.BoardSize) { if (IsValidMove(i_Board, i, j, i - 2, j + 2)) { move = new Move(i, j, i - 2, j + 2); m_MovesArray.Add(move); } } if (i - 1 >= 0 && j - 1 >= 0) { if (IsValidMove(i_Board, i, j, i - 1, j - 1)) { move = new Move(i, j, i - 1, j - 1); m_MovesArray.Add(move); } } if (i - 1 >= 0 && j + 1 < i_Board.BoardSize) { if (IsValidMove(i_Board, i, j, i - 1, j + 1)) { move = new Move(i, j, i - 1, j + 1); m_MovesArray.Add(move); } } } } } } }