Fixed undoMove feature in ChessEngine
parent
7e4ac22e51
commit
3bad46f9ea
|
|
@ -23,7 +23,13 @@ public class ChessEngine {
|
||||||
Move libMove = new Move(Square.valueOf(from), Square.valueOf(to));
|
Move libMove = new Move(Square.valueOf(from), Square.valueOf(to));
|
||||||
if (board.legalMoves().contains(libMove)) {
|
if (board.legalMoves().contains(libMove)) {
|
||||||
board.doMove(libMove);
|
board.doMove(libMove);
|
||||||
moves.add(libMove); // <-- hier merken!
|
|
||||||
|
//Replay? Dann abschneiden
|
||||||
|
if (currentMoveIndex < moves.size()) {
|
||||||
|
moves = new ArrayList<>(moves.subList(0, currentMoveIndex));
|
||||||
|
}
|
||||||
|
moves.add(libMove);
|
||||||
|
currentMoveIndex++;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue