# All Classes

All Classes Interface Summary Class Summary Enum Summary Annotation Types Summary
AdvancedRobot: A more advanced type of robot than Robot that allows non-blocking calls, custom events, and writes to the filesystem.
BattleAdaptor: An abstract adapter class for receiving battle events by implementing the `IBattleListener`.
BattleCompletedEvent: A BattleCompletedEvent is sent to `onBattleCompleted()` when the battle is completed successfully and results are available.
BattleEndedEvent: A BattleEndedEvent is sent to `onBattleEnded()` when the battle is ended.
BattleErrorEvent: A BattleErrorEvent is sent to `onBattleError()` when an error message is sent from the game in the during the battle.
BattleEvent: This is the base class of all battle events.
BattlefieldSpecification: Defines the size of a battlefield, which is a part of the `BattleSpecification`.
BattleFinishedEvent: A BattleFinishedEvent is sent to `onBattleFinished()` when the battle is finished.
BattleMessageEvent: A BattleMessageEvent is sent to `onBattleMessage()` when an informal message is sent from the game in the during the battle.
BattlePausedEvent: A BattlePausedEvent is sent to `onBattlePaused()` when a battle has been paused.
BattleResults: Contains the battle results returned by `BattleEndedEvent.getResults()` when a battle has ended.
BattleResumedEvent: A BattleResumedEvent is sent to `onBattleResumed()` when a battle has been resumed (after having been paused).
BattleRules: Contains the battle rules returned by `BattleStartedEvent.getBattleRules()` when a battle is started and `BattleCompletedEvent.getBattleRules()` when a battle is completed.
BattleSpecification: A BattleSpecification defines a battle configuration used by the `RobocodeEngine`.
BattleStartedEvent: A BattleStartedEvent is sent to `onBattleStarted()` when a new battle is started.
BorderSentry: A robot that implements BorderSentry is a robot type used for keeping other robots away from the borders, i.e.
Bullet: Represents a bullet.
BulletHitBulletEvent: This event is sent to `onBulletHitBullet` when one of your bullets has hit another bullet.
BulletHitEvent: This event is sent to `onBulletHit` when one of your bullets has hit another robot.
BulletMissedEvent: This event is sent to `onBulletMissed` when one of your bullets has missed, i.e.
BulletState: Defines a bullet state, which can be: just fired, moving somewhere, hitting a victim, hitting another bullet, hitting the wall, exploded, or inactive.
Condition: Condition is used to define custom `waitFor(Condition)` and custom events for an `AdvancedRobot`.
CustomEvent: This event is sent to `onCustomEvent()` when a custom condition is met.
DeathEvent: This event is sent to `onDeath()` when your robot dies.
Droid: Robots that implement Droid have no scanner, but an extra 20 life/energy.
Event: The superclass of all Robocode events.
GunTurnCompleteCondition: A prebuilt condition you can use that indicates your gun has finished turning.
HitByBulletEvent: A HitByBulletEvent is sent to `onHitByBullet()` when your robot has been hit by a bullet.
HitRobotEvent: A HitRobotEvent is sent to `onHitRobot()` when your robot collides with another robot.
HitWallEvent: A HitWallEvent is sent to `onHitWall()` when you collide a wall.
IAdvancedEvents: An event interface for receiving advanced robot events with an `IAdvancedRobot`.
IAdvancedRobot: A robot interface for creating a more advanced type of robot like `AdvancedRobot` that is able to handle advanced robot events.
IAdvancedRobotPeer: The advanced robot peer for advanced robot types like `AdvancedRobot` and `TeamRobot`.
IBasicEvents: An event interface for receiving basic robot events with an `IBasicRobot`.
IBasicEvents2: First extended version of the `IBasicEvents` interface.
IBasicEvents3: Second extended version of the `IBasicEvents` interface.
IBasicRobot: A robot interface for creating a basic type of robot like `Robot` that is able to receive common robot events, but not interactive events as with the `Robot` class.
IBasicRobotPeer: The basic robot peer for all robot types.
IBattleListener: The listener interface for receiving "interesting" battle events from the game, e.g.
IBulletSnapshot: Interface of a bullet snapshot at a specific time in a battle.
IDebugProperty: Interface of a debug property, which is a key-value pair.
IInteractiveEvents: An event interface for receiving interactive events with an `IInteractiveRobot`.
IInteractiveRobot: A robot interface for creating an interactive type of robot like `Robot` and `AdvancedRobot` that is able to receive interactive events from the keyboard or mouse.
IJuniorRobot: A robot interface for creating the most primitive robot type, which is a `JuniorRobot`.
IJuniorRobotPeer: The junior robot peer for junior robot types like `JuniorRobot`.
IPaintEvents: An event interface for receiving paint events with an `IPaintRobot`.
IPaintRobot: A robot interface that makes it possible for a robot to receive paint events.
IRobocodeEngine: Interface for the RobocodeEngine.
IRobotSnapshot: Interface of a robot snapshot at a specific time in a battle.
IScoreSnapshot: Interface of a score snapshot at a specific time in a battle.
IStandardRobotPeer: The standard robot peer for standard robot types like `Robot`, `AdvancedRobot`, and `TeamRobot`.
ITeamEvents: An event interface for receiving robot team events with an `ITeamRobot`.
ITeamRobot: A robot interface for creating a team robot like `TeamRobot` that is able to receive team events.
ITeamRobotPeer: The team robot peer for team robots like `TeamRobot`.
ITurnSnapshot: Interface of a battle turn snapshot at a specific time in a battle.
JuniorRobot: This is the simplest robot type, which is simpler than the `Robot` and `AdvancedRobot` classes.
KeyEvent: Super class of all events that originates from the keyboard.
KeyPressedEvent: A KeyPressedEvent is sent to `onKeyPressed()` when a key has been pressed on the keyboard.
KeyReleasedEvent: A KeyReleasedEvent is sent to `onKeyReleased()` when a key has been released on the keyboard.
KeyTypedEvent: A KeyTypedEvent is sent to `onKeyTyped()` when a key has been typed (pressed and released) on the keyboard.
MessageEvent: A MessageEvent is sent to `onMessageReceived()` when a teammate sends a message to your robot.
MouseClickedEvent: A MouseClickedEvent is sent to `onMouseClicked()` when the mouse is clicked inside the battle view.
MouseDraggedEvent: A MouseDraggedEvent is sent to `onMouseDragged()` when the mouse is dragged inside the battle view.
MouseEnteredEvent: A MouseEnteredEvent is sent to `onMouseEntered()` when the mouse has entered the battle view.
MouseEvent: Super class of all events that originates from the mouse.
MouseExitedEvent: A MouseExitedEvent is sent to `onMouseExited()` when the mouse has exited the battle view.
MouseMovedEvent: A MouseMovedEvent is sent to `onMouseMoved()` when the mouse has moved inside the battle view.
MousePressedEvent: A MousePressedEvent is sent to `onMousePressed()` when the mouse is pressed inside the battle view.
MouseReleasedEvent: A MouseReleasedEvent is sent to `onMouseReleased()` when the mouse is released inside the battle view.
MouseWheelMovedEvent: A MouseWheelMovedEvent is sent to `onMouseWheelMoved()` when the mouse wheel is rotated inside the battle view.
MoveCompleteCondition: A prebuilt condition you can use that indicates your robot has finished moving.
PaintEvent: This event occurs when your robot should paint, where the `onPaint()` is called on your robot.
RadarTurnCompleteCondition: A prebuilt condition you can use that indicates your radar has finished turning.
RandomFactory: The RandomFactory is used for controlling the generation of random numbers, and supports generating random numbers that are deterministic, which is useful for testing purposes.
RateControlRobot: This advanced robot type allows you to set a rate for each of the robot's movements.
Robocode: Robocode - A programming game involving battling AI tanks. Copyright (c) 2001-2019 Mathew A.
RobocodeEngine: The RobocodeEngine is the interface provided for external applications in order to let these applications run battles within the Robocode application, and to get the results from these battles.
RobocodeFileOutputStream: RobocodeFileOutputStream is similar to a `FileOutputStream` and is used for streaming/writing data out to a file, which you got previously by calling `getDataFile()`.
RobocodeFileWriter: RobocodeFileWriter is similar to a `FileWriter` and is used for writing data out to a file, which you got by calling `getDataFile()`.
RobocodeListener: Deprecated. Since 1.6.2.
Robot: The basic robot class that you will extend to create your own robots.
RobotDeathEvent: This event is sent to `onRobotDeath()` when another robot (not your robot) dies.
RobotResults: Contains the battle results for an individual robot
RobotSetup: Contains the initial position and heading for a robot.
RobotSpecification: Defines the properties of a robot, which is returned from `RobocodeEngine.getLocalRepository()`.
RobotState: Defines a robot state, which can be: active on the battlefield, hitting a wall or robot this turn, or dead.
RobotStatus: Contains the status of a robot for a specific time/turn returned by `StatusEvent.getStatus()`.
RoundEndedEvent: A RoundEndedEvent is sent to `onRoundEnded()` when the current round of a battle has ended.
RoundEndedEvent: A RoundEndedEvent is sent to `onRoundEnded()` when a round has ended.
RoundStartedEvent: A RoundStartedEvent is sent to `onRoundStarted()` when a new round in a battle is started.
Rules: Constants and methods that defines the rules of Robocode.
SafeStatic: Annotation used for marking a static field as being safe so that Robocode should not print out warnings at runtime when this annotation is being used.
ScannedRobotEvent: A ScannedRobotEvent is sent to `onScannedRobot()` when you scan a robot.
SkippedTurnEvent: A SkippedTurnEvent is sent to `onSkippedTurn()` when your robot is forced to skipping a turn.
StatusEvent: This event is sent to `onStatus()` every turn in a battle to provide the status of the robot.
TeamRobot: An advanced type of robot that supports sending messages between team mates in a robot team.
TurnCompleteCondition: A prebuilt condition you can use that indicates your robot has finished turning.
TurnEndedEvent: A TurnEndedEvent is sent to `onTurnEnded()` when the current turn in a battle round is ended.
TurnStartedEvent: A TurnStartedEvent is sent to `onTurnStarted()` when a new turn in a battle round is started.
Utils: Utility class that provide methods for normalizing angles.
WinEvent: This event is sent to `onWin()` when your robot wins the round in a battle.
_AdvancedRadiansRobot: This class is used by the system as a placeholder for all *Radians calls in `AdvancedRobot`.
_AdvancedRobot: This class is used by the system, as well as being a placeholder for all deprecated (meaning, you should not use them) calls for `AdvancedRobot`.
_Robot: This class is used by the system, as well as being a placeholder for all deprecated (meaning, you should not use them) calls for `Robot`.
_RobotBase: This is the base class of all robots used by the system.