From 18c17b4ab50569973810571592771bcc5262f723 Mon Sep 17 00:00:00 2001
From: AREZKI Celia <celia.arezki.1@etu.univ-amu.fr>
Date: Thu, 28 Nov 2024 17:09:31 +0100
Subject: [PATCH] MotorizedFireFighter : add the methode move

---
 src/main/java/model/MotorizedFireFighter.java | 30 ++++++++++++++++++-
 1 file changed, 29 insertions(+), 1 deletion(-)

diff --git a/src/main/java/model/MotorizedFireFighter.java b/src/main/java/model/MotorizedFireFighter.java
index 286b18b..4583c82 100644
--- a/src/main/java/model/MotorizedFireFighter.java
+++ b/src/main/java/model/MotorizedFireFighter.java
@@ -1,4 +1,32 @@
 package model;
 
-public class MotorizedFireFighter {
+import util.Position;
+import util.TargetStrategy;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Random;
+import java.util.Set;
+
+public class MotorizedFireFighter extends FireFighter{
+    private final TargetStrategy targetStrategy = new TargetStrategy();
+    public MotorizedFireFighter(Position position) {
+        super(position);
+    }
+
+
+
+    public Position move(Map<Position, List<Position>> neighbors, Set<Position> firePositions) {
+        // Utilisation de targetStrategy pour le premier mouvement
+        Position firstMove = targetStrategy.neighborClosestToTarget(position, firePositions, neighbors);
+
+        // Après le premier déplacement, obtenir les voisins du premier mouvement
+        List<Position> possibleMovesFromFirst = neighbors.get(firstMove);
+
+        // Utilisation de targetStrategy pour choisir la meilleure position à partir du premier mouvement
+        Position secondMove = targetStrategy.neighborClosestToTarget(firstMove, firePositions, neighbors);
+
+        // Si nous avons trouvé une position valide, déplace le pompier de 2 cases
+        return secondMove;
+    }
 }
-- 
GitLab