Skip to content
Snippets Groups Projects
Select Git revision
  • 5c969e83a3c0bcd976e35218208f6520b29f5153
  • main default protected
  • variant
3 results

Cloud.java

Blame
  • Forked from COUETOUX Basile / FirefighterStarter
    Source project has a limited visibility.
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    Cloud.java 1.08 KiB
    package model.Elements.Extinguisher;
    
    import model.Board.Board;
    import model.Elements.ModelElement;
    import util.Neighbour;
    import util.Position;
    
    import java.util.ArrayList;
    import java.util.List;
    
    public class Cloud extends Extinguisher {
    
    
        public Cloud(Position position) {
            super(position);
            element = ModelElement.CLOUD;
        }
    
        public List<Position>update(Board<List<ModelElement>> firefighterBoard){
    
            this.neighbour = new Neighbour(firefighterBoard);
            List<Position> modifiedPositions = new ArrayList<>();
    
            Position currentPosition = this.getPosition();
            Position newPosition = this.neighbour.randomNeighbor(currentPosition);
            this.setPosition(newPosition);
            modifiedPositions.add(currentPosition);
            modifiedPositions.add(newPosition);
    
    
            extinguish(firefighterBoard,newPosition);
    
            for (Position neighbor : this.neighbour.getNeighbors().get(newPosition)) {
                extinguish(firefighterBoard,neighbor);
                modifiedPositions.add(neighbor);
            }
    
            return modifiedPositions;
        }
    
    
    
    
    }