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:
  • Constructor Details

    • ScannedRobotEvent

      public ScannedRobotEvent()
      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)
      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 <= getBearing() < 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 <= getBearingRadians() < 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 <= getHeading() < 360)
      Returns:
      the heading of the robot, in degrees
    • getHeadingRadians

      public double getHeadingRadians()
      Returns the heading of the robot, in radians (0 <= getHeading() < 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.