Pederclaus

Hindernis2

May 16th, 2020
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.30 KB | None | 0 0
  1. import SGE.*;
  2. public class Anwendung
  3. {
  4. private SGLeinwand meineLeinwand;
  5. private SGTastatur tasti;
  6. private Spieler spieler;
  7.  
  8. private SGRechteck ziel;
  9.  
  10. private Hindernis hindernisse[];
  11. public Anwendung()
  12. {
  13. meineLeinwand =new SGLeinwand(300,600);
  14. meineLeinwand.setzeHintergrundfarbe(1,1,1);
  15. tasti = new SGTastatur();
  16.  
  17. spieler =new Spieler(150,550);
  18.  
  19. ziel = new SGRechteck(5,5, 30, 30);
  20. ziel.setzeFuellung(true);
  21. ziel.setzeFarbe(0, 1, 0);
  22.  
  23. erstelleHindernisse();
  24. }
  25.  
  26. public void fuehreAus()
  27. {
  28. boolean spielBeendet = false;
  29. {
  30. while(spielBeendet==false)
  31. {
  32. hindernisse[6].bewege();
  33. if(tasti.esc() == true)
  34.  
  35. {
  36. spielBeendet = true;
  37. }
  38. SGSystem.warte();
  39. }
  40. if(tasti.rechts() == true)
  41. {
  42. spieler.bewege(-5, 0);
  43. }
  44. if(tasti.links() == true)
  45. {
  46. spieler.bewege(5, 0);
  47. }
  48. if(tasti.oben() == true)
  49. {
  50. spieler.bewege(0, -2);
  51. }
  52. if(tasti.unten() == true)
  53. {
  54. spieler.bewege(0, 2);
  55. }
  56. SGKreis spielerKreis = spieler.gibKollisionshuelle();
  57. if(ziel.beinhaltetObjekt(spielerKreis))
  58. {
  59. spielBeendet = true;
  60. }
  61. for ( int i=0; i< hindernisse.length; i++ )
  62. {
  63. boolean hit = hindernisse[i].beruehrtSpieler();
  64.  
  65. if (hindernisse[i] .beruehrtSpieler())
  66. {
  67. spieler.geheZuStart();
  68. }
  69. }
  70. //hindernisse[6].bewege();
  71.  
  72. SGSystem.warte();
  73. }
  74. }
  75.  
  76. private void erstelleHindernisse()
  77. {
  78. hindernisse = new Hindernis[8];
  79. hindernisse[0] = new Hindernis (0,350,80,160,spieler);
  80. hindernisse[1] = new Hindernis (80,350,170,40, spieler);
  81. hindernisse[2] = new Hindernis (80,350,10,160, spieler);
  82. hindernisse[3] = new Hindernis (100,175,200,100, spieler);
  83. hindernisse[4] = new Hindernis (0,75,175,30, spieler);
  84. hindernisse[5] = new Hindernis (170,450,130,50, spieler);
  85. hindernisse[6] = new BewegtesHindernis (80,450,40,20,spieler,0.5,-0.5);
  86. hindernisse[7] = new Drehhindernis (200,300,15,65,spieler);
  87. }
  88. }
  89.  
  90. import SGE.*;
  91. public class BewegtesHindernis extends Hindernis
  92. {
  93. private double geschwX, geschwY;
  94. private int anzahl;
  95. public BewegtesHindernis(int pX, int pY, int pBreite, int pHoehe, Spieler pSpieler, double pGeschwX, double pGeschwY)
  96. {
  97. super(pX, pY, pBreite, pHoehe, pSpieler);
  98. geschwX = pGeschwX;
  99. geschwY = pGeschwY;
  100. anzahl = 0;
  101. }
  102.  
  103. @Override
  104. public void bewege()
  105. {
  106. if(anzahl < 100)
  107. {
  108. form.verschiebe(geschwX, geschwY);
  109. }
  110.  
  111. if (anzahl >= 100 && anzahl < 200)
  112. {
  113. form.verschiebe(-geschwX, -geschwY);
  114. }
  115. anzahl++;
  116.  
  117. if (anzahl == 200)
  118. {
  119. anzahl = 0;
  120. }
  121. }
  122.  
  123. }
  124. import SGE.*;
  125. public class Hindernis
  126. {
  127. protected SGRechteck form;
  128. private Spieler kenntSpieler;
  129.  
  130. public Hindernis (int pX, int pY, int pBreite, int pHoehe, Spieler pSpieler)
  131. {
  132. kenntSpieler = pSpieler;
  133. form = new SGRechteck (pX,pY,pBreite,pHoehe);
  134. form.setzeFuellung(true);
  135. }
  136.  
  137. public boolean beruehrtSpieler()
  138. {
  139. SGKreis spielerKreis = kenntSpieler.gibKollisionshuelle();
  140. if(form.kollidiertMit(spielerKreis))
  141. {
  142. return true;
  143. }
  144. else
  145. {
  146. return false;
  147. }
  148. }
  149.  
  150. public void bewege()
  151. {
  152.  
  153. }
  154. }
  155. import SGE.*;
  156. public class Drehhindernis extends Hindernis
  157. {
  158. protected SGRechteck form;
  159. private Spieler kenntSpieler;
  160.  
  161. public Drehhindernis (int pX, int pY, int pBreite, int pHoehe, Spieler pSpieler)
  162. {
  163. super(pX, pY, pBreite, pHoehe, pSpieler);
  164. kenntSpieler = pSpieler;
  165. form = new SGRechteck (pX,pY,pBreite,pHoehe);
  166. form.setzeFuellung(true);
  167.  
  168. }
  169.  
  170. public boolean bewege(double pX, double pY)
  171. {
  172. form.dreheUmMittelpunkt(360);
  173.  
  174. }
  175. }
  176. import SGE.*;
  177. public class Hindernisitsmagic extends Hindernis
  178. {
  179. protected SGRechteck form;
  180. private Spieler kenntSpieler;
  181.  
  182. public Hindernisitsmagic (int pX, int pY, int pBreite, int pHoehe, Spieler pSpieler)
  183. {
  184. super(pX, pY, pBreite, pHoehe, pSpieler);
  185. kenntSpieler = pSpieler;
  186. form = new SGRechteck (pX,pY,pBreite,pHoehe);
  187. form.setzeFuellung(true);
  188. }
  189.  
  190. }
Add Comment
Please, Sign In to add comment