---- ====== First Robocode Tournament (Lab Test 1) ====== Thursday, 10/23, 4:30pm, 6:30pm The first Robocode tournament will count as Lab Test 1. The tournament will be held during class. I'm going to allow TEAMS OF TWO OR THREE to submit one robot for the tournament. This is optional. If you want to work alone, you may. If you're in a team, all of you in the team will get the same grade for Lab Test 1. If you're going to be in a team, you must let me know the team members by the end of Thursday (10/9). I'll need to have your robot code (.java file) by __**Thursday, 10/23, 3pm**__. Use the CS-175 ecampus dropbox. Do not dropbox .class files. You don't have to be present during the tournament. I'll just need your robot code. If I don't have your robot code, you or your team will get a ZERO for Lab Test 1. ===== Objective ===== The objective of your team's robot will be the following: * Tag (collide with) 7 SittingDucks in the shortest amount of time. * Robots will be timed by stopwatch while robocode is running at 30 frames per second (the default speed of robocode). * The time limit will be 2 minutes. * Each robot will have three tries, and the shortest elapsed time out of three tries will be the official time. * The default 800x600 pixel battle field size will be used. * A 5 second bonus will be awarded for //each// SittingDuck that you //do not destroy// * i.e., 5 seconds per SittingDuck subtracted from total elapsed time The tournament winner will be awarded a certificate. **NOTE:** Your robot's effectiveness at tagging SittingDucks in the shortest amount of time does not determine your grade for Lab Test 1. ===== Requirements for Lab Test 1 ===== Your robot must meet the following __minimum__ requirements; if you meet all the requirements, you will get full marks for Lab Test 1, otherwise you will get less than full marks: * Your robot must include a top comment block that includes your names and a __**detailed**__ explanation of your robot's strategy. * You'll need to provide //a minimum of 100 words// describing your strategy. * Restrictions: * Your robot must be unique (not a copy of an existing robot from google), or you'll be disqualified and receive a ZERO for Lab Test 1. * Your robot must not be a copy of the //RamFire// sample robot. * Your robot's name must not contain the words "lab" or "test". * Your robot must extend the Robot class, not the AdvancedRobot or JuniorRobot class. * Your robot must not use arrays. * Change your robot's colors using the ''setColors(Color.bodyColor, Color.gunColor, Color.radarColor)'' or ''setColors(Color.bodyColor, Color.gunColor, Color.radarColor, Color.bulletColor, Color.scanArcColor)'' method. * See list of [[http://docs.oracle.com/javase/6/docs/api/java/awt/Color.html?is-external=true|valid colors]]. * Movement: * Your robot must be designed to try to make contact with all SittingDucks on the field. * Methods: * Reacting to radar-scanned robots: * Change what happens in the ''public void onScannedRobot(ScannedRobotEvent e)'' method. * Reacting to hitting a wall: * Use the ''public void onHitWall()'' method to avoid getting stuck on walls. * Reacting to hitting another robot: * Use the ''public void onHitRobot()'' method to react to hitting another robot. * You have to actually do something in the methods listed above. If you submit methods with nothing in them, I will consider your robot as not meeting the minimum requirements. * Your robot must be autonomous, i.e., it must not be human controlled via keyboard or mouse. * Your robot must compile. * Your robot must be valid. Invalid robots blow up immediately when a battle starts. Other Guidance: * Consult online tutorials, the sample robots, and the [[http://robocode.sourceforge.net/docs/robocode/robocode/Robot.html|documentation]]. * Email me with questions. ===== Ideas/Hints ===== See [[Fall 2014 Robocode Tournament 1 Ideas|Robocode Tournament 1 Hints/Ideas]]. ----