diff --git a/src/main/java/model/MotorizedFireFighter.java b/src/main/java/model/MotorizedFireFighter.java index 286b18bc78e38c2ee4e2b72f95fa521f99e175ca..4583c82aeb308cc15dd412dc8bad9a41aa913482 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; + } }