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); }
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; } } }
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; } } }
public void Awake() { queenSpawner = FindObjectOfType <QueenSpawner>(); }