All Downloads are FREE. Search and download functionalities are using the official Maven repository.

sample.SpinBot Maven / Gradle / Ivy

/*
 * Copyright (c) 2001-2023 Mathew A. Nelson and Robocode contributors
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * https://robocode.sourceforge.io/license/epl-v10.html
 */
package sample;


import robocode.AdvancedRobot;
import robocode.HitRobotEvent;
import robocode.ScannedRobotEvent;

import java.awt.*;


/**
 * SpinBot - a sample robot by Mathew Nelson.
 * 

* Moves in a circle, firing hard when an enemy is detected. * * @author Mathew A. Nelson (original) * @author Flemming N. Larsen (contributor) */ public class SpinBot extends AdvancedRobot { /** * SpinBot's run method - Circle */ public void run() { // Set colors setBodyColor(Color.blue); setGunColor(Color.blue); setRadarColor(Color.black); setScanColor(Color.yellow); // Loop forever while (true) { // Tell the game that when we take move, // we'll also want to turn right... a lot. setTurnRight(10000); // Limit our speed to 5 setMaxVelocity(5); // Start moving (and turning) ahead(10000); // Repeat. } } /** * onScannedRobot: Fire hard! */ public void onScannedRobot(ScannedRobotEvent e) { fire(3); } /** * onHitRobot: If it's our fault, we'll stop turning and moving, * so we need to turn again to keep spinning. */ public void onHitRobot(HitRobotEvent e) { if (e.getBearing() > -10 && e.getBearing() < 10) { fire(3); } if (e.isMyFault()) { turnRight(10); } } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy