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

FireFigther.java

Blame
  • Lenovo's avatar
    KALLEL Mohamed ali authored
    3888a3e7
    History
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    FireFigther.java 1021 B
    package model.Element;
    
    import util.Position;
    import view.ViewElement;
    
    import java.util.List;
    import java.util.Map;
    
    import static util.Tools.*;
    
    public class FireFigther implements ModelElement{
        @Override
        public void update(Position position, Map<Position, List<ModelElement>> board, int step, int columnCount, int rowCount) {
            if(!extinguishneighbor(position,board,new Fire(),rowCount,columnCount)) {
                Position newPositionStep = neighborClosestTo(position,board,rowCount,columnCount,new Fire(),List.of(new Mountain(),new MotorisedFirefigther() ));
                removeElement(position, board, new FireFigther());
                addElement(newPositionStep, board, new FireFigther());
                extinguishneighbor(newPositionStep,board,new Fire(),rowCount,columnCount);
            }
    
        }
    
    
        @Override
        public ViewElement getViewElement() {
            return ViewElement.FIREFIGHTER;
        }
    
        @Override
        public boolean equals(Object obj) {
            return obj instanceof FireFigther;
        }
    }