Advertisement
Guest User

Untitled

a guest
Sep 22nd, 2017
45
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.62 KB | None | 0 0
  1. package ai;
  2.  
  3. import mvc.Control;
  4. import spaceracer.Asteroid;
  5. import spaceracer.Constants;
  6. import spaceracer.PowerUp;
  7. import spaceracer.Range;
  8. import spaceracer.Spaceship;
  9. import spaceracer.SpaceshipRadar;
  10. import start.Startup;
  11.  
  12. public class StudentAI implements Control {
  13.  
  14. private Spaceship myShip;
  15. private SpaceshipRadar myRadar;
  16. private boolean avoidModeOn;
  17. private boolean goUp;
  18.  
  19. public StudentAI(Spaceship ship) {
  20. myShip = ship;
  21. myRadar = myShip.getRadar();
  22. }
  23.  
  24. public void moveShip() {
  25. float upperBarrierY = myRadar.getMaxY();
  26. float lowerBarrierY = myRadar.getMinY();
  27.  
  28. //myShip.accelerate();
  29. if (avoidModeOn==true && myRadar.isAsteroidInFront()==true){
  30. if (goUp==true && myRadar.getNearestClearSpot(myRadar.getClearSpots())!=null&& myShip.getY()!=(myRadar.getMaxY())){
  31. //System.out.println("check1!");
  32. myShip.moveUp();
  33.  
  34. }else if(goUp==false && myRadar.getNearestClearSpot(myRadar.getClearSpots())!=null&&myShip.getY()!=(myRadar.getMinY())) {
  35. myShip.moveDown();
  36. }
  37.  
  38. } else if (avoidModeOn==true && myRadar.isAsteroidInFront()==false){
  39. avoidModeOn=false;
  40. myShip.yStop();
  41.  
  42. } else if (avoidModeOn==false && myRadar.isAsteroidInFront()==true){
  43. //myShip.moveDown();
  44. avoidModeOn=true;
  45. if (myShip.getY()>3) {
  46. goUp=false;
  47. } else if (myShip.getY() <= 0){
  48. goUp=true;
  49. }
  50.  
  51. } else if (avoidModeOn==false && myRadar.isAsteroidInFront()==false){
  52. myShip.accelerate();
  53. }
  54.  
  55. Asteroid a= myRadar.getFirstAsteroidInFront();
  56. Asteroid d = myRadar.getFirstAsteroidBelow();
  57. Asteroid e = myRadar.getFirstAsteroidAbove();
  58.  
  59. if (a!=null)
  60. {
  61. float b;
  62. float c;
  63. //float l;
  64. //float k;
  65. b=a.getX()-myShip.getX();
  66. c=a.getY()-myShip.getY();
  67. //l=myShip.getY()-d.getY();
  68. //k=e.getY()-myShip.getY();
  69. if (myRadar.isAsteroidInFront()==true &&b<=5&& c<=5){
  70. myShip.decelerate();
  71.  
  72.  
  73. //System.out.println("CHECK!");\
  74. }
  75.  
  76.  
  77. if (myRadar.isAsteroidInFront()==true &&b<=3&& c<=3){
  78. myShip.activateShield();
  79.  
  80. //System.out.println("CHECK!");
  81. }
  82. /*else if (myRadar.isAsteroidInFront()==false &&k<=2){
  83. myShip.moveDown();
  84.  
  85. }
  86. else if (myRadar.isAsteroidInFront()==false &&l<=2){
  87. myShip.moveUp();
  88. }*/
  89. /*else if (myRadar.isAsteroidInFront()==true &&avoidModeOn==true){
  90. if (goUp==true){
  91.  
  92. myShip.moveUp();
  93. //System.out.println("CHECK!");
  94. }
  95. else
  96. myShip.moveDown();
  97. //System.out.println("CHECK!");
  98. }
  99. else if (myRadar.isAsteroidInFront()==true &&avoidModeOn==false)
  100. {
  101. avoidModeOn=true;
  102. if (myShip.getY()>0)
  103. {
  104. goUp=false;
  105. }
  106. else
  107. {
  108. goUp=true;
  109. }}
  110.  
  111.  
  112. else if (myRadar.isAsteroidInFront()==false &&avoidModeOn==true){
  113.  
  114. avoidModeOn=false;
  115. myShip.yStop();
  116. } }
  117. else if (myRadar.isAsteroidInFront()==false &&avoidModeOn==false){
  118. myShip.accelerate();
  119. }*/
  120.  
  121.  
  122. }
  123. }
  124. }
  125.  
  126.  
  127.  
  128. /*if (myRadar.isAsteroidInFront()==false){
  129. myShip.accelerate();
  130. }
  131. float Range;
  132.  
  133.  
  134. Range x[], y;
  135.  
  136. x = myRadar.getClearSpots();
  137. if(x!=null){
  138. y = myRadar.getNearestClearSpot(x);
  139. if (y!=null);
  140.  
  141. float clearCenter = y.getCenter();
  142. if (myShip.getY() > clearCenter ){
  143. myShip.moveDown();
  144. }
  145. else {
  146. myShip.moveUp();
  147. }
  148. }
  149. }
  150. }
  151. */ /*float yCoord;
  152. float yCoord1;
  153. float myY;
  154. yCoord=d.getY();
  155. yCoord1=e.getY();
  156. myY=myShip.getY();
  157. if (myY>yCoord){
  158. //myShip.moveUp();
  159. } else {myShip.moveDown();*/
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171. // put your code here
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement