SHARE
TWEET

catbot

fire219 Dec 8th, 2014 168 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package fire219;
  2. import robocode.*;
  3. //import java.awt.Color;
  4.  
  5. /**
  6.  * CatBot - a robot by Matthew Petry (fire219)
  7.  * A tracker-type bot
  8.  */
  9. public class CatBot extends AdvancedRobot
  10. {
  11.  
  12.         String target;
  13.         String potenttarget;
  14.         int targettimer = 0; //timer for target abandonment
  15.         double turnval = 0; // used for turn direction decision
  16.         double prevtbear = 0; // Previous Target Bearing -- for target velocity correction
  17.        
  18.         public void run() {
  19.  
  20.                 target = null;
  21.         //      setAdjustGunForRobotTurn(true);
  22.                 setAdjustRadarForRobotTurn(true);
  23.                 while(true) {
  24.                         execute();                     
  25.                         while (target == null){
  26.                                 setTurnRadarRight(30);
  27.                                 execute();
  28.                         }
  29.                         targettimer = targettimer + 1;
  30.                         out.println(targettimer);
  31.                         setTurnRadarRight(45);
  32.                 //      while (prevtbear == turnval) {
  33.                         //      setTurnRadarLeft(20);
  34.                         //      setAhead(20);
  35.                 //      }      
  36.                         if (targettimer > 30){
  37.                                 target = null;
  38.                                 out.println("Target abandoned");
  39.                                 targettimer = 0;
  40.                         }      
  41.                 }
  42.         }
  43.  
  44.         public void onScannedRobot(ScannedRobotEvent e) {
  45.                 prevtbear = turnval;
  46.                 targettimer = 0;
  47.                 turnval = e.getBearing();
  48.                 out.println(turnval + " is target bearing");   
  49.                 if (turnval < 0) {
  50.                         setTurnLeft(turnval);
  51.                 }
  52.                 if (turnval > 0) {     
  53.                         setTurnRight(e.getBearing());
  54.                 }      
  55.                 //setTurnRadarRight(getHeading() - getRadarHeading());
  56.                 setAhead(10);
  57.                 targettimer = targettimer + 1;
  58.                 out.println(targettimer);
  59.                 fire(3);
  60.  
  61.  
  62.                 if (e.getDistance() < 200) {
  63.                         setBack(10);
  64.                 }
  65.         }      
  66.         public void onHitRobot(HitRobotEvent e) {
  67.                 turnRight(e.getBearing());                     
  68.                 setBack(30);
  69.         }      
  70.                
  71.  
  72.  
  73.         public void onHitByBullet(HitByBulletEvent e) {
  74.                 potenttarget = e.getName();
  75.                 if (potenttarget != target) {
  76.                         target = e.getName();
  77.                         out.println(target + " is our target");
  78.                         setTurnRight(e.getBearing());
  79.                 }      
  80.         }      
  81.  
  82.         public void onHitWall(HitWallEvent e) {
  83.                 back(20);
  84.                 turnRight(180);
  85.         }      
  86. }
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