Advertisement
fire219

catbot

Dec 8th, 2014
187
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.86 KB | None | 0 0
  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. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement