Started to implement a gereying of previous case but not possible since
I needed to modify Jpaneldraw
This commit is contained in:
parent
4220554b98
commit
361f8f2d3c
Binary file not shown.
Binary file not shown.
|
|
@ -86,9 +86,9 @@ public class Board implements Cloneable {
|
|||
setPiece(true,PieceType.Bishop,2,7);
|
||||
setPiece(true,PieceType.Bishop,5,7);
|
||||
setPiece(false,PieceType.King,4,0);
|
||||
setPiece(true,PieceType.King,4,7);
|
||||
setPiece(true,PieceType.King,3,7);
|
||||
setPiece(false,PieceType.Queen,3,0);
|
||||
setPiece(true,PieceType.Queen,3,7);
|
||||
setPiece(true,PieceType.Queen,4,7);
|
||||
for (int i=0;i<8;i++) {
|
||||
setPiece(false,PieceType.Pawn,i,1);
|
||||
}
|
||||
|
|
@ -103,6 +103,9 @@ public class Board implements Cloneable {
|
|||
pieces.clear();
|
||||
selectedX = null;
|
||||
selectedY = null;
|
||||
highlightedPositions.clear();
|
||||
boardHistory.clear();
|
||||
this.lastMoveSourceSquare = null;
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -151,6 +154,7 @@ public class Board implements Cloneable {
|
|||
Piece pieceAtPos = getPieceAt(x, y);
|
||||
|
||||
if (pieceAtPos != null && pieceAtPos.isWhite() == turnIsWhite) {
|
||||
this.lastMoveSourceSquare = null;
|
||||
selectedX = x;
|
||||
selectedY = y;
|
||||
|
||||
|
|
@ -163,6 +167,7 @@ public class Board implements Cloneable {
|
|||
}
|
||||
} else {
|
||||
if (selectedX == x && selectedY == y) {
|
||||
this.lastMoveSourceSquare = null;
|
||||
selectedX = null;
|
||||
selectedY = null;
|
||||
highlightedPositions.clear();
|
||||
|
|
@ -312,6 +317,7 @@ public class Board implements Cloneable {
|
|||
turnNumber--;
|
||||
turnIsWhite = !turnIsWhite;
|
||||
kingCheckPos = null;
|
||||
this.lastMoveSourceSquare = null;
|
||||
}
|
||||
|
||||
public Board(Board board) {
|
||||
|
|
@ -359,6 +365,8 @@ public class Board implements Cloneable {
|
|||
// Update turn info
|
||||
turnIsWhite = !turnIsWhite;
|
||||
turnNumber++;
|
||||
|
||||
this.lastMoveSourceSquare = new int[] {move.getFromCol(), move.getFromRow()};
|
||||
|
||||
// Play move sound if enabled
|
||||
playMoveSound();
|
||||
|
|
@ -430,8 +438,11 @@ public class Board implements Cloneable {
|
|||
clonedBoard.selectedY = this.selectedY;
|
||||
clonedBoard.turnNumber = this.turnNumber;
|
||||
clonedBoard.turnIsWhite = this.turnIsWhite;
|
||||
|
||||
|
||||
if (this.lastMoveSourceSquare != null) {
|
||||
clonedBoard.lastMoveSourceSquare = new int[]{this.lastMoveSourceSquare[0], this.lastMoveSourceSquare[1]};
|
||||
} else {
|
||||
clonedBoard.lastMoveSourceSquare = null;
|
||||
}
|
||||
return clonedBoard;
|
||||
} catch (CloneNotSupportedException e) {
|
||||
throw new AssertionError(); // Should never happen
|
||||
|
|
@ -539,5 +550,10 @@ public class Board implements Cloneable {
|
|||
&& kingCheckPos[0] == squareX
|
||||
&& kingCheckPos[1] == squareY);
|
||||
}
|
||||
private int[] lastMoveSourceSquare = null;
|
||||
|
||||
public boolean isLastMoveSourceSquare(int x, int y) {
|
||||
return lastMoveSourceSquare != null && lastMoveSourceSquare[0] == x && lastMoveSourceSquare[1] == y;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -115,5 +115,7 @@ public class Game extends Thread {
|
|||
public boolean isKingCheckSquare(int squareX, int squareY) {
|
||||
return board.isKingCheckSquare(squareX, squareY);
|
||||
}
|
||||
|
||||
public boolean isLastMoveSourceSquare(int x, int y) {
|
||||
return board.isLastMoveSourceSquare(x, y);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue