robocode.robotinterfaces.peer

Interface ITeamRobotPeer

All Superinterfaces:
IAdvancedRobotPeer, IBasicRobotPeer, IStandardRobotPeer

public interface ITeamRobotPeer
extends IAdvancedRobotPeer

The team robot peer for team robots like TeamRobot.

A robot peer is the object that deals with game mechanics and rules, and makes sure your robot abides by them.

Authors:
Pavel Savara (original)
Flemming N. Larsen (javadoc)
Since:
1.6
See Also:
IBasicRobotPeer, IStandardRobotPeer, IAdvancedRobotPeer, IJuniorRobotPeer

Method Summary

void
broadcastMessage(Serializable message)
Broadcasts a message to all teammates.
List
getMessageEvents()
Returns a vector containing all MessageEvents currently in the robot's queue.
String[]
getTeammates()
Returns the names of all teammates, or null there is no teammates.
boolean
isTeammate(String name)
Checks if a given robot name is the name of one of your teammates.
void
sendMessage(String name, Serializable message)
Sends a message to one (or more) teammates.

Methods inherited from interface robocode.robotinterfaces.peer.IAdvancedRobotPeer

addCustomEvent, clearAllEvents, getAllEvents, getBulletHitBulletEvents, getBulletHitEvents, getBulletMissedEvents, getDataDirectory, getDataFile, getDataQuotaAvailable, getEventPriority, getHitByBulletEvents, getHitRobotEvents, getHitWallEvents, getRobotDeathEvents, getScannedRobotEvents, isAdjustGunForBodyTurn, isAdjustRadarForBodyTurn, isAdjustRadarForGunTurn, removeCustomEvent, setEventPriority, setInterruptible, setMaxTurnRate, setMaxVelocity, setMove, setResume, setStop, setTurnBody, setTurnGun, setTurnRadar, waitFor

Methods inherited from interface robocode.robotinterfaces.peer.IBasicRobotPeer

execute, fire, getBattleFieldHeight, getBattleFieldWidth, getBodyHeading, getBodyTurnRemaining, getCall, getDistanceRemaining, getEnergy, getGunCoolingRate, getGunHeading, getGunHeat, getGunTurnRemaining, getName, getNumRounds, getOthers, getRadarHeading, getRadarTurnRemaining, getRoundNum, getTime, getVelocity, getX, getY, move, setBodyColor, setBulletColor, setCall, setFire, setGunColor, setRadarColor, setScanColor, turnBody, turnGun

Methods inherited from interface robocode.robotinterfaces.peer.IStandardRobotPeer

rescan, resume, setAdjustGunForBodyTurn, setAdjustRadarForBodyTurn, setAdjustRadarForGunTurn, stop, turnRadar

Method Details

broadcastMessage

public void broadcastMessage(Serializable message)
            throws IOException
Broadcasts a message to all teammates.

Example:

   public void run() {
       broadcastMessage("I'm here!");
   }
 
Parameters:
message - the message to broadcast to all teammates

getMessageEvents

public List getMessageEvents()
Returns a vector containing all MessageEvents currently in the robot's queue. You might, for example, call this while processing another event.

Example:

   for (MessageEvent e : getMessageEvents()) {
      // do something with e
   }
 
Returns:
a vector containing all MessageEvents currently in the robot's queue
Since:
1.2.6

getTeammates

public String[] getTeammates()
Returns the names of all teammates, or null there is no teammates.

Example:

   public void run() {
       // Prints out all teammates
       String[] teammates = getTeammates();
       if (teammates != null) {
           for (String member : teammates) {
               out.println(member);
           }
       }
   }
 
Returns:
a String array containing the names of all your teammates, or null if there is no teammates. The length of the String array is equal to the number of teammates.

isTeammate

public boolean isTeammate(String name)
Checks if a given robot name is the name of one of your teammates.

Example:

   public void onScannedRobot(ScannedRobotEvent e) {
       if (isTeammate(e.getName()) {
           return;
       }
       fire(1);
   }
 
Parameters:
name - the robot name to check
Returns:
true if the specified name belongs to one of your teammates; false otherwise.

sendMessage

public void sendMessage(String name,
                        Serializable message)
            throws IOException
Sends a message to one (or more) teammates.

Example:

   public void run() {
       sendMessage("sample.DroidBot", "I'm here!");
   }
 
Parameters:
name - the name of the intended recipient of the message
message - the message to send