Beispiel #1
0
        private void checkDownRight(Square currentSquare, Player cPlayer)
        {
            int i = currentSquare.getX();
            int j = currentSquare.getY();

            while (j <= 7 && i <= 7)
            {
                Square sq = squares[i + 1, j + 1];
                if (sq.getY() - currentSquare.getY() >= 2 && sq.getX() - currentSquare.getX() >= 2 &&
                    sq.isOccupied() && sq.getPiece().getColor() == cPlayer.getPlayerColor())
                {
                    if (LRDiagonalCheck(currentSquare, sq))
                    {
                        Moves.Add(new Move(cPlayer, currentSquare));
                    }

                    break;
                }
                else if (currentSquare.getY() - sq.getY() <= 1 && currentSquare.getX() - sq.getX() <= 1 &&
                         sq.isOccupied() && sq.getPiece().getColor() == cPlayer.getPlayerColor())
                {
                    break;
                }
                i += 1; j += 1;
            }
        }
Beispiel #2
0
        private void checkUpLeft(Square currentSquare, Player cPlayer)
        {
            int i = currentSquare.getX();
            int j = currentSquare.getY();

            while (i >= 2 && j >= 2)
            {
                Square sq = squares[i - 1, j - 1];
                if (currentSquare.getY() - sq.getY() >= 2 && currentSquare.getX() - sq.getX() >= 2 &&
                    sq.isOccupied() && sq.getPiece().getColor() == cPlayer.getPlayerColor())
                {
                    if (LRDiagonalCheck(sq, currentSquare))
                    {
                        Moves.Add(new Move(cPlayer, currentSquare));
                    }

                    break;
                }
                else if (currentSquare.getY() - sq.getY() <= 1 && currentSquare.getX() - sq.getX() <= 1 &&
                         sq.isOccupied() && sq.getPiece().getColor() == cPlayer.getPlayerColor())
                {
                    break;
                }
                i -= 1; j -= 1;
            }
        }
Beispiel #3
0
        private void checkLeft(Square currentSquare, Player cPlayer)
        {
            int i = currentSquare.getX();
            int j = currentSquare.getY();

            while (i >= 2)
            {
                //Console.WriteLine(i + " " + j);
                Square sq = squares[i - 1, j];
                if (currentSquare.getX() - sq.getX() >= 2 &&
                    sq.isOccupied() && sq.getPiece().getColor() == cPlayer.getPlayerColor())
                {
                    //Console.WriteLine("Same square found " + sq.getX() + " " + sq.getY());

                    if (checkHorizontalBetween(sq, currentSquare))
                    {
                        Moves.Add(new Move(cPlayer, currentSquare));
                    }

                    break;
                }
                else if (currentSquare.getX() - sq.getX() <= 1 &&
                         sq.isOccupied() && sq.getPiece().getColor() == cPlayer.getPlayerColor())
                {
                    break;
                }
                i -= 1;
            }
        }
Beispiel #4
0
        private void checkDown(Square currentSquare, Player cPlayer)
        {
            int i = currentSquare.getX();
            int j = currentSquare.getY();

            while (j <= 7)
            {
                //Console.WriteLine(i + " " + j);
                Square sq = squares[i, j + 1];
                if (sq.getY() - currentSquare.getY() >= 2 &&
                    sq.isOccupied() && sq.getPiece().getColor() == cPlayer.getPlayerColor())
                {
                    //Console.WriteLine("Same square found " + sq.getX() + " " + sq.getY());
                    Console.WriteLine("About to Check between " + currentSquare.getY() + " " + sq.getY());
                    if (CheckVerticalBetween(currentSquare, sq))
                    {
                        Moves.Add(new Move(cPlayer, currentSquare));
                    }

                    break;
                }
                else if (currentSquare.getY() - sq.getY() <= 1 &&
                         sq.isOccupied() && sq.getPiece().getColor() == cPlayer.getPlayerColor())
                {
                    break;
                }
                j += 1;
            }
        }
Beispiel #5
0
 public void InitializeOthello()
 {
     gameBoard.setPiece(4, 5, new Piece(player1.getPlayerColor()));
     gameBoard.setPiece(5, 4, new Piece(player1.getPlayerColor()));
     gameBoard.setPiece(4, 4, new Piece(player2.getPlayerColor()));
     gameBoard.setPiece(5, 5, new Piece(player2.getPlayerColor()));
     currPlayer = player1;
 }
Beispiel #6
0
        private void FindMoves(Player currentPlayer)
        {
            for (int i = 1; i < 9; i++)
            {
                for (int j = 1; j < 9; j++)
                {
                    if (!squares[i, j].isOccupied())
                    {
                        squares[i, j].setPiece(new Piece(currentPlayer.getPlayerColor()));

                        checkLeft(squares[i, j], currentPlayer);
                        checkRight(squares[i, j], currentPlayer);

                        checkUp(squares[i, j], currentPlayer);
                        checkDown(squares[i, j], currentPlayer);

                        checkUpLeft(squares[i, j], currentPlayer);
                        checkUpRight(squares[i, j], currentPlayer);
                        checkDownLeft(squares[i, j], currentPlayer);
                        checkDownRight(squares[i, j], currentPlayer);

                        squares[i, j].removePiece();
                    }
                }
            }
        }
Beispiel #7
0
        private void updateScreen()
        {
            if (currPlayer.getPlayerColor() == Colors.White)
            {
                lblPlayer.Content = "Player Turn: White";
            }
            else if (currPlayer.getPlayerColor() == Colors.Black)
            {
                lblPlayer.Content = "Player Turn: Black";
            }
            Moves = gameBoard.getMoves(currPlayer);

            PrintBoard();
        }