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