## 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.

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

Method Summary
`void` `broadcastMessage(Serializable message)` Broadcasts a message to all teammates.
`List<MessageEvent>` `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.IStandardRobotPeer
`rescan, resume, setAdjustGunForBodyTurn, setAdjustRadarForBodyTurn, setAdjustRadarForGunTurn, stop, turnRadar`

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`

Method Detail

### getTeammates

    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(String)`, `broadcastMessage(Serializable)`, `sendMessage(String, Serializable)`

### isTeammate

    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:
    `getTeammates()`, `broadcastMessage(Serializable)`, `sendMessage(String, Serializable)`

### broadcastMessage

    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:
    `isTeammate(String)`, `getTeammates()`, `sendMessage(String, Serializable)`

### sendMessage

    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:
    `isTeammate(String)`, `getTeammates()`, `broadcastMessage(Serializable)`

### getMessageEvents

    List<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(MessageEvent)`, `MessageEvent`