diff --git a/app/src/main/java/chess/view/DDDrender/DDDView.java b/app/src/main/java/chess/view/DDDrender/DDDView.java index 1073735..d37bc26 100644 --- a/app/src/main/java/chess/view/DDDrender/DDDView.java +++ b/app/src/main/java/chess/view/DDDrender/DDDView.java @@ -104,7 +104,7 @@ public class DDDView extends GameAdaptator { @Override public void onMove(Move move) { // update world internal positions - this.world.movePiece(this.world.getPiece(move.getStart()), move.getFinish()); + this.world.movePiece(this.world.getPiece(move.getStart()), move); } public void run() { diff --git a/app/src/main/java/chess/view/DDDrender/world/World.java b/app/src/main/java/chess/view/DDDrender/world/World.java index 8c98ba8..bcfa75e 100644 --- a/app/src/main/java/chess/view/DDDrender/world/World.java +++ b/app/src/main/java/chess/view/DDDrender/world/World.java @@ -4,6 +4,7 @@ import java.util.ArrayList; import java.util.List; import chess.model.Coordinate; +import chess.model.Move; import chess.model.Piece; public class World { @@ -30,11 +31,16 @@ public class World { public void addPiece(PieceEntity entity, Coordinate coordinate) { addEntity(entity); - movePiece(entity, coordinate); + setPieceCoords(entity, coordinate); + } + + private void setPieceCoords(PieceEntity entity, Coordinate coordinate) { + pieces[coordinate.toIndex()] = entity; } - public void movePiece(PieceEntity entity, Coordinate coordinate) { - pieces[coordinate.toIndex()] = entity; + public void movePiece(PieceEntity entity, Move move) { + setPieceCoords(entity, move.getFinish()); + setPieceCoords(null, move.getStart()); } public PieceEntity getPiece(Coordinate coordinate) {