robocode
Class TeamRobot

java.lang.Object
  extended by robocode._Robot
      extended by robocode.Robot
          extended by robocode._AdvancedRobot
              extended by robocode._AdvancedRadiansRobot
                  extended by robocode.AdvancedRobot
                      extended by robocode.TeamRobot
All Implemented Interfaces:
java.lang.Runnable

public class TeamRobot
extends AdvancedRobot

An advanced type of robot that supports messages between teammates.

If you have not already, you should create a Robot first.

Author:
Mathew A. Nelson (original), Flemming N. Larsen (contributor)
See Also:
Robot

Field Summary
 
Fields inherited from class robocode.Robot
out
 
Constructor Summary
TeamRobot()
           
 
Method Summary
 void broadcastMessage(java.io.Serializable message)
          Broadcasts a message to all teammates.
 java.util.Vector<MessageEvent> getMessageEvents()
          Returns a vector containing all MessageEvents currently in the robot's queue.
 java.lang.String[] getTeammates()
          Returns the names of all your teammates.
 boolean isTeammate(java.lang.String name)
          Checks if a given robot name is the name of one of your teammates.
 void onMessageReceived(MessageEvent event)
          This method is called when your robot receives a message from a teammate.
 void sendMessage(java.lang.String name, java.io.Serializable message)
          Sends a message to one (or more) teammates.
 
Methods inherited from class robocode.AdvancedRobot
addCustomEvent, clearAllEvents, execute, getAllEvents, getBulletHitBulletEvents, getBulletHitEvents, getBulletMissedEvents, getDataDirectory, getDataFile, getDataQuotaAvailable, getDistanceRemaining, getEventPriority, getGunTurnRemaining, getHitByBulletEvents, getHitRobotEvents, getHitWallEvents, getRadarTurnRemaining, getRobotDeathEvents, getScannedRobotEvents, getTurnRemaining, isAdjustGunForRobotTurn, isAdjustRadarForGunTurn, isAdjustRadarForRobotTurn, onCustomEvent, onDeath, onSkippedTurn, removeCustomEvent, setAhead, setBack, setEventPriority, setFire, setFireBullet, setInterruptible, setMaxTurnRate, setMaxVelocity, setResume, setStop, setStop, setTurnGunLeft, setTurnGunRight, setTurnLeft, setTurnRadarLeft, setTurnRadarRight, setTurnRight, waitFor
 
Methods inherited from class robocode._AdvancedRadiansRobot
getGunHeadingRadians, getGunTurnRemainingRadians, getHeadingRadians, getRadarHeadingRadians, getRadarTurnRemainingRadians, getTurnRemainingRadians, setTurnGunLeftRadians, setTurnGunRightRadians, setTurnLeftRadians, setTurnRadarLeftRadians, setTurnRadarRightRadians, setTurnRightRadians, turnGunLeftRadians, turnGunRightRadians, turnLeftRadians, turnRadarLeftRadians, turnRadarRightRadians, turnRightRadians
 
Methods inherited from class robocode._AdvancedRobot
endTurn, getGunHeadingDegrees, getHeadingDegrees, getMaxWaitCount, getRadarHeadingDegrees, getWaitCount, setTurnGunLeftDegrees, setTurnGunRightDegrees, setTurnLeftDegrees, setTurnRadarLeftDegrees, setTurnRadarRightDegrees, setTurnRightDegrees, turnGunLeftDegrees, turnGunRightDegrees, turnLeftDegrees, turnRadarLeftDegrees, turnRadarRightDegrees, turnRightDegrees
 
Methods inherited from class robocode.Robot
ahead, back, doNothing, finalize, fire, fireBullet, getBattleFieldHeight, getBattleFieldWidth, getEnergy, getGunCoolingRate, getGunHeading, getGunHeat, getHeading, getHeight, getName, getNumRounds, getOthers, getRadarHeading, getRoundNum, getTime, getVelocity, getWidth, getX, getY, onBulletHit, onBulletHitBullet, onBulletMissed, onHitByBullet, onHitRobot, onHitWall, onPaint, onRobotDeath, onScannedRobot, onWin, resume, run, scan, setAdjustGunForRobotTurn, setAdjustRadarForGunTurn, setAdjustRadarForRobotTurn, setAllColors, setBodyColor, setBulletColor, setColors, setColors, setGunColor, setRadarColor, setScanColor, stop, stop, turnGunLeft, turnGunRight, turnLeft, turnRadarLeft, turnRadarRight, turnRight
 
Methods inherited from class robocode._Robot
getBattleNum, getGunCharge, getGunImageName, getLife, getNumBattles, getRadarImageName, getRobotImageName, setGunImageName, setPeer, setRadarImageName, setRobotImageName, uninitializedException
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TeamRobot

public TeamRobot()
Method Detail

isTeammate

public boolean isTeammate(java.lang.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;
       } else {
           fire(1);
       }
   }
 

Parameters:
name - the robot name to check

getTeammates

public java.lang.String[] getTeammates()
Returns the names of all your teammates.

Example:

   public void run() {
       // Prints out all teammates
       for (String teammate : getTeammates()) {
           System.out.println(teammate);
       }
   }
 

Returns:
an array containing the names of all your teammates. The length of the array is equal to the number of teammates

broadcastMessage

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

Example:

   public void run() {
       broadcastMessage("I'm here!");
   }
 

Parameters:
message - the message to broadcast to all teammates
Throws:
java.io.IOException

sendMessage

public void sendMessage(java.lang.String name,
                        java.io.Serializable message)
                 throws java.io.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
Throws:
java.io.IOException

getMessageEvents

public java.util.Vector<MessageEvent> 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
See Also:
onMessageReceived(robocode.MessageEvent), MessageEvent

onMessageReceived

public void onMessageReceived(MessageEvent event)
This method is called when your robot receives a message from a teammate. You should override it in your robot if you want to be informed of this event.

Example:

   public void onMessageReceived(MessageEvent event) {
       out.println(event.getSender() + " sent me: " + event.getMessage());
   }
 

Parameters:
event - the event sent by the game
See Also:
MessageEvent, Event