# All Classes and Interfaces

Class
Description
_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.
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.
CodeSizeCalculator
Tool used for calculating the code size of a directory or jar file.
Condition
Condition is used to define custom `waitFor(Condition)` and custom events for an `AdvancedRobot`.
ContainerBase
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.
FileUtil
This is a class for file utilization.
GLRenderer
Dummy class that stub out RobocodeGL 0.1.4 functionality.
GunTurnCompleteCondition
A prebuilt condition you can use that indicates your gun has finished turning.
HiddenAccess
Helpers for accessing hidden methods on events.
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.
IBattleManagerBase
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.
IHiddenBulletHelper
IHiddenEventHelper
IHiddenRulesHelper
IHiddenSpecificationHelper
IHiddenStatusHelper
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`.
IModule
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.
IRepositoryManagerBase
IRobocodeEngine
Interface for the RobocodeEngine.
IRobotSnapshot
Interface of a robot snapshot at a specific time in a battle.
IRobotStatics
IScoreSnapshot
Interface of a score snapshot at a specific time in a battle.
ISerializableHelper
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`.
IThreadManagerBase
ITurnSnapshot
Interface of a battle turn snapshot at a specific time in a battle.
IVersionManagerBase
IWindowManagerBase
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.
Logger
This is a class used for logging.
MessageEvent
A MessageEvent is sent to `onMessageReceived()` when a teammate sends a message to your robot.
Module
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.
RbSerializer
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.
RobocodeProperties
Utility class for convenient access to Robocode system wide properties.
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.
SafeComponent
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.
StringUtil
Class for utilizing strings.
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.
UrlUtil
Utility class used for working on URLs.
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.