Skip to content
Snippets Groups Projects
ModelElement.java 1.39 KiB
Newer Older
  • Learn to ignore specific revisions
  • LABOUREL Arnaud's avatar
    LABOUREL Arnaud committed
    package model;
    
    import util.Position;
    
    import java.util.ArrayList;
    import java.util.List;
    
    
    public enum ModelElement {
    
    MEHDI's avatar
    MEHDI committed
      ROAD(5),
    
    MEHDI's avatar
    MEHDI committed
      MOUNTAIN(5),
      ROCAILLE(3);
    
        this.initialNumber = initialNumber;
      }
    
      public int getInitialNumber(){
        return this.initialNumber;
      }
    
      public Element getModelElementClass(Position position){
    
        return switch (this){
          case FIRE -> new Fire(position);
          case ROAD -> new Road(position);
          case FIREFIGHTER -> new FireFighter(position);
          case CLOUD -> new Cloud(position);
    
    MEHDI's avatar
    MEHDI committed
          case MOUNTAIN -> new Montain(position);
    
    MEHDI's avatar
    MEHDI committed
          case ROCAILLE -> new Rocaille(position);
    
          default -> throw new IllegalArgumentException("Unknown ModelElement: " + this);
          };
    
        }
    
    
    
    
      public static List<Integer> getInitialNumbers(){
        List<Integer>listIninitalNumbers = new ArrayList<>();
        for(ModelElement modelElement : ModelElement.values()){
          listIninitalNumbers.add(modelElement.getInitialNumber());
        }
        return listIninitalNumbers;
      }
    
      public boolean isObstacle(){
        if(this.getModelElementClass(null) instanceof Obstacle){
          return true;
        }
        return false;
      }
    
      public boolean isExtinguisher(){
        if(this.getModelElementClass(null) instanceof Extinguisher){
          return true;
        }
        return false;