Package robocode

Class TeamRobot

All Implemented Interfaces:
Runnable, IAdvancedEvents, IAdvancedRobot, IBasicEvents, IBasicEvents2, IBasicEvents3, IBasicRobot, IInteractiveEvents, IInteractiveRobot, IPaintEvents, IPaintRobot, ITeamEvents, ITeamRobot
Direct Known Subclasses:
RateControlRobot

public class TeamRobot extends AdvancedRobot implements ITeamRobot, ITeamEvents
An advanced type of robot that supports sending messages between team mates in a robot team.

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

Author:
Mathew A. Nelson (original), Flemming N. Larsen (contributor), Pavel Savara (contributor)
See Also:
  • Constructor Details

    • TeamRobot

      public TeamRobot()
  • 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
      Throws:
      IOException - if the message could not be broadcasted to the teammates
      See Also:
    • getMessageEvents

      public 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:
    • getTeamEventListener

      public final ITeamEvents getTeamEventListener()
      Do not call this method!

      This method is called by the game to notify this robot about team events. Hence, this method must be implemented so it returns your ITeamEvents listener.

      Specified by:
      getTeamEventListener in interface ITeamRobot
      Returns:
      listener to team events or null if this robot should not receive the notifications.
    • 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.
      See Also:
    • 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.
      See Also:
    • 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());
         }
       
      Specified by:
      onMessageReceived in interface ITeamEvents
      Parameters:
      event - the message event sent by the game
      See Also:
    • 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
      Throws:
      IOException - if the message could not be sent
      See Also: