Advertisement
Guest User

Untitled

a guest
Nov 18th, 2019
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.13 KB | None | 0 0
  1. package bots;
  2.  
  3. import java.awt.Color;
  4. import java.awt.Graphics;
  5. import java.awt.Image;
  6. import java.awt.event.KeyEvent;
  7. import java.awt.event.KeyListener;
  8.  
  9. import arena.BattleBotArena;
  10. import arena.BotInfo;
  11. import arena.Bullet;
  12.  
  13.  
  14. public class Lucky extends Bot {
  15.  
  16. private boolean cocked = true;
  17.  
  18. String name;
  19.  
  20. String nextMessage = null;
  21.  
  22. private String[] messages = {"Chumps", "Easy money", "Baby food", "Too small", "I'm too good", "Sub him off"};
  23.  
  24. Image up, down, left, right, current;
  25.  
  26.  
  27. private int move1 = BattleBotArena.RIGHT;
  28. private int move2 = BattleBotArena.LEFT;
  29.  
  30. private double x, y;
  31.  
  32. private int counter = 120;
  33.  
  34. private int move = BattleBotArena.UP;
  35.  
  36.  
  37. public void draw(Graphics g, int x, int y) {
  38. g.drawImage(current, x, y, Bot.RADIUS*2, Bot.RADIUS*2, null);
  39. }
  40.  
  41. public void loadedImages(Image[] images)
  42. {
  43. if (images != null)
  44. {
  45. current = left = images[0];
  46. down = images[0];
  47. up = images[0];
  48. right = images[0];
  49. }
  50. }
  51.  
  52.  
  53. public String[] imageNames()
  54. {
  55. String[] images = {"shaq2.png"};
  56. return images;
  57. }
  58.  
  59. public int getMove (BotInfo me, boolean shotOK, BotInfo[] liveBots, BotInfo[] deadBots, Bullet[] bullets) {
  60. // decrease the counter to decide whether it is time to move
  61. counter--;
  62. // change direction when the counter runs down or I detect I am stuck
  63. if (counter == 0 || me.getX() == x && me.getY() == y)
  64.  
  65.  
  66. x = me.getX();
  67. y = me.getY();
  68.  
  69. if (me.getY() > 250)
  70. {
  71. //CALL UPON BOTTOM LEFT METHOD
  72. this.BottomLeft(me, shotOK, deadBots, deadBots, bullets);
  73.  
  74. }
  75.  
  76. if (me.getY() < 250)
  77. {
  78. //CALL UPON TOP RIGHT METHOD
  79. this.TopRight(me, shotOK, liveBots, deadBots, bullets);
  80. }
  81.  
  82. if(me.getY() == 480)
  83. {
  84. move = BattleBotArena.LEFT;
  85. this.BottomLeft(me, shotOK, deadBots, deadBots, bullets);
  86.  
  87. }
  88.  
  89. if (me.getY() <= 10)
  90. {
  91. move = BattleBotArena.RIGHT;
  92. this.TopRight(me, shotOK, liveBots, deadBots, bullets);
  93.  
  94. }
  95.  
  96. //* HOW TO MOVE AROUND GRAVEYARDS
  97. for(int i=0;i<deadBots.length;i++) {
  98. double distanceX = me.getX() - deadBots[i].getX();
  99. double distanceY = me.getY() - deadBots[i].getY();
  100. double distance = Math.abs(distanceX) + Math.abs(distanceY);
  101. if(distance <= 20) {
  102. if(distanceX > 0) {
  103. move = BattleBotArena.LEFT;
  104. }
  105. else if(distanceX < 0) {
  106. move = BattleBotArena.RIGHT;
  107. }
  108. else {
  109. move = BattleBotArena.STAY;
  110. }
  111. if(distanceY > 0) {
  112. move = BattleBotArena.UP;
  113. }
  114. else if(distanceY < 0) {
  115. move = BattleBotArena.DOWN;
  116. }
  117. else {
  118. move = BattleBotArena.STAY;
  119. }
  120. }
  121. }
  122. return move;
  123. }
  124. public void TopRight (BotInfo me, boolean shotOK, BotInfo[] liveBots, BotInfo[] deadBots, Bullet[] bullets) {
  125.  
  126. x = me.getX();
  127. y = me.getY();
  128.  
  129. move = BattleBotArena.UP;
  130. if (me.getY() == 5);
  131. move = BattleBotArena.RIGHT;
  132. if (me.getX() == 695);
  133. move = BattleBotArena.DOWN;
  134. if (me.getY() == 495);
  135. move = BattleBotArena.UP;
  136. if(me.getY() == 5);
  137. move = BattleBotArena.DOWN;
  138. if (me.getY() == 495);
  139. move = BattleBotArena.LEFT;
  140. if (me.getX() == 5);
  141. move = BattleBotArena.RIGHT;
  142. if (me.getX() == 695);
  143. move = BattleBotArena.LEFT;
  144. if (me.getX() == 5);
  145. move = BattleBotArena.UP;
  146. if (me.getY() == 5);
  147. move = BattleBotArena.DOWN;
  148. if (me.getY() == 495);
  149. move = BattleBotArena.UP;
  150. if (me.getY() == 5);
  151. move = BattleBotArena.RIGHT;
  152. }
  153.  
  154. public void BottomLeft (BotInfo me, boolean shotOK, BotInfo[] liveBots, BotInfo[] deadBots, Bullet[] bullets) {
  155. x = me.getX();
  156. y = me.getY();
  157.  
  158. move = BattleBotArena.DOWN;
  159. if (me.getY() == 495);
  160. move = BattleBotArena.LEFT;
  161. if (me.getX() == 5);
  162. move = BattleBotArena.UP;
  163. if (me.getY() == 5);
  164. move = BattleBotArena.DOWN;
  165. if (me.getY() == 495);
  166. move = BattleBotArena.UP;
  167. if (me.getY() == 5);
  168. move = BattleBotArena.RIGHT;
  169. if (me.getX() == 695);
  170. move = BattleBotArena.DOWN;
  171. if (me.getY() == 495);
  172. move = BattleBotArena.UP;
  173. if(me.getY() == 5);
  174. move = BattleBotArena.DOWN;
  175. if (me.getY() == 495);
  176. move = BattleBotArena.LEFT;
  177. if (me.getX() == 5);
  178. move = BattleBotArena.RIGHT;
  179. if (me.getX() == 695);
  180. move = BattleBotArena.LEFT;
  181. }
  182.  
  183.  
  184.  
  185. public void newRound() {
  186. int i = (int)(Math.random()*4);
  187. if (i==0)
  188. {
  189. move = BattleBotArena.UP;
  190. current = up;
  191. }
  192. else if (i==1)
  193. {
  194. move = BattleBotArena.DOWN;
  195. current = down;
  196. }
  197. else if (i==2)
  198. {
  199. move = BattleBotArena.LEFT;
  200. current = left;
  201. }
  202. else
  203. {
  204. move = BattleBotArena.RIGHT;
  205. current = right;
  206. }
  207.  
  208. }
  209.  
  210. @Override
  211. public String getName() {
  212. name = "Lucky 7";
  213. return name;
  214. }
  215.  
  216. @Override
  217. public String getTeamName() {
  218. return "Arena";
  219. }
  220.  
  221. @Override
  222. public String outgoingMessage() {
  223. String msg = nextMessage;
  224. nextMessage = null;
  225. return msg;
  226. }
  227.  
  228. @Override
  229. public void incomingMessage(int botNum, String msg) {
  230.  
  231. }
  232. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement