Robocode Seminar for Participants
Download
Report
Transcript Robocode Seminar for Participants
Seminar for Participants
An Introduction on Robocode
The Brainchild of Matthew Nelson
A software engineer in the Advanced
Technology, Internet Division at IBM
A game that allows players to create and
control a robot in the Java programming
language
The goal is to be the last robot standing
while being the best scorer.
Simple to learn, difficult to master like
chess.
Player must write a Java code that creates a
robot that can:
Move
Shoot at other robots
Scan for other robots
Hit the walls and other robots
More Sophisticated Techniques
Statistical Analysis, Neural Networks
To help people in learning the Java program
while enjoying the experience
To help people in learning programming
concepts such as control statements, method
declarations, inheritance and event handling.
To sharpen strategic skills
For the excitement of competition
For prices?
Body - Carries the gun with the radar on
top.
Gun - Mounted on the body and is used for
firing
energy bullets.
Radar - Mounted on the gun and is used to
scan
for other robots when moved.
•Must be unique in a specific
Robocode installation
•Advised to be your initials
•Import necessary Robocode
classes, including the type of
robot you will be using
•You can also import any
relevant Java classes including
the standard Java classes
java.awt.Color; java.util.Random; Event objects of MouseListener, etc.
•Extending the right class
determines the features that
your robot can have:
•JuniorRobot
•Robot
•AdvancedRobot
•RateControlRobot
•TeamRobot
Robot
AdvancedRobot
The Robot type where
Has non-blocking calls
most users start
Like the JuniorRobot, this
class’ methods are
blocking calls
Have getters and setters
instead of public fields
Support for custom events
Can write to the file system
•Literally, the life of your
robot
•Majority of the code resides
here
•The body outside the loop is
used to ready the robot, i.e.
setting colors, positioning the
robot, etc.
•The body inside the loop is
used for logic that is not
dependent on any event and
is supposed to be repeated,
i.e. moving though the
battlefield.
How to win a battle?
Statistics
Total Score
Survival Score
Last Survivor Bonus
Bullet Damage
Bullet Damage Bonus
Ram Damage
Ram Damage Bonus
**1sts, 2nds, 3rds
Breakdown
Survival Score
Each
robot that's still alive scores 50 points every
time another robot dies.
Last Survivor Bonus
The
last robot alive scores 10 additional points for
each robot that died before it.
Bullet Damage
Robots
score 1 point for each point of damage they
do to enemies.
Breakdown
Bullet Damage Bonus
When
a robot kills an enemy, it scores an additional
20% of all the damage it did to that enemy.
Ram Damage
Robots
score 2 points for each point of damage they
cause by ramming enemies.
Ram Damage Bonus
When
a robot kills an enemy by ramming, it scores
an additional 30% of all the damage it did to that
enemy.
Breakdown
Total Score
All
statistics are added to obtain the total score. The
total score will determine the rank of the robot in
the battle.
Additional
**1sts, 2nds, 3rds
These do not actually contribute to score.
But they are shown to indicate how long the robot
survived. They also show the number of rounds
the robot was placed 1st, 2nd, and 3rd.
How to win a battle?
LAST ROBOT STANDING
The last surviving robot does not necessarily
indicates the winner in a battle.
Reminder:
The total score is computed by adding the
different statistics of the robot.
Even if your robot survived because it has
more energy than the others, if it only saves
energy and the other robots killed other robots,
they will gain more points.
Walls
Moves around the outer edge (wall) with the
gun facing in
A simple robot (inherited from class Robot)
A tricky robot; usually lasts the longest in the
battlefield with other sample robots
Target
Sits still
Moves every time energy drops by 20
An advanced robot (inherited from class
AdvancedRobot)
Target
Spinbot
Characteristics
Body Color: Blue
Gun Color:
Blue
Radar Color: Black
Scan Color: Yellow
Behavior
Moves
in a circle, firing hard when an enemy is
detected
Spinbot
Additional Info
Inherited
from Advanced Robot
Has a damage of 16
Has a maximum speed of 5(in pixels)
Ramfire
Characteristics
Body Color: light Gray
Gun Color: Gray
Radar Color:
Dark Gray
Behavior
Drives
at robots trying to ram them, fires when it
hits them.
Ramfire
Additional Info
Inherited
from Robot
Has a damage from 4 - 16
Tracker
basically locks onto a robot, moves close to it,
then fires when close
Tracker
TrackFire
a still robot.; it just tracks and fires at the nearest
robot it sees
http://robowiki.net/w/index.php?title=Roboc
ode/Scoring
http://en.wikipedia.org/wiki/Robocode
http://robowiki.net/wiki/Robocode/Game_Ph
ysics