From fc9d92d0ff16c148dc29bc7e0fc852a22b87279e Mon Sep 17 00:00:00 2001 From: Anthony Viola <anthony.viola34@gmail.com> Date: Thu, 23 Nov 2023 17:24:24 +0100 Subject: [PATCH] Firefighter build fini --- src/main/java/app/SimulatorApplication.java | 14 +++++++------- src/main/java/model/Firefighter.java | 3 +-- src/main/java/model/MotorFirefighter.java | 6 +++--- 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/src/main/java/app/SimulatorApplication.java b/src/main/java/app/SimulatorApplication.java index f3f9e38..ac7e53c 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 48ab486..5659d20 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 2c46d0f..7e59abd 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)); -- GitLab