daily pastebin goal
18%
SHARE
TWEET

Untitled

a guest Dec 10th, 2018 42 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package CGJ;
  2. import robocode.*;
  3. //import robocode.util.*;
  4. import static robocode.util.Utils.*;
  5. import java.awt.Color;
  6.  
  7. public class CakeRobot extends AdvancedRobot
  8. {
  9.     String targetName;
  10.     boolean backwards = false;
  11.     double gunTurnAmt;
  12.     double firePower;
  13.     int count = 0; 
  14.     int patience = 0;
  15.  
  16.     public void run() {
  17.         setColors(Color.pink,Color.orange,Color.green);
  18.         setBulletColor(Color.pink);
  19.         setScanColor(Color.red);
  20.          
  21.         targetName = null;
  22.         setAdjustGunForRobotTurn(true);
  23.         gunTurnAmt = 10;         
  24.  
  25.         while(true) {
  26.             setTurnGunRight(gunTurnAmt);
  27.             count++;
  28.            
  29.             if (count > 7) {
  30.                 targetName = null;
  31.             } else if (count > 4) {
  32.                 gunTurnAmt = 10;
  33.             } else if (count > 2) {
  34.                 gunTurnAmt = -10;
  35.             }
  36.             if (backwards == true) {
  37.                 setBack(50);
  38.             } else {
  39.                 setAhead(50);
  40.             }
  41.             setMaxVelocity(Math.random() * 5 + 3);
  42.             execute();
  43.         }
  44.     }
  45.  
  46.     public void onScannedRobot(ScannedRobotEvent e) {
  47.         if (targetName != null && !e.getName().equals(targetName)) {
  48.             return;
  49.         }
  50.  
  51.         if (targetName == null) {
  52.             targetName = e.getName();
  53.             System.out.print("Target: " + targetName + "\n");
  54.         }
  55.         count = 0;
  56.        
  57.         if (e.getDistance() > 400 && getOthers() > 1 && patience < 10) {
  58.             patience++;
  59.             System.out.print("Target of out of range!" + "\n");
  60.             targetName = null;
  61.             return;
  62.         }
  63.        
  64.         if (e.getDistance() > 800) {
  65.             firePower = (0.2 * getOthers()) / 2;
  66.         } else if (e.getDistance() > 500) {
  67.             firePower = (1 * getOthers()) / 4;
  68.         } else if (e.getDistance() > 300) {
  69.             firePower = (2 * getOthers()) / 4;
  70.         } else if (e.getDistance() > 150) {
  71.             firePower = 2;
  72.         } else {
  73.             firePower = 3;
  74.         }
  75.  
  76.         gunTurnAmt = normalRelativeAngleDegrees(e.getBearing() + (getHeading() - getRadarHeading()));
  77.         setTurnGunRight(gunTurnAmt);
  78.         setFire(firePower);
  79.         patience = 0;
  80.     }
  81.    
  82.     public void onHitByBullet(HitByBulletEvent e) {
  83.         if (Math.random() >= 0.5) {
  84.             setTurnRight(e.getBearing()+45);
  85.         } else {
  86.             setTurnLeft(e.getBearing()+45);
  87.         }
  88.     }
  89.    
  90.     public void onHitRobot(HitRobotEvent e) {
  91.         targetName = e.getName();
  92.         gunTurnAmt = normalRelativeAngleDegrees(e.getBearing() + (getHeading() - getRadarHeading()));
  93.         setTurnGunRight(gunTurnAmt);
  94.         setFire(firePower);
  95.        
  96.         if (-90.0 < e.getBearing() && e.getBearing() < 90.0) {
  97.             backwards = true;
  98.         } else {
  99.             backwards = false;
  100.         }
  101.     }
  102.    
  103.     public void onHitWall(HitWallEvent e) {
  104.         backwards = false;
  105.         if (e.getBearing() <= 0) {
  106.             setTurnRight(e.getBearing()+90);
  107.         } else {
  108.             setTurnLeft(e.getBearing()-90);
  109.         }      
  110.     }  
  111. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top