# Package robocode

Robot API used for writing robots for Robocode.

Interface Summary
BorderSentry: A robot that implements BorderSentry is a robot type used for keeping other robots away from the borders, i.e.
Droid: Robots that implement Droid have no scanner, but an extra 20 life/energy.

Class Summary
_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.
BattleEndedEvent: A BattleEndedEvent is sent to `onBattleEnded()` when the battle is ended.
BattleResults: Contains the battle results returned by `BattleEndedEvent.getResults()` when a battle has ended.
BattleRules: Contains the battle rules returned by `BattleStartedEvent.getBattleRules()` when a battle is started and `BattleCompletedEvent.getBattleRules()` when a battle is completed.
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.
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.
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.
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.
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.
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()`.
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.
RobotStatus: Contains the status of a robot for a specific time/turn returned by `StatusEvent.getStatus()`.
RoundEndedEvent: A RoundEndedEvent is sent to `onRoundEnded()` when a round has ended.
Rules: Constants and methods that defines the rules of Robocode.
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.
WinEvent: This event is sent to `onWin()` when your robot wins the round in a battle.