diff --git a/src/backend/AutoPlayer.java b/src/backend/AutoPlayer.java index a988a22..8dd8fe6 100644 --- a/src/backend/AutoPlayer.java +++ b/src/backend/AutoPlayer.java @@ -1,5 +1,7 @@ package backend; + + public class AutoPlayer { @@ -9,9 +11,13 @@ public class AutoPlayer { * @return */ public Move computeBestMove(Board board) { - return null; } - - } + + + + + + + diff --git a/src/backend/Board.java b/src/backend/Board.java index 4997c0d..68c6d3b 100644 --- a/src/backend/Board.java +++ b/src/backend/Board.java @@ -376,18 +376,6 @@ return false; } this.highlightedSquares.clear(); } - - - private void updateTurnLabel() { - // TODO Auto-generated method stub - - } - - private void repaint() { - // TODO Auto-generated method stub - - } - /*public Board(Board board) { //TODO @@ -401,4 +389,6 @@ return false; } public Piece[][] getBoardArray() { return board; } + + } \ No newline at end of file diff --git a/src/backend/Game.java b/src/backend/Game.java index ce5325d..1ab890e 100644 --- a/src/backend/Game.java +++ b/src/backend/Game.java @@ -49,7 +49,7 @@ public class Game extends Thread { private void aiPlayerTurn() { if(isAITurn()) { - board.playMove(aiPlayer.computeBestMove(new Board(board))); + board.playMove(aiPlayer.computeBestMove(board)); } } @@ -114,6 +114,13 @@ public class Game extends Thread { public Board getBoard() { return board; // assuming your Game keeps its Board in a field named “board” } - - + + } + + + + + + + diff --git a/src/backend/MovePiece.java b/src/backend/MovePiece.java index 09901d1..745650a 100644 --- a/src/backend/MovePiece.java +++ b/src/backend/MovePiece.java @@ -226,24 +226,26 @@ public class MovePiece { //Pawn movement logic simulation - public boolean movePawnSimulate(int x, int y) { - int currentX = piece.getX(); - int currentY = piece.getY(); - boolean isWhite = piece.isWhite(); - int direction = isWhite ? -1 : 1; - boolean firstMove = isWhite ? currentY == 6 : currentY == 1; + public boolean movePawnSimulate(int x, int y) { + int currentX = piece.getX(); + int currentY = piece.getY(); + boolean isWhite = piece.isWhite(); + int direction = isWhite ? -1 : 1; + boolean firstMove = isWhite ? currentY == 6 : currentY == 1; + + // Same logic as movePawn but no actual move + if (x == currentX && y == currentY + direction && board.getPiece(x, y) == null) { + return true; + }else if (x == currentX && y == currentY + (2 * direction) && firstMove && + board.getPiece(x, y) == null && board.getPiece(x, currentY + direction) == null) { + return true; + }else if (Math.abs(x - currentX) == 1 && y == currentY + direction && + board.getPiece(x, y) != null && board.getPiece(x, y).isWhite() != isWhite) { + return true; + }return false; + } + - // Same logic as movePawn but no actual move - if (x == currentX && y == currentY + direction && board.getPiece(x, y) == null) { - return true; - }else if (x == currentX && y == currentY + (2 * direction) && firstMove && - board.getPiece(x, y) == null && board.getPiece(x, currentY + direction) == null) { - return true; - }else if (Math.abs(x - currentX) == 1 && y == currentY + direction && - board.getPiece(x, y) != null && board.getPiece(x, y).isWhite() != isWhite) { - return true; - }return false; - } //bishop movement simulate public boolean moveBishopSimulate(int x, int y) { diff --git a/src/backend/Piece.java b/src/backend/Piece.java index 0392529..ffbd6bd 100644 --- a/src/backend/Piece.java +++ b/src/backend/Piece.java @@ -50,4 +50,9 @@ public class Piece { didMove=value; } + public void setPosition(int x, int y) { + this.x_coor = x; + this.y_coor = y; + } + }