From dcb00a3fb32c1528beffa61f7cfb056a82a0d472 Mon Sep 17 00:00:00 2001
From: arnaudlabourel <arnaud.labourel@univ-amu.fr>
Date: Mon, 23 Oct 2023 17:55:31 +0200
Subject: [PATCH] added one step button

---
 src/main/java/controller/Controller.java  | 6 ++++--
 src/main/java/model/FirefighterBoard.java | 2 +-
 src/main/resources/view/view.fxml         | 3 +++
 3 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/src/main/java/controller/Controller.java b/src/main/java/controller/Controller.java
index 16e9b0d..fed82dd 100644
--- a/src/main/java/controller/Controller.java
+++ b/src/main/java/controller/Controller.java
@@ -27,8 +27,6 @@ public class Controller {
 
   public static final int PERIOD_IN_MILLISECONDS = 50;
   @FXML
-  private Button restartButton;
-  @FXML
   private ToggleButton pauseToggleButton;
   @FXML
   private ToggleButton playToggleButton;
@@ -123,4 +121,8 @@ public class Controller {
     repaintBoard();
   }
 
+  public void oneStepButtonAction(ActionEvent actionEvent) {
+    this.pause();
+    updateBoard();
+  }
 }
\ No newline at end of file
diff --git a/src/main/java/model/FirefighterBoard.java b/src/main/java/model/FirefighterBoard.java
index 2586fe8..35a6b28 100644
--- a/src/main/java/model/FirefighterBoard.java
+++ b/src/main/java/model/FirefighterBoard.java
@@ -88,7 +88,7 @@ public class FirefighterBoard implements Board<List<ModelElement>> {
       List<Position> neighborFirePositions = neighbors(newFirefighterPosition).stream().filter(firePositions::contains).toList();
       for(Position firePosition : neighborFirePositions)
         extinguish(firePosition);
-      result.addAll(firePositions);
+      result.addAll(neighborFirePositions);
     }
     firefighterPositions = firefighterNewPositions;
     return result;
diff --git a/src/main/resources/view/view.fxml b/src/main/resources/view/view.fxml
index 73d4c93..e8b0ffc 100644
--- a/src/main/resources/view/view.fxml
+++ b/src/main/resources/view/view.fxml
@@ -13,6 +13,9 @@
     <Button fx:id="restartButton" maxHeight="-Infinity" maxWidth="-Infinity"
             mnemonicParsing="false" onAction="#restartButtonAction" prefHeight="24.0" prefWidth="200.0"
             text="Restart"/>
+    <Button fx:id="oneStepButton" maxHeight="-Infinity" maxWidth="-Infinity"
+            mnemonicParsing="false" onAction="#oneStepButtonAction" prefHeight="24.0" prefWidth="200.0"
+            text="One step"/>
     <ToggleButton fx:id="playToggleButton" maxHeight="-Infinity" maxWidth="-Infinity"
                   mnemonicParsing="false" onAction="#playToggleButtonAction" prefHeight="24.0"
                   prefWidth="200.0" styleClass="button" text="Play"/>
-- 
GitLab