package model; import util.Position; import util.TargetStrategy; import java.util.ArrayList; import java.util.List; public class Cloud extends Element { public Cloud() { super(ModelElement.CLOUD, new CloudBehavior(ModelElement.CLOUD)); } @Override public List<Position> Update(BoardData boardData, List<Position> modifiedPositions) { List<Position> cloudPositions=boardData.getPositions().get(type.ordinal()); List<Position> newCloudPositions=behavior.getNext(boardData); modifiedPositions.removeAll(cloudPositions); modifiedPositions.addAll(cloudPositions); modifiedPositions.removeAll(newCloudPositions); modifiedPositions.addAll(newCloudPositions); cloudPositions.clear(); cloudPositions.addAll(newCloudPositions); return modifiedPositions; } }