Package robocode

# Class ScannedRobotEvent

java.lang.Object
robocode.Event
robocode.ScannedRobotEvent

All Implemented Interfaces:
  `Serializable`, `Comparable<Event>`

public class ScannedRobotEvent extends Event
A ScannedRobotEvent is sent to `onScannedRobot()` when you scan a robot. You can use the information contained in this event to determine what to do.

Note: You should not inherit from this class in your own event class! The internal logic of this event class might change. Hence, your robot might not work in future Robocode versions, if you choose to inherit from this class.

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

## Constructor Summary

Constructors
Constructor
Description
`ScannedRobotEvent()`
Deprecated.
Use `ScannedRobotEvent(String, double, double, double, double, double, boolean)` instead.
`ScannedRobotEvent(String name, double energy, double bearing, double distance, double heading, double velocity)`
Deprecated.
Use `ScannedRobotEvent(String, double, double, double, double, double, boolean)` instead.
`ScannedRobotEvent(String name, double energy, double bearing, double distance, double heading, double velocity, boolean isSentryRobot)`
Called by the game to create a new ScannedRobotEvent.

## Method Summary

Modifier and Type
Method
Description
`final int`
`compareTo(Event event)`
Compares this event to another event regarding precedence.
`double`
`getBearing()`
Returns the bearing to the robot you scanned, relative to your robot's heading, in degrees (-180 invalid input: '<'= getBearing() invalid input: '<' 180)
`double`
`getBearingRadians()`
Returns the bearing to the robot you scanned, relative to your robot's heading, in radians (-PI invalid input: '<'= getBearingRadians() invalid input: '<' PI)
`double`
`getDistance()`
Returns the distance to the robot (your center to his center).
`double`
`getEnergy()`
Returns the energy of the robot.
`double`
`getHeading()`
Returns the heading of the robot, in degrees (0 invalid input: '<'= getHeading() invalid input: '<' 360)
`double`
`getHeadingRadians()`
Returns the heading of the robot, in radians (0 invalid input: '<'= getHeading() invalid input: '<' 2 * PI)
`double`
`getLife()`
Deprecated.
Use `getEnergy()` instead.
`String`
`getName()`
Returns the name of the robot.
`double`
`getRobotBearing()`
Deprecated.
Use `getBearing()` instead.
`double`
`getRobotBearingDegrees()`
Deprecated.
Use `getBearing()` instead.
`double`
`getRobotBearingRadians()`
Deprecated.
Use `getBearingRadians()` instead.
`double`
`getRobotDistance()`
Deprecated.
Use `getDistance()` instead.
`double`
`getRobotHeading()`
Deprecated.
Use `getHeading()` instead.
`double`
`getRobotHeadingDegrees()`
Deprecated.
Use `getHeading()` instead.
`double`
`getRobotHeadingRadians()`
Deprecated.
Use `getHeadingRadians()` instead.
`double`
`getRobotLife()`
Deprecated.
Use `getEnergy()` instead.
`String`
`getRobotName()`
Deprecated.
Use `getName()` instead.
`double`
`getRobotVelocity()`
Deprecated.
Use `getVelocity()` instead.
`double`
`getVelocity()`
Returns the velocity of the robot.
`boolean`
`isSentryRobot()`
Checks if the scanned robot is a sentry robot.

### Methods inherited from class robocode.Event

`getPriority, getTime, setPriority, setTime`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### ScannedRobotEvent

public ScannedRobotEvent()
Deprecated.
Use `ScannedRobotEvent(String, double, double, double, double, double, boolean)` instead.
This constructor is only provided in order to preserve backwards compatibility with old robots that inherits from this Event class.

Note: You should not inherit from this class in your own event class! The internal logic of this event class might change. Hence, your robot might not work in future Robocode versions, if you choose to inherit from this class.

### ScannedRobotEvent

public ScannedRobotEvent(String name, double energy, double bearing, double distance, double heading, double velocity)
Deprecated.
Use `ScannedRobotEvent(String, double, double, double, double, double, boolean)` instead.
Called by the game to create a new ScannedRobotEvent.

Parameters:
  `name` - the name of the scanned robot
  `energy` - the energy of the scanned robot
  `bearing` - the bearing of the scanned robot, in radians
  `distance` - the distance from your robot to the scanned robot
  `heading` - the heading of the scanned robot
  `velocity` - the velocity of the scanned robot

### ScannedRobotEvent

public ScannedRobotEvent(String name, double energy, double bearing, double distance, double heading, double velocity, boolean isSentryRobot)
Called by the game to create a new ScannedRobotEvent.

Parameters:
  `name` - the name of the scanned robot
  `energy` - the energy of the scanned robot
  `bearing` - the bearing of the scanned robot, in radians
  `distance` - the distance from your robot to the scanned robot
  `heading` - the heading of the scanned robot
  `velocity` - the velocity of the scanned robot
  `isSentryRobot` - flag specifying if the scanned robot is a sentry robot
Since:
  1.9.0.0

## Method Details

### getBearing

public double getBearing()
Returns the bearing to the robot you scanned, relative to your robot's heading, in degrees (-180 invalid input: '<'= getBearing() invalid input: '<' 180)

Returns:
  the bearing to the robot you scanned, in degrees

### getBearingRadians

public double getBearingRadians()
Returns the bearing to the robot you scanned, relative to your robot's heading, in radians (-PI invalid input: '<'= getBearingRadians() invalid input: '<' PI)

Returns:
  the bearing to the robot you scanned, in radians

### getDistance

public double getDistance()
Returns the distance to the robot (your center to his center).

Returns:
  the distance to the robot.

### getEnergy

public double getEnergy()
Returns the energy of the robot.

Returns:
  the energy of the robot

### getHeading

public double getHeading()
Returns the heading of the robot, in degrees (0 invalid input: '<'= getHeading() invalid input: '<' 360)

Returns:
  the heading of the robot, in degrees

### getHeadingRadians

public double getHeadingRadians()
Returns the heading of the robot, in radians (0 invalid input: '<'= getHeading() invalid input: '<' 2 * PI)

Returns:
  the heading of the robot, in radians

### getLife

@Deprecated public double getLife()
Deprecated.
Use `getEnergy()` instead.

Returns:
  the energy of the robot

### getName

public String getName()
Returns the name of the robot.

Returns:
  the name of the robot

### getRobotBearing

@Deprecated public double getRobotBearing()
Deprecated.
Use `getBearing()` instead.

Returns:
  the bearing to the robot you scanned, in degrees

### getRobotBearingDegrees

@Deprecated public double getRobotBearingDegrees()
Deprecated.
Use `getBearing()` instead.

Returns:
  the robot bearing in degrees

### getRobotBearingRadians

@Deprecated public double getRobotBearingRadians()
Deprecated.
Use `getBearingRadians()` instead.

Returns:
  the bearing to the robot you scanned, in radians

### getRobotDistance

@Deprecated public double getRobotDistance()
Deprecated.
Use `getDistance()` instead.

Returns:
  the distance to the robot.

### getRobotHeading

@Deprecated public double getRobotHeading()
Deprecated.
Use `getHeading()` instead.

Returns:
  the heading of the robot, in degrees

### getRobotHeadingDegrees

@Deprecated public double getRobotHeadingDegrees()
Deprecated.
Use `getHeading()` instead.

Returns:
  the heading of the robot, in degrees

### getRobotHeadingRadians

@Deprecated public double getRobotHeadingRadians()
Deprecated.
Use `getHeadingRadians()` instead.

Returns:
  the heading of the robot, in radians

### getRobotLife

@Deprecated public double getRobotLife()
Deprecated.
Use `getEnergy()` instead.

Returns:
  the energy of the robot

### getRobotName

@Deprecated public String getRobotName()
Deprecated.
Use `getName()` instead.

Returns:
  the name of the robot

### getRobotVelocity

@Deprecated public double getRobotVelocity()
Deprecated.
Use `getVelocity()` instead.

Returns:
  the velocity of the robot

### getVelocity

public double getVelocity()
Returns the velocity of the robot.

Returns:
  the velocity of the robot

### isSentryRobot

public boolean isSentryRobot()
Checks if the scanned robot is a sentry robot.

Returns:
  `true` if the scanned robot is a sentry robot; `false` otherwise.
Since:
  1.9.0.0

### compareTo

public final int compareTo(Event event)
Compares this event to another event regarding precedence. The event precedence is first and foremost determined by the event time, secondly the event priority, and lastly specific event information.

This method will first compare the time of each event. If the event time is the same for both events, then this method compared the priority of each event. If the event priorities are equals, then this method will compare the two event based on specific event information.

This method is called by the game in order to sort the event queue of a robot to make sure the events are listed in chronological order.

Specified by:
  `compareTo` in interface `Comparable<Event>`
Overrides:
  `compareTo` in class `Event`
Parameters:
  `event` - the event to compare to this event.
Returns:
  a negative value if this event has higher precedence, i.e. must be listed before the specified event. A positive value if this event has a lower precedence, i.e. must be listed after the specified event. 0 means that the precedence of the two events are equal.