Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package Mr.Roboto;
- import static robocode.util.Utils.normalRelativeAngleDegrees;
- import java.awt.Color;
- import robocode.*;
- import java.awt.Color;
- public class MrRoboto extends AdvancedRobot
- {
- double height;
- double width;
- double speed;
- double range;
- double bearing;
- double heading;
- double AbsBearing;
- double bearingFromGun;
- boolean targeting = false;
- public void run() {
- setAllColors(Color.black);
- setGunColor(Color.white);
- setScanColor(Color.white);
- height = getBattleFieldHeight();
- width = getBattleFieldWidth();
- setAdjustRadarForGunTurn(true);
- while (targeting == false) {
- movement();
- setTurnGunRight(45);
- setTurnRadarRight(45);
- waitFor(new GunTurnCompleteCondition(this));
- setTurnGunLeft(90);
- setTurnRadarLeft(90);
- waitFor(new GunTurnCompleteCondition(this));
- setTurnGunRight(45);
- setTurnRadarRight(45);
- waitFor(new GunTurnCompleteCondition(this));
- }
- }
- public void movement() {
- while (targeting == false) {
- if (getVelocity() <= 1)
- setMaxVelocity(6);
- setAhead(100000);
- setTurnRight(5000000);
- }
- }
- public void onScannedRobot(ScannedRobotEvent e) {
- if (targeting == false){
- targeting = true;
- bearing = getRadarHeading();
- heading = getHeading();
- speed = getVelocity();
- range = e.getDistance();
- if (range > ((height+width)/6)){
- AbsBearing = getHeadingRadians() + e.getBearingRadians();
- bearingFromGun = normalRelativeAngleDegrees(AbsBearing - getGunHeadingRadians());
- if (bearingFromGun <= 180) {
- setTurnGunRight(bearingFromGun);
- waitFor(new GunTurnCompleteCondition(this));
- fire(1);
- }
- else {
- setTurnGunLeft(360 - bearingFromGun);
- waitFor(new GunTurnCompleteCondition(this));
- fire(1);
- }
- targeting = false;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement