New method setPositionToMoveIndex for undo move feature in ChessEngine
parent
0bc99a18be
commit
745bf05fd3
|
@ -11,6 +11,8 @@ public class ChessEngine {
|
||||||
private Board board;
|
private Board board;
|
||||||
private List<Move> moves = new ArrayList<>();
|
private List<Move> moves = new ArrayList<>();
|
||||||
|
|
||||||
|
private int currentMoveIndex = 0;
|
||||||
|
|
||||||
public ChessEngine() {
|
public ChessEngine() {
|
||||||
board = new Board();
|
board = new Board();
|
||||||
}
|
}
|
||||||
|
@ -91,6 +93,15 @@ public class ChessEngine {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setPositionToMoveIndex(int idx) {
|
||||||
|
// Neues Board erzeugen
|
||||||
|
board = new Board();
|
||||||
|
for (int i = 0; i < idx; i++) {
|
||||||
|
board.doMove(moves.get(i));
|
||||||
|
}
|
||||||
|
currentMoveIndex = idx;
|
||||||
|
}
|
||||||
|
|
||||||
private PieceDTO convertPieceToDTO(Piece piece) {
|
private PieceDTO convertPieceToDTO(Piece piece) {
|
||||||
if (piece == null || piece.equals(Piece.NONE)) return null;
|
if (piece == null || piece.equals(Piece.NONE)) return null;
|
||||||
String color = piece.name().startsWith("WHITE") ? "WHITE" : "BLACK";
|
String color = piece.name().startsWith("WHITE") ? "WHITE" : "BLACK";
|
||||||
|
|
Loading…
Reference in New Issue