diff --git a/src/main/java/model/FirefighterBoard.java b/src/main/java/model/FirefighterBoard.java index 4c674b7a39c1e96868b79a39cc670e2bfd49bddb..92a18ec751b61455a7c3c89eb517caeda4e72e87 100644 --- a/src/main/java/model/FirefighterBoard.java +++ b/src/main/java/model/FirefighterBoard.java @@ -113,7 +113,7 @@ public class FirefighterBoard implements Board<List<ModelElement>> { firePositions, neighbors); firefighterNewPositions.add(newFirefighterPosition); extinguish(newFirefighterPosition); - modifiedPosition.add(firefighterPosition); + modifiedPosition.add(firefighterPosition.getFirefighterPosition()); modifiedPosition.add(newFirefighterPosition); List<Position> neighborFirePositions = neighbors.get(newFirefighterPosition).stream() .filter(firePositions::contains).toList(); @@ -132,20 +132,20 @@ public class FirefighterBoard implements Board<List<ModelElement>> { } private void extinguish(Position position) { - firePositions.remove(position); + fire.remove(position); } @Override public void setState(List<ModelElement> state, Position position) { - firePositions.remove(position); + extinguish(position); for (; ; ) { - if (!firefighterPositions.remove(position)) break; + if (!firefighterPostion.remove(position)) break; } for (ModelElement element : state) { switch (element) { - case FIRE -> firePositions.add(position); - case FIREFIGHTER -> firefighterPositions.add(position); + case FIRE -> fire.add(new Fire(position)); + case FIREFIGHTER -> firefighter.add(new FireFighter(position)); } } }