This commit is contained in:
parent
7ba645ba91
commit
d7e3febf2e
|
|
@ -88,34 +88,26 @@ public class Board {
|
||||||
computeHighlightedPositions(clickedPiece);
|
computeHighlightedPositions(clickedPiece);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (selectedX == x && selectedY == y) {
|
Piece selectedPiece = getPieceAt(selectedX, selectedY);
|
||||||
selectedX = null;
|
if (selectedPiece != null && selectedPiece.isWhite() == turnIsWhite) {
|
||||||
selectedY = null;
|
Piece captured = getPieceAt(x, y);
|
||||||
highlightedPositions.clear();
|
pieces.removeIf(p -> p.getX() == x && p.getY() == y);
|
||||||
} else {
|
pieces.removeIf(p -> p.getX() == selectedX && p.getY() == selectedY);
|
||||||
Piece selectedPiece = getPieceAt(selectedX, selectedY);
|
Piece moved = new Piece(
|
||||||
if (selectedPiece != null && selectedPiece.isWhite() == turnIsWhite) {
|
selectedPiece.isWhite(),
|
||||||
if (isHighlighted(x, y)) {
|
selectedPiece.getType(),
|
||||||
Piece captured = getPieceAt(x, y);
|
x,
|
||||||
pieces.removeIf(p -> p.getX() == x && p.getY() == y);
|
y
|
||||||
pieces.removeIf(p -> p.getX() == selectedX && p.getY() == selectedY);
|
);
|
||||||
Piece moved = new Piece(
|
pieces.add(moved);
|
||||||
selectedPiece.isWhite(),
|
Move move = new Move(selectedPiece, selectedX, selectedY, x, y, captured);
|
||||||
selectedPiece.getType(),
|
moveHistory.push(move);
|
||||||
x,
|
turnNumber++;
|
||||||
y
|
turnIsWhite = !turnIsWhite;
|
||||||
);
|
|
||||||
pieces.add(moved);
|
|
||||||
Move move = new Move(selectedPiece, selectedX, selectedY, x, y, captured);
|
|
||||||
moveHistory.push(move);
|
|
||||||
turnNumber++;
|
|
||||||
turnIsWhite = !turnIsWhite;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
selectedX = null;
|
|
||||||
selectedY = null;
|
|
||||||
highlightedPositions.clear();
|
|
||||||
}
|
}
|
||||||
|
selectedX = null;
|
||||||
|
selectedY = null;
|
||||||
|
highlightedPositions.clear();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -155,6 +147,7 @@ public class Board {
|
||||||
highlightedPositions.clear();
|
highlightedPositions.clear();
|
||||||
highlightedPositions.addAll(getLegalMovesFor(piece));
|
highlightedPositions.addAll(getLegalMovesFor(piece));
|
||||||
}
|
}
|
||||||
|
|
||||||
private ArrayList<int[]> getLegalMovesFor(Piece piece) {
|
private ArrayList<int[]> getLegalMovesFor(Piece piece) {
|
||||||
ArrayList<int[]> moves = new ArrayList<>();
|
ArrayList<int[]> moves = new ArrayList<>();
|
||||||
int x = piece.getX();
|
int x = piece.getX();
|
||||||
|
|
@ -343,4 +336,3 @@ public class Board {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue