1 / 34

Robocode for Dummies:

Robocode for Dummies:. Seminar for Participants. An Introduction on Robocode. Overiew :. What is Robocode?. Robocode. The Brainchild of Matthew Nelson A software engineer in the Advanced Technology, Internet Division at IBM

mildrede
Download Presentation

Robocode for Dummies:

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Robocode for Dummies: Seminar for Participants

  2. An Introduction on Robocode Overiew:

  3. What is Robocode?

  4. 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.

  5. Robocode • 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

  6. Why Robocode? • 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?

  7. The anatomy of a robot • 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.

  8. The anatomy of a robot

  9. Robot Syntax

  10. Parts of the Robot Code

  11. Parts of the Robot Code: Package • Must be unique in a specific Robocode installation • Advised to be your initials

  12. Parts of the Robot Code: Imports • 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.

  13. Parts of the Robot Code: Inheritance • Extending the right class determines the features that your robot can have: • JuniorRobot • Robot • AdvancedRobot • RateControlRobot • TeamRobot

  14. AdvancedRobot Parts of the Robot Code: Inheritance Robot The Robot type where most users start Like the JuniorRobot, this class’ methods are blocking calls Have getters and setters instead of public fields • Has non-blocking calls • Support for custom events • Can write to the file system

  15. Parts of the Robot Code: Thread • 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.

  16. Result

  17. Scoring • How to win a battle?

  18. Scoring • Statistics • Total Score • Survival Score • Last Survivor Bonus • Bullet Damage • Bullet Damage Bonus • Ram Damage • Ram Damage Bonus • **1sts, 2nds, 3rds

  19. Scoring • 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.

  20. Scoring • 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.

  21. Scoring • 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.

  22. Scoring • 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.

  23. Scoring • 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.

  24. Sample Robots • 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

  25. Sample Robots • Target • Sits still • Moves every time energy drops by 20 • An advanced robot (inherited from class AdvancedRobot)

  26. Sample Robots • Target

  27. Sample Robots • 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

  28. Sample Robots • Spinbot • Additional Info • Inherited from Advanced Robot • Has a damage of 16 • Has a maximum speed of 5(in pixels)

  29. Sample Robots • 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.

  30. Sample Robots • Ramfire • Additional Info • Inherited from Robot • Has a damage from 4 - 16

  31. Sample Robots • Tracker • basically locks onto a robot, moves close to it, then fires when close

  32. Sample Robots • Tracker

  33. Sample Robots • TrackFire • a still robot.; it just tracks and fires at the nearest robot it sees

  34. REFERENCES • http://robowiki.net/w/index.php?title=Robocode/Scoring • http://en.wikipedia.org/wiki/Robocode • http://robowiki.net/wiki/Robocode/Game_Physics

More Related