diff --git a/src/main/java/app/SimulatorApplication.java b/src/main/java/app/SimulatorApplication.java index f3f9e3853f733407ae300daa9b3d1edaea1a9587..ac7e53ceed444386d155ce344e0ebfb5f951df9a 100644 --- a/src/main/java/app/SimulatorApplication.java +++ b/src/main/java/app/SimulatorApplication.java @@ -17,13 +17,13 @@ public class SimulatorApplication extends javafx.application.Application { private static final int COLUMN_COUNT = 20; private static final int SQUARE_WIDTH = 50; private static final int SQUARE_HEIGHT = 50; - public static final int INITIAL_FIRE_COUNT = 10; - public static final int INITIAL_FIREFIGHTER_COUNT = 1; - public static final int INITIAL_MOTORFIREFIGHTER_COUNT = 0; - public static final int INITIAL_CLOUD_COUNT = 0; - public static final int INITIAL_MOUNTAIN_COUNT = 0; - public static final int INITIAL_ROAD_COUNT = 0; - public static final int INITIAL_ROCKERIES_COUNT = 0; + public static final int INITIAL_FIRE_COUNT = 2; + public static final int INITIAL_FIREFIGHTER_COUNT = 3; + public static final int INITIAL_MOTORFIREFIGHTER_COUNT = 1; + public static final int INITIAL_CLOUD_COUNT = 2; + public static final int INITIAL_MOUNTAIN_COUNT = 10; + public static final int INITIAL_ROAD_COUNT = 10; + public static final int INITIAL_ROCKERIES_COUNT = 10; private Stage primaryStage; private Parent view; diff --git a/src/main/java/model/Firefighter.java b/src/main/java/model/Firefighter.java index 48ab4868b6c1f74ea86931eeb8f117f5d54e1492..5659d208213c4667c4bd0808d4868c3ac14a976d 100644 --- a/src/main/java/model/Firefighter.java +++ b/src/main/java/model/Firefighter.java @@ -33,8 +33,7 @@ public class Firefighter extends Extinguisher implements Item{ return result; } for (Position adjacent : board.neighbors(current)) { - System.out.println(board.getItemByPosition(adjacent)); - if (seen.contains(adjacent) || board.getItemByPosition(adjacent) != null || board.getBoxByPosition(adjacent) instanceof Mountain) continue; + if (seen.contains(adjacent) || (board.getItemByPosition(adjacent) != null && !(board.getItemByPosition(adjacent) instanceof Fire)) || board.getBoxByPosition(adjacent) instanceof Mountain) continue; toVisit.add(adjacent); seen.add(adjacent); firstMove.put(adjacent, firstMove.get(current)); diff --git a/src/main/java/model/MotorFirefighter.java b/src/main/java/model/MotorFirefighter.java index 2c46d0f0f1022d647c5d942ee98efae0b4a5c4cd..7e59abd58bda7aec3d4b8474cd9b99c07e503142 100644 --- a/src/main/java/model/MotorFirefighter.java +++ b/src/main/java/model/MotorFirefighter.java @@ -18,7 +18,7 @@ public class MotorFirefighter extends Extinguisher implements Item{ HashMap<Position, Position> firstMove = new HashMap<>(); Queue<Position> toVisit = new LinkedList<>(); for (Position initialMove : board.neighbors(position)) { - if (board.getItemByPosition(initialMove) == null) { + if (board.getItemByPosition(initialMove) == null && !(board.getBoxByPosition(initialMove) instanceof Mountain)) { toVisit.add(initialMove); } if (board.getItemByPosition(initialMove) instanceof Fire) return new ArrayList<Position>(); @@ -27,7 +27,7 @@ public class MotorFirefighter extends Extinguisher implements Item{ while (!toVisit.isEmpty()) { Position current = toVisit.poll(); for (Position neighbors : board.neighbors(current)) { - if (board.getItemByPosition(neighbors) == null) { + if (board.getItemByPosition(neighbors) == null && !(board.getBoxByPosition(neighbors) instanceof Mountain)) { firstMove.put(neighbors, neighbors); } if (board.getItemByPosition(neighbors) instanceof Fire) { @@ -50,7 +50,7 @@ public class MotorFirefighter extends Extinguisher implements Item{ return result; } for (Position adjacent : board.neighbors(current)) { - if (seen.contains(adjacent)) continue; + if (seen.contains(adjacent) || (board.getItemByPosition(adjacent) != null && !(board.getItemByPosition(adjacent) instanceof Fire)) || board.getBoxByPosition(adjacent) instanceof Mountain) continue; toVisit.add(adjacent); seen.add(adjacent); firstMove.put(adjacent, firstMove.get(current));