Robocode is an open source educational game started by Mathew Nelson (originally provided by IBM). Currently contributions are being made by various people; officially Flemming N. Larsen is working on Robocode to keep it current and fix the bugs. The game is designed to help people learn to. In this lesson, we describe the basics of how the scanning works. Your Lab 3 exercise correpsonds to this robocode lesson. Robot Senses. We'll begin this lesson by discussing your robot's senses.
Contents.What is Robocode?Robocode is a where the goal is to code a robot to compete against other robots in a battle arena. The player is the programmer of the robot, who will have no direct influence on the game. Instead, the player must write the of the robot telling it how to behave and react on events occurring in the battle arena. So the name Robocode is a short for 'Robot code'.The game is designed to help you learn Java, and have fun doing it.
Robots are written in the, and the Robocode game can run on any operating system supported by the Java Platform, which includes all common operating systems like Windows, macOS, Linux etc.Robocode's battles take place in a battlefield, where small automated 6-wheeled robots fight it out until only one is left. Please notice that Robocode contains no gore, no blood, no people, and no politics. The battles are simply for the excitement of competition that we love so much. There are explosions, however, but these can be turned off if they are offending.:-)Getting StartedIf you have not done so already, the first step is to Robocode. Once you have installed Robocode, you should to see how it works, then move on to.Brief History of RobocodeThe Robocode game was originally started by Matthew A.
Nelson, aka, as a personal endeavour in late 2000 and became a professional one when he brought it to IBM, in the form of an AlphaWorks download, in July 2001.In the beginning of 2005, Robocode was brought to as Open Source with Robocode version 1.0.7. At this point, the development of Robocode was somewhat stopped.
In the mean while, the Robocode community began to develop their own versions of Robocode in order to get rid of bugs and put new features into Robocode, the and later on the project by.As nothing seemed to happen with Robocode in more than a year, Flemming N. Larsen took over the Robocode project at SourceForge as administrator and developer in July 2006. The RobocodeNG project was dropped, but the Robocode 2006 variant, which contained a lot of contributions from the Robocode community was merged into the official Robocode with version 1.1. Since then, a lot of new versions of Robocode have been released with more and more features and contributions from the community.For more history, read the.ScreenshotsSee also Robocode API.Beginner Guides.External Editors.NET Robots.Links.
StatusEvent.getStatus()
.Modifier and Type | Method and Description |
---|---|
double | getDistanceRemaining() Returns the distance remaining in the robot's current move measured in pixels. |
double | getEnergy() |
double | getGunHeading() Returns the direction that the robot's gun is facing, in degrees. |
double | getGunHeadingRadians() Returns the direction that the robot's gun is facing, in radians. |
double | getGunHeat() |
double | getGunTurnRemaining() Returns the angle remaining in the gun's turn, in degrees. |
double | getGunTurnRemainingRadians() Returns the angle remaining in the gun's turn, in radians. |
double | getHeading() Returns the direction that the robot's body is facing, in degrees. |
double | getHeadingRadians() Returns the direction that the robot's body is facing, in radians. |
int | getNumRounds() Returns the number of rounds in the current battle. |
int | getNumSentries() Returns how many sentry robots that are left in the current round. |
int | getOthers() Returns how many opponents that are left in the current round. |
double | getRadarHeading() Returns the direction that the robot's radar is facing, in degrees. |
double | getRadarHeadingRadians() Returns the direction that the robot's radar is facing, in radians. |
double | getRadarTurnRemaining() Returns the angle remaining in the radar's turn, in degrees. |
double | getRadarTurnRemainingRadians() Returns the angle remaining in the radar's turn, in radians. |
int | getRoundNum() Returns the current round number (0 to getNumRounds() - 1) of the battle. |
long | getTime() Returns the game time of the round, where the time is equal to the current turn in the round. |
double | getTurnRemaining() Returns the angle remaining in the robots's turn, in degrees. |
double | getTurnRemainingRadians() Returns the angle remaining in the robots's turn, in radians. |
double | getVelocity() Returns the velocity of the robot measured in pixels/turn. |
double | getX() Returns the X position of the robot. (0,0) is at the bottom left of the battlefield. |
double | getY() Returns the Y position of the robot. (0,0) is at the bottom left of the battlefield. |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getY()
getX()
Note that the heading in Robocode is like a compass, where 0 means North, PI / 2 means East, PI means South, and 3 * PI / 2 means West.
Note that the heading in Robocode is like a compass, where 0 means North, 90 means East, 180 means South, and 270 means West.
Outpost zero game modes. Note that the heading in Robocode is like a compass, where 0 means North, PI / 2 means East, PI means South, and 3 * PI / 2 means West.
Note that the heading in Robocode is like a compass, where 0 means North, 90 means East, 180 means South, and 270 means West.
Note that the heading in Robocode is like a compass, where 0 means North, PI / 2 means East, PI means South, and 3 * PI / 2 means West.
Note that the heading in Robocode is like a compass, where 0 means North, 90 means East, 180 means South, and 270 means West.
The maximum velocity of a robot is defined by Rules.MAX_VELOCITY
(8 pixels / turn).
Rules.MAX_VELOCITY
This call returns both positive and negative values. Positive values means that the robot is currently turning to the right. Negative values means that the robot is currently turning to the left.
This call returns both positive and negative values. Positive values means that the robot is currently turning to the right. Negative values means that the robot is currently turning to the left.
This call returns both positive and negative values. Positive values means that the radar is currently turning to the right. Negative values means that the radar is currently turning to the left.
This call returns both positive and negative values. Positive values means that the radar is currently turning to the right. Negative values means that the radar is currently turning to the left.
This call returns both positive and negative values. Positive values means that the gun is currently turning to the right. Negative values means that the gun is currently turning to the left.
This call returns both positive and negative values. Positive values means that the gun is currently turning to the right. Negative values means that the gun is currently turning to the left.
This call returns both positive and negative values. Positive values means that the robot is currently moving forwards. Negative values means that the robot is currently moving backwards.
The amount of gun heat generated when the gun is fired is 1 + (firePower / 5). Each turn the gun heat drops by the amount returned by Robot.getGunCoolingRate()
, which is a battle setup.
Note that all guns are 'hot' at the start of each round, where the gun heat is 3.
Robot.getGunCoolingRate()
, Robot.fire(double)
, Robot.fireBullet(double)
getNumSentries()
getOthers()
getRoundNum()
getNumRounds()
- 1) of the battle.getNumRounds()
Copyright © 2017 Robocode. All Rights Reserved.