Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class ChessBoard {
- protected boolean[][] board;
- public ChessBoard(int size){
- board = new boolean[size][size];
- }
- public ChessBoard(boolean[][] board){
- this.board = board;
- }
- public boolean[][] getBoard() {
- return board;
- }
- public void setBoard(boolean[][] board) {
- this.board = board;
- }
- protected void positionQueen(int line, int column) {
- board[line][column] = true;
- }
- protected void deleteQueen(int line, int column) {
- board[line][column] = false;
- }
- protected boolean checkPosition(boolean[][] board, int line, int column){
- if(line >= board.length || line < 0 || column >= board.length || column < 0)
- return false;
- for(int i = 0; i < board.length; i++){ //checks horizontally and vertically for capturing queens
- if(board[line][i] || board[i][column]){
- return false;
- }
- }
- for(int i = 0; i <= line; i++){ //checks up left diagonal for capturing queens
- if(board[line - i][column - i]){
- return false;
- }
- }
- for(int i = 0; i <= line; i++){ //checks up right diagonal for capturing queens
- if((column + 1) >= board.length)
- break;
- if(board[line - i][column + i]){
- return false;
- }
- }
- for(int i = 0; i <= line; i++){ //checks down right diagonal for capturing queens
- if((column + 1) >= board.length || (line + 1) >= board.length)
- break;
- if(board[line + i][column + i]){
- return false;
- }
- }
- for(int i = 0; i <= line; i++){ //checks down left diagonal for capturing queens
- if((line + 1) >= board.length)
- break;
- if(board[line + i][column - i]){
- return false;
- }
- }
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement