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); } } }
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(); }
public RInfoShort(MapLocation l, int e, String t) { location = l; energon = (double) e; type = RobotType.valueOf(t); }