### 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<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`, `getStatusEvents`, `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`, `getGraphics`, `getGunCoolingRate`, `getGunHeading`, `getGunHeat`, `getGunTurnRemaining`, `getName`, `getNumRounds`, `getOthers`, `getRadarHeading`, `getRadarTurnRemaining`, `getRoundNum`, `getTime`, `getVelocity`, `getX`, `getY`, `move`, `setBodyColor`, `setBulletColor`, `setCall`, `setDebugProperty`, `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
> See Also:
>   `isTeammate(String)`, `getTeammates()`, `sendMessage(String,Serializable)`

### getMessageEvents

    public 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`

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

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

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