public void CastleUndo(Piece king, Piece rook, Position kingDestination, Position rookDestination) { RemovePieceAt(kingDestination); RemovePieceAt(rookDestination); AddPieceToBoard(PieceFactory.CopyPiece(king)); AddPieceToBoard(PieceFactory.CopyPiece(rook)); }
public Move(Piece moved, Position origin, Position destination) { this.Moved = PieceFactory.CopyPiece(moved); this.Origin = origin; this.Destination = destination; }
public void CaptureUndo(Piece moved, Piece captured, Position destination) { RemovePieceAt(destination); AddPieceToBoard(PieceFactory.CopyPiece(moved)); AddPieceToBoard(PieceFactory.CopyPiece(captured)); }
public void NormalUndo(Piece moved, Position origin, Position destination) { RemovePieceAt(destination); AddPieceToBoard(PieceFactory.CopyPiece(moved)); }