Esempio n. 1
0
  public void newUnit(int senderID, MapLocation location, String robotType) {
    if (RobotType.valueOf(robotType).isBuilding()) {
      if (sensing.knownAlliedTowerLocations == null) sensing.senseAlliedTowerLocations();

      if (!sensing.knownAlliedTowerLocations.containsKey(senderID)) {
        sensing.knownAlliedTowerLocations.put(new Integer(senderID), location);
        sensing.knownAlliedTowerIDs.put(location.getX() + "," + location.getY(), senderID);
      }
    }
  }
Esempio n. 2
0
 public String toString(String comp) {
   RobotType rt;
   try {
     rt = RobotType.valueOf(comp);
   } catch (IllegalArgumentException e) {
     return null;
   }
   StringBuilder builder = new StringBuilder();
   try {
     append(builder, "Level", rt.level.name());
     append(builder, "Max Energon", String.format("%1.0f", rt.maxEnergon));
     append(builder, "Max Flux", String.format("%1.0f", rt.maxFlux));
     if (rt.spawnCost > 0) append(builder, "Spawn Cost", String.format("%1.0f", rt.spawnCost));
     if (rt.moveDelayOrthogonal > 0) {
       append(builder, "Move Delay Orthogonal", String.format("%d", rt.moveDelayOrthogonal));
       append(builder, "Move Delay Diagonal", String.format("%d", rt.moveDelayDiagonal));
       // display cost for archons even though it's zero
       append(builder, "Move Cost", String.format("%1.1f", rt.moveCost));
     }
     if (rt.sensorAngle > 0) {
       append(builder, "Sensor Radius Squared", String.format("%d", rt.sensorRadiusSquared));
       append(builder, "Sensor Angle", String.format("%1.0f", rt.sensorAngle));
     }
     if (rt.canAttackAir || rt.canAttackGround) {
       append(
           builder, "Min Attack Radius Squared", String.format("%d", rt.attackRadiusMinSquared));
       append(
           builder, "Max Attack Radius Squared", String.format("%d", rt.attackRadiusMaxSquared));
       append(builder, "Attack Angle", String.format("%1.0f", rt.attackAngle));
       append(builder, "Attack Power", String.format("%1.1f", rt.attackPower));
       append(builder, "Attack Delay", String.format("%d", rt.attackDelay));
       String attacks;
       if (rt.canAttackAir && rt.canAttackGround) attacks = "Air, Ground";
       else if (rt.canAttackAir) attacks = "Air";
       else attacks = "Ground";
       append(builder, "Attacks", attacks);
     }
   } catch (Exception e) {
     e.printStackTrace();
   }
   return builder.toString();
 }
Esempio n. 3
0
 public RInfoShort(MapLocation l, int e, String t) {
   location = l;
   energon = (double) e;
   type = RobotType.valueOf(t);
 }