1 /** 2 * Copyright (c) 2001-2014 Mathew A. Nelson and Robocode contributors 3 * All rights reserved. This program and the accompanying materials 4 * are made available under the terms of the Eclipse Public License v1.0 5 * which accompanies this distribution, and is available at 6 * http://robocode.sourceforge.net/license/epl-v10.html 7 */ 8 package sample; 9 10 11 import robocode.HitByBulletEvent; 12 import robocode.Robot; 13 import robocode.ScannedRobotEvent; 14 15 16 /** 17 * MyFirstRobot - a sample robot by Mathew Nelson. 18 * <p/> 19 * Moves in a seesaw motion, and spins the gun around at each end. 20 * 21 * @author Mathew A. Nelson (original) 22 */ 23 public class MyFirstRobot extends Robot { 24 25 /** 26 * MyFirstRobot's run method - Seesaw 27 */ run()28 public void run() { 29 30 while (true) { 31 ahead(100); // Move ahead 100 32 turnGunRight(360); // Spin gun around 33 back(100); // Move back 100 34 turnGunRight(360); // Spin gun around 35 } 36 } 37 38 /** 39 * Fire when we see a robot 40 */ onScannedRobot(ScannedRobotEvent e)41 public void onScannedRobot(ScannedRobotEvent e) { 42 fire(1); 43 } 44 45 /** 46 * We were hit! Turn perpendicular to the bullet, 47 * so our seesaw might avoid a future shot. 48 */ onHitByBullet(HitByBulletEvent e)49 public void onHitByBullet(HitByBulletEvent e) { 50 turnLeft(90 - e.getBearing()); 51 } 52 } 53 54