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

Humain.java

Blame
  • Forked from LABOUREL Arnaud / Firefighter template
    Source project has a limited visibility.
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    Humain.java 939 B
    package model.Element;
    
    import util.Position;
    import view.ViewElement;
    
    import java.util.List;
    import java.util.Map;
    import java.util.Random;
    
    import static util.Tools.*;
    
    public class Humain implements ModelElement{
        @Override
        public void update(Position position, Map<Position, List<ModelElement>> board, int step, int columnCount, int rowCount) {
            List<Position> neighbors = neighbors(position, rowCount, columnCount);
            if (!neighbors.isEmpty()) {
                Random nextCloud = new Random();
                Position randomNeighbor = neighbors.get(nextCloud.nextInt(neighbors.size()));
                addElement(randomNeighbor, board, new Humain());
            }
    
            removeElement(position, board, new Humain());
        }
    
    
        @Override
        public ViewElement getViewElement() {
            return ViewElement.Humain;
        }
    
        @Override
        public boolean equals(Object obj) {
            return obj instanceof Humain;
        }
    }