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

FirefighterBoard.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.
    ModelElement.java 1.44 KiB
    package model.Elements;
    
    
    import model.Elements.Extinguisher.Cloud;
    import model.Elements.Extinguisher.Extinguisher;
    import model.Elements.Extinguisher.FireFighter;
    import model.Elements.Extinguisher.MotorizedFireFighter;
    import model.Elements.Obstacle.Mountain;
    import model.Elements.Obstacle.Obstacle;
    import model.Elements.Obstacle.Road;
    import model.Elements.Obstacle.Rocaille;
    import util.Position;
    
    
    public enum ModelElement {
    
      FIREFIGHTER(5),
      FIRE(25),
      CLOUD(10),
      ROAD(5),
      MOUNTAIN(5),
      ROCAILLE(3),
      MOTORIZEDFIREFIGHTER(3);
    
    
      private final int initialNumber;
    
    
    
      ModelElement(int initialNumber) {
        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);
          case MOUNTAIN -> new Mountain(position);
          case ROCAILLE -> new Rocaille(position);
          case MOTORIZEDFIREFIGHTER -> new MotorizedFireFighter(position);
          default -> throw new IllegalArgumentException("Unknown ModelElement: " + this);
          };
    
        }
    
    
    
    
    
      public boolean isObstacle() {
        return this.getModelElementClass(null) instanceof Obstacle;
    
      }
      public boolean isExtinguisher(){
        return this.getModelElementClass(null) instanceof Extinguisher;
      }
    
    
    
    
    
    }