Exemplo n.º 1
0
    public bool checkSafe(int currPos)
    {
        queenSpawner = FindObjectOfType <QueenSpawner>();

        //Check if in your spot on the array there is not a queen that can attack that position.
        if (queenSpawner.board[currPos] > 0)
        {
            return(false); // can't locate here
        }

        return(true);
    }
Exemplo n.º 2
0
    public void markedArea()
    {
        //Set that you have stablished your place
        queenMark = true;

        queenSpawner = FindObjectOfType <QueenSpawner>();

        //Mark on the board your current position
        queenSpawner.board[boardPosition] += 1;  //restrict current place

        //Horizontal restriction
        for (int i = boardPosition + 8; i < 64; i += 8)
        {
            queenSpawner.board[i] += 1;
        }

        //Diagonal up
        int yDiagonalUp = boardPosition % 8;

        for (int x = boardPosition + 7; x < 64; x += 7)
        {
            int nextYDiagonal = x % 8;

            yDiagonalUp -= 1;

            if (nextYDiagonal == yDiagonalUp)
            {
                queenSpawner.board[x] += 1;
            }
        }

        //Diagonal down
        int yDiagonalDown = boardPosition % 8;

        for (int x = boardPosition + 9; x < 64; x += 9)
        {
            int nextYDiagonal = x % 8;

            yDiagonalDown += 1;

            if (nextYDiagonal == yDiagonalDown)
            {
                queenSpawner.board[x] += 1;
            }
        }
    }
Exemplo n.º 3
0
    public void clearBoard()
    {
        //Remove the indicator that your queen have stablished a spot
        queenMark = false;

        queenSpawner = FindObjectOfType <QueenSpawner>();

        queenSpawner.board[boardPosition] -= 1;

        //Horizontal restriction
        for (int i = boardPosition + 8; i < 64; i += 8)
        {
            queenSpawner.board[i] -= 1;
        }

        //Diagonal up

        int yDiagonalUp = boardPosition % 8;

        for (int x = boardPosition + 7; x < 64; x += 7)
        {
            int nextYDiagonal = x % 8;
            yDiagonalUp -= 1;

            if (nextYDiagonal == yDiagonalUp)
            {
                queenSpawner.board[x] -= 1;
            }
        }

        //Diagonal down

        int yDiagonalDown = boardPosition % 8;

        for (int x = boardPosition + 9; x < 64; x += 9)
        {
            int nextYDiagonal = x % 8;
            yDiagonalDown += 1;

            if (nextYDiagonal == yDiagonalDown)
            {
                queenSpawner.board[x] -= 1;
            }
        }
    }
Exemplo n.º 4
0
 public void Awake()
 {
     queenSpawner = FindObjectOfType <QueenSpawner>();
 }