This wiki is archived and useful information is being migrated to the main bzflag.org website
Editing BZRobots/API
Warning: The database has been locked for maintenance, so you will not be able to save your edits right now. You may wish to copy and paste your text into a text file and save it for later.
The administrator who locked it offered this explanation: Archived wiki
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 3: | Line 3: | ||
− | The [[BZRobots]] API is based heavily on the [http://robocode.sourceforge.net/ robocode] project. It is class-based, meaning that a robot is built by extending from one of the following | + | The [[BZRobots]] API is based heavily on the [http://robocode.sourceforge.net/ robocode] project. It is class-based, meaning that a robot is built by extending from one of the following four classes: |
− | * | + | * BZRobot (An easy-to-use robot with a simplified API, e.g. degree units, etc.) |
− | * | + | * BZAdvancedRobot (A robot with more advanced features in the API, e.g. radian units, etc.) |
+ | * Robot (Similar to BZRobot - for [http://robocode.sourceforge.net/ robocode] compatibility) | ||
+ | * AdvancedRobot (Similar to BZAdvancedRobot - for [http://robocode.sourceforge.net/ robocode] compatibility) | ||
− | The main control loop is created by overriding the class method ''run'', and then using the methods shown below to control the robot. These control methods fit into two categories 'blocking', and 'non-blocking'. A blocking function, once called, will not return until either the requested action has completed, or the amount of time allotted for a "turn" or "tick" has passed - whichever comes later. | + | The main control loop is created by overriding the class method ''run'', and then using the methods shown below to control the robot. These control methods fit into two categories 'blocking', and 'non-blocking'. A blocking function, once called, will not return until either the requested action has completed, or the amount of time allotted for a "turn" or "tick" has passed - whichever comes later. Non-blocking functions will return immediately, allowing for additional processing, but their actions do not take effect immediately; rather, they will take place when the ''execute'' method is called. After a blocking function has been called, various "events" that have been generated during that turn may be processed by the various event methods, if they have been overridden. |
− | |||
− | + | '''Note:''' ''As BZRobots currently supports bot scripts written in three different languages, the following is a language independent description of the methods available for bot development.'' | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | '''Note:''' ''As BZRobots currently supports bot scripts written in three different languages, the following is language independent description of the methods available for bot development. | + | |
{| cellpadding=4 {{Prettytable}} | {| cellpadding=4 {{Prettytable}} | ||
|- | |- | ||
− | ! colspan= | + | ! colspan=8 {{Hl3}} |==BZRobot Methods== |
+ | |- | ||
+ | ! rowspan=2 {{Hl3}} |'''Method''' | ||
+ | ! rowspan=2 {{Hl3}} |'''Description''' | ||
+ | ! rowspan=2 {{Hl3}} |'''Blocking''' | ||
+ | ! colspan=4 {{Hl3}} |'''Available In''' | ||
+ | ! rowspan=2 {{Hl3}} |'''Functional''' | ||
|- | |- | ||
− | | {{Hl3}} |''' | + | | {{Hl3}} |'''BZR''' |
− | | {{Hl3}} |''' | + | | {{Hl3}} |'''BZAR''' |
− | | {{Hl3}} |''' | + | | {{Hl3}} |'''R''' |
− | | {{Hl3}} |''' | + | | {{Hl3}} |'''AR''' |
− | + | ||
− | + | ||
− | + | ||
|- | |- | ||
| void ahead(double distance) | | void ahead(double distance) | ||
Line 39: | Line 36: | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | ! bgcolor="#00BB00" | | + | ! bgcolor="#00BB00" | Y |
+ | ! bgcolor="#00BB00" | Y | ||
|- | |- | ||
| void back(double distance) | | void back(double distance) | ||
Line 47: | Line 45: | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
|- | |- | ||
− | | void doNothing() | + | | void doNothing() |
− | | | + | | Does nothing (equivalent of a short sleep) |
− | + | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
− | |||
− | |||
− | |||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
|- | |- | ||
− | | void fire( | + | | void fire() |
| Fires a single shot | | Fires a single shot | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
− | |||
− | |||
− | |||
− | |||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
− | |||
|- | |- | ||
− | | | + | | double getBattleFieldSize() |
− | | Returns | + | | Returns the size of the battle field |
− | + | ||
! bgcolor="#BB0000" | N | ! bgcolor="#BB0000" | N | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
− | |||
− | |||
− | |||
− | |||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
− | |||
|- | |- | ||
| double getGunCoolingRate() | | double getGunCoolingRate() | ||
Line 158: | Line 80: | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
− | |||
− | |||
− | |||
− | |||
! bgcolor="#BB0000" | N | ! bgcolor="#BB0000" | N | ||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| double getGunHeat() | | double getGunHeat() | ||
Line 182: | Line 89: | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | ! bgcolor="#00BB00" | Y | + | ! bgcolor="#00BB00" | Y |
− | + | ||
|- | |- | ||
| double getHeading() | | double getHeading() | ||
Line 207: | Line 99: | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | ! bgcolor="#00BB00" | Y | + | ! bgcolor="#00BB00" | Y |
− | + | ||
|- | |- | ||
| double getHeight() | | double getHeight() | ||
Line 222: | Line 107: | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
|- | |- | ||
− | | | + | | double getLength() |
− | | | + | | Returns the length (Y-size) of the robot |
! bgcolor="#BB0000" | N | ! bgcolor="#BB0000" | N | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
|- | |- | ||
− | | | + | | const char * getName() |
− | | | + | | Returns the name (Callsign) of the robot |
! bgcolor="#BB0000" | N | ! bgcolor="#BB0000" | N | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
− | |||
|- | |- | ||
− | | | + | | double getTime() |
− | | Returns | + | | Returns the current game time |
− | + | ||
! bgcolor="#BB0000" | N | ! bgcolor="#BB0000" | N | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
− | |||
− | |||
− | |||
− | |||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
|- | |- | ||
− | | | + | | double getWidth() |
− | | Returns | + | | Returns the width (X-size) of the robot |
− | + | ||
! bgcolor="#BB0000" | N | ! bgcolor="#BB0000" | N | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
− | |||
− | |||
− | |||
− | |||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| double getVelocity() | | double getVelocity() | ||
− | | Returns the speed of the robot | + | | Returns the speed of the robot |
! bgcolor="#BB0000" | N | ! bgcolor="#BB0000" | N | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
− | |||
− | |||
− | |||
− | |||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
− | |||
|- | |- | ||
| double getX() | | double getX() | ||
Line 367: | Line 162: | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | ! bgcolor="#00BB00" | | + | ! bgcolor="#00BB00" | Y |
+ | ! bgcolor="#00BB00" | Y | ||
|- | |- | ||
| double getY() | | double getY() | ||
Line 375: | Line 171: | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | ! bgcolor="#00BB00" | | + | ! bgcolor="#00BB00" | Y |
+ | ! bgcolor="#00BB00" | Y | ||
|- | |- | ||
| double getZ() | | double getZ() | ||
Line 383: | Line 180: | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
|- | |- | ||
− | | | + | | void resume() |
− | | | + | | Resumes any movements saved by a previous call to ''stop'' |
− | + | ||
! bgcolor="#BB0000" | N | ! bgcolor="#BB0000" | N | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
− | |||
− | |||
− | |||
! bgcolor="#BB0000" | N | ! bgcolor="#BB0000" | N | ||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| void scan() | | void scan() | ||
Line 423: | Line 198: | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
− | |||
− | |||
− | |||
− | |||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| void stop(bool overwrite = false) | | void stop(bool overwrite = false) | ||
Line 615: | Line 207: | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
− | |||
− | |||
− | |||
− | |||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
! bgcolor="#BB0000" | N | ! bgcolor="#BB0000" | N | ||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| void turnLeft(double degrees) | | void turnLeft(double degrees) | ||
Line 639: | Line 216: | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
− | |||
− | |||
− | |||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
− | |||
|- | |- | ||
| void turnRight(double degrees) | | void turnRight(double degrees) | ||
Line 695: | Line 225: | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
|- | |- | ||
− | ! colspan= | + | ! colspan=8 {{Hl3}} |==BZRobot Event Methods== |
|- | |- | ||
− | + | ! rowspan=2 {{Hl3}} |'''Method''' | |
− | + | ! rowspan=2 {{Hl3}} |'''Description''' | |
− | + | ! rowspan=2 {{Hl3}} |'''Blocking''' | |
− | | {{Hl3}} |''' | + | ! colspan=4 {{Hl3}} |'''Available In''' |
− | | {{Hl3}} |''' | + | ! rowspan=2 {{Hl3}} |'''Functional''' |
− | | {{Hl3}} |''' | + | |- |
− | | {{Hl3}} |''' | + | | {{Hl3}} |'''BZR''' |
+ | | {{Hl3}} |'''BZAR''' | ||
+ | | {{Hl3}} |'''R''' | ||
+ | | {{Hl3}} |'''AR''' | ||
|- | |- | ||
| void onBattleEnded(BattleEndedEvent e) | | void onBattleEnded(BattleEndedEvent e) | ||
| Called at the end of a league match, or the server shutting down | | Called at the end of a league match, or the server shutting down | ||
− | ! bgcolor="#555555" | N/A | + | ! bgcolor="#555555" | N /A |
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
− | |||
− | |||
− | |||
− | |||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | ! bgcolor="# | + | ! bgcolor="#BB0000" | N |
− | + | ||
− | + | ||
|- | |- | ||
| void onBulletHit(BulletHitEvent e) | | void onBulletHit(BulletHitEvent e) | ||
| Called when a bullet fired by the robot hits another robot | | Called when a bullet fired by the robot hits another robot | ||
− | ! bgcolor="#555555" | N/A | + | ! bgcolor="#555555" | N /A |
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
− | |||
− | |||
− | |||
− | |||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | ! bgcolor="# | + | ! bgcolor="#BB0000" | N |
− | + | ||
− | + | ||
|- | |- | ||
| void onBulletMissed(BulletMissedEvent e) | | void onBulletMissed(BulletMissedEvent e) | ||
| Called when a bullet fired by the robot expires or hits a wall | | Called when a bullet fired by the robot expires or hits a wall | ||
− | ! bgcolor="#555555" | N/A | + | ! bgcolor="#555555" | N /A |
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | ! bgcolor="#BB0000" | | + | ! bgcolor="#00BB00" | Y |
+ | ! bgcolor="#BB0000" | N | ||
|- | |- | ||
| void onDeath(DeathEvent e) | | void onDeath(DeathEvent e) | ||
− | | Called when the robot dies | + | | Called when a bullet fired by the robot dies |
− | ! bgcolor="#555555" | N/A | + | ! bgcolor="#555555" | N /A |
+ | ! bgcolor="#00BB00" | Y | ||
+ | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
|- | |- | ||
| void onHitByBullet(HitByBulletEvent e) | | void onHitByBullet(HitByBulletEvent e) | ||
| Called when the robot is hit by a bullet | | Called when the robot is hit by a bullet | ||
− | ! bgcolor="#555555" | N/A | + | ! bgcolor="#555555" | N /A |
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
− | |||
− | |||
− | |||
− | |||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | ! bgcolor="# | + | ! bgcolor="#BB0000" | N |
− | + | ||
− | + | ||
|- | |- | ||
| void onHitWall(HitWallEvent e) | | void onHitWall(HitWallEvent e) | ||
| Called when the robot runs into a wall or object | | Called when the robot runs into a wall or object | ||
− | ! bgcolor="#555555" | N/A | + | ! bgcolor="#555555" | N /A |
+ | ! bgcolor="#00BB00" | Y | ||
+ | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
|- | |- | ||
| void onRobotDeath(RobotDeathEvent e) | | void onRobotDeath(RobotDeathEvent e) | ||
| Called when the robot is killed | | Called when the robot is killed | ||
− | ! bgcolor="#555555" | N/A | + | ! bgcolor="#555555" | N /A |
+ | ! bgcolor="#00BB00" | Y | ||
+ | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
|- | |- | ||
| void onScannedRobot(ScannedRobotEvent e) | | void onScannedRobot(ScannedRobotEvent e) | ||
| Called each turn as the robot's radar "sees" another robot | | Called each turn as the robot's radar "sees" another robot | ||
− | ! bgcolor="#555555" | N/A | + | ! bgcolor="#555555" | N /A |
+ | ! bgcolor="#00BB00" | Y | ||
+ | ! bgcolor="#00BB00" | Y | ||
+ | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
− | |||
|- | |- | ||
| void onSpawn(SpawnEvent e) | | void onSpawn(SpawnEvent e) | ||
| Called when the robot spawns | | Called when the robot spawns | ||
− | ! bgcolor="#555555" | N/A | + | ! bgcolor="#555555" | N /A |
+ | ! bgcolor="#00BB00" | Y | ||
+ | ! bgcolor="#00BB00" | Y | ||
+ | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | |||
− | |||
|- | |- | ||
| void onStatus(StatusEvent e) | | void onStatus(StatusEvent e) | ||
| Called at the beginning of each "turn", before the main loop is run | | Called at the beginning of each "turn", before the main loop is run | ||
− | ! bgcolor="#555555" | N/A | + | ! bgcolor="#555555" | N /A |
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | ! bgcolor="#00BB00" | | + | ! bgcolor="#00BB00" | Y |
+ | ! bgcolor="#BB0000" | N | ||
|- | |- | ||
| void onWin(WinEvent e) | | void onWin(WinEvent e) | ||
| Called when the robot (or it's team) wins a league match | | Called when the robot (or it's team) wins a league match | ||
− | ! bgcolor="#555555" | N/A | + | ! bgcolor="#555555" | N /A |
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
! bgcolor="#00BB00" | Y | ! bgcolor="#00BB00" | Y | ||
− | ! bgcolor="# | + | ! bgcolor="#00BB00" | Y |
− | ! bgcolor="#BB0000" | | + | ! bgcolor="#00BB00" | Y |
+ | ! bgcolor="#BB0000" | N | ||
|- | |- | ||
|} | |} | ||
Line 831: | Line 344: | ||
=See Also= | =See Also= | ||
− | + | [[BZRobots/Ideas]] - Ideas for a possible future release | |
− | + |