⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 constantconditions.java

📁 2004年robotcup世界冠军源代码
💻 JAVA
字号:
// Added By Omid Aghazadehpackage MRL.Utilities;import yab.agent.*;import yab.agent.object.*;import MRL.Utilities.Partitioning.Path;import java.util.*;  //saeed 85-2-3public abstract interface ConstantConditions {  // ------------------------------------------------------------------- Object  static final Condition TRUE_C = new Condition() {    public boolean eval(Object obj) {      return true;    }  };  static final Condition FALSE_C = new Condition() {    public boolean eval(Object obj) {      return false;    }  };  static final Condition CIVILIAN_C = new Condition() {    public boolean eval(Object obj) {      return (obj instanceof Civilian);    }  };  public static final Condition FIRE_BRIGADE_C = new Condition() {    public boolean eval(Object obj) {      return (obj instanceof FireBrigade);    }  };  public static final Condition AMBULANCE_TEAM_C = new Condition() {    public boolean eval(Object obj) {      return (obj instanceof AmbulanceTeam);    }  };  public static final Condition POLICE_FORCE_C = new Condition() {    public boolean eval(Object obj) {      return (obj instanceof PoliceForce);    }  };  static final Condition PLATOON_C = new Condition() {    public boolean eval(Object obj) {      return (obj instanceof PlatoonAgent);    }  };  public static final Condition AMBULANCE_CENTER_C = new Condition() {    public boolean eval(Object obj) {      return (obj instanceof AmbulanceCenter);    }  };  public static final Condition FIRE_STATION_C = new Condition() {    public boolean eval(Object obj) {      return (obj instanceof FireStation);    }  };  public static final Condition POLICE_OFFICE_C = new Condition() {    public boolean eval(Object obj) {      return (obj instanceof PoliceOffice);    }  };  static final Condition ROAD_C = new Condition() {    public boolean eval(Object obj) {      return (obj instanceof Road);    }  };  public static final Condition NODE_C = new Condition() {    public boolean eval(Object obj) {      return (obj instanceof Node);    }  };  public static final Condition MOTIONLESS_OBJECT_C = new Condition() {    public boolean eval(Object obj) {      return (obj instanceof MotionlessObject);    }  };  static final Condition BUILDING_C = new Condition() {    public boolean eval(Object obj) {      return (obj instanceof Building);    }  };  static final Condition REFUGE_C = new Condition() {    public boolean eval(Object obj) {      return (obj instanceof Refuge);    }  };  static final Condition PATH_C = new Condition() {    public boolean eval(Object obj) {      return (obj instanceof Path);    }  };  static final Condition CENTER_C = new Condition() {    public boolean eval(Object obj) {      return (obj instanceof PoliceOffice || obj instanceof AmbulanceCenter ||              obj instanceof FireStation);    }  };  static final Condition SPECIAL_BUILDING_C = REFUGE_C.or(CENTER_C);  public static final Condition VISIBLE_C = new Condition() {    public boolean eval(Object obj) {      return ((RCRObject) obj).isVisible();    }  };  public static final Condition MO_POS_SET_C = new Condition() {    public boolean eval(Object obj) {      return ((MovingObject) obj).position() != null;    }  };  public static final Condition HAS_BEEN_SEEN_CND      = Property.get("RealObject", "hasBeenSeen").equal(Boolean.TRUE);  public static final Condition HAS_NOT_BEEN_SEEN_CND      = Property.get("RealObject", "hasBeenSeen").equal(Boolean.FALSE);  // ------------------------------------------------------------- MovingObject  /*     static final Condition MISSED_C = new Condition() {    public boolean eval(Object obj) {      return ( (MovingObject) obj).isMissed();    }     };     static final Condition LOST_C = new Condition() {    public boolean eval(Object obj) {      return ( (MovingObject) obj).isLost();    }     };   */  // ----------------------------------------------------------------- Humanoid  public static final Condition BURIED_C = new Condition() {    public boolean eval(Object obj) {      return ((Humanoid) obj).isBuried();    }  };  public static final Condition NEED_LOAD_C = new Condition() {    public boolean eval(Object obj) {      return ((Humanoid) obj).needLoad();    }  };  public static final Condition ALIVE_C = new Condition() {    public boolean eval(Object obj) {      return ((Humanoid) obj).hp() > 0;    }  };  public static final Condition HUMANOID_C = new Condition() {    public boolean eval(Object obj) {      return obj instanceof Humanoid;    }  };  public static final Condition AGENT_C = HUMANOID_C.and(CIVILIAN_C.not());  public static final Condition HUM_TO_REP_C = HUMANOID_C.and(VISIBLE_C).and(BURIED_C).and(ALIVE_C);  public static final Condition NEED_RESCUE_C = new Condition() {    public boolean eval(Object obj) {      return ((Humanoid) obj).needRescue();    }  };  // ----------------------------------------------------------------- Building  static final Condition NOT_BURNED_C = new Condition() {    public boolean eval(Object obj) {      return ((Building) obj).isUnburned();    }  };  public static final Condition BURNING_C = new Condition() {    public boolean eval(Object obj) {      return ((Building) obj).isBurning();    }  };  static final Condition PUT_OUT_C = new Condition() {    public boolean eval(Object obj) {      return ((Building) obj).isPutOut();    }  };  static final Condition BURNED_C = new Condition() {    public boolean eval(Object obj) {      return ((Building) obj).isBurned();    }  };  // --------------------------------------------------------------------- Road  static final Condition MOVABLE_BOTH_DIRECTIONS_C = new Condition() {    public boolean eval(Object obj) {      return ((Road) obj).isMovableBothDirections();    }  };  //static final Condition NOT_MOVABLE_BOTH_DIRECTIONS_C = new Condition() {  //  public boolean eval(Object obj)  //    { return ((Road) obj).isNotMovableBothDirections(); }  //};  static final Condition MOVABLE_AT_LEAST_ONE_DIRECTION_C = new Condition() {    public boolean eval(Object obj) {      return ((Road) obj).isMovableAtLeastOneDirection();    }  };  //static final Condition NOT_MOVABLE_AT_LEAST_ONE_DIRECTION_C=new Condition(){  //  public boolean eval(Object obj)  //    { return ((Road) obj).isNotMovableAtLeastOneDirection(); }  //};  public static final Condition PASSABLE_C = new Condition() {    public boolean eval(Object obj) {      if(obj instanceof Road){          Road rd = (Road) obj;          return ( rd.linesToHead() == 0 || rd.passableLinesToHead() > 0 ) &&                 (rd.linesToTail() == 0 || rd.passableLinesToTail() > 0);      }      else if (obj instanceof Path){        Path path = (Path) obj;        if(path.isOneWayPath()){            return path.passableLinesFromStart(path.getFirstNodeForOneWayPaths()) > 0;        }        else return path.passableLines() > 0;      }      throw new Error ("Invalid Usage");    }  };  public static final Condition NOT_PASSABLE_C = PASSABLE_C.not();  public static final Condition CLEARABLE_C = new Condition() {    public boolean eval(Object obj) {      return ((Road) obj).isClearable();    }  };  public static final Condition SHOULD_CHECK_ROAD_CND = HAS_NOT_BEEN_SEEN_CND.      or(NOT_PASSABLE_C);  public static final Condition SHOULD_CHECK_PATH_CND = new Condition() {    public boolean eval(Object obj) {      return ((Path) obj).shouldCheck();    }  };  public static final Property      DAMAGE_PRP = Property.get("Humanoid", "damage"),                   BURIEDNESS_PRP = Property.get("Humanoid", "buriedness"),                                    POSITION_PRP = Property.get("MovingObject",      "position"),      FIERYNESS_PRP = Property.get("Building", "fieryness"),                      LIFESPAN_PRP = Property.get("Humanoid", "lifespan");  public static final Property BROKENNESS_PRP = Property.get("Building", "brokenness");  public static final float IN_BLOCKS = (float) Integer.MAX_VALUE * (float) Integer.MAX_VALUE;  public static final float NOT_SEEN_RD = (float) Integer.MAX_VALUE;  public static final Condition BROKEN_CND = new Condition() {      public boolean eval(Object obj) {        return ((Building) obj).brokenness()>0;      }    };    public static final Comparator BROKENNESS_COMP = new Comparator(){      public int compare(Object obj1 , Object obj2){        return ((Building) obj1).brokenness() - ((Building)obj2).brokenness();      }    };}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -