Package 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 (contributor)
See Also:
  - `IBasicRobotPeer`
  - `IStandardRobotPeer`
  - `IAdvancedRobotPeer`
  - `IJuniorRobotPeer`

## Method Summary

Modifier and Type
Method
Description
`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, getNumSentries, getOthers, getRadarHeading, getRadarTurnRemaining, getRoundNum, getSentryBorderSize, getTime, getVelocity, getX, getY, move, rescan, setBodyColor, setBulletColor, setCall, setDebugProperty, setFire, setGunColor, setRadarColor, setScanColor, turnBody, turnGun`

### Methods inherited from interface robocode.robotinterfaces.peer.IStandardRobotPeer

`resume, setAdjustGunForBodyTurn, setAdjustRadarForBodyTurn, setAdjustRadarForGunTurn, stop, turnRadar`

## Method Details

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