Skip to content
Snippets Groups Projects
FireFighter.java 1.18 KiB
Newer Older
  • Learn to ignore specific revisions
  • package model;
    
    import util.Position;
    
    import java.util.HashMap;
    
    import java.util.Map;
    
    public class FireFighter extends Extinguisher {
    
    
        private final TargetStrategy targetStrategy = new TargetStrategy();
    
    
    
        public FireFighter(Position position){
    
            super(position);
            element = ModelElement.FIREFIGHTER;
    
        public List<Position> update(Board<List<ModelElement>> firefighterBoard){
    
            List<Position> modifiedPositions = new ArrayList<>();
    
            Position currentPosition = this.getPosition();
    
            Position newPosition = targetStrategy.neighborClosestToFire(currentPosition, firefighterBoard.getFires().keySet(), firefighterBoard.getNeighbor().getNeighbors());
    
    BELHACHEMI Mehdi's avatar
    BELHACHEMI Mehdi committed
    
    
            this.setPosition(newPosition);
            modifiedPositions.add(currentPosition);
            modifiedPositions.add(newPosition);
    
    BELHACHEMI Mehdi's avatar
    BELHACHEMI Mehdi committed
    
    
            for (Position neighbor : firefighterBoard.getNeighbor().getNeighbors().get(newPosition)) {
                extinguish(firefighterBoard,neighbor);
    
                modifiedPositions.add(neighbor);
            }
    
            return modifiedPositions;
        }