Benutzer-Werkzeuge

Webseiten-Werkzeuge


projects:spacedebris:aufgabe1:loesung:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
projects:spacedebris:aufgabe1:loesung:start [2021/03/21 10:26] Martin Pabstprojects:spacedebris:aufgabe1:loesung:start [2021/12/29 11:29] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 25: Zeile 25:
  
    double debrisRate = 0.06;    double debrisRate = 0.06;
- 
-   int ships = 3; 
-   Text shipsText; 
-   Text bigText; 
- 
-   String zustand = ""; 
-   int lastTimeFired = 0; 
- 
  
    SpaceDebrisGame() {    SpaceDebrisGame() {
       super();       super();
       spaceship = new Spaceship();       spaceship = new Spaceship();
-      shipsText = new Text(10, 10, 40, 3); 
-      bigText = new Text(400, 200, 80, ""); 
-      bigText.setAlignment(Alignment.center); 
-      setZustand("startScreen"); 
    }    }
  
    public void act() {    public void act() {
- +      
-      if(isKeyDown(" ")) { +
-         if(zustand == "startScreen") { +
-            setZustand("gameRunning"); +
-         } else if(zustand == "gameOver") { +
-            setZustand("startScreen"); +
-         } +
-      } +
- +
-      if(zustand != "gameRunning") { +
-         return; +
-      } +
       if(Math.random() < debrisRate) {       if(Math.random() < debrisRate) {
          Debris debris = new Debris();          Debris debris = new Debris();
Zeile 62: Zeile 38:
       }       }
  
-      if(isKeyDown(" "&& System.currentTimeMillis()-lastTimeFired > 300) {+      if(isKeyDown(" ")) {
          Bullet b = new Bullet(spaceship.getCenterX(), spaceship.getCenterY());          Bullet b = new Bullet(spaceship.getCenterX(), spaceship.getCenterY());
          bullets.add(b);          bullets.add(b);
-         lastTimeFired = System.currentTimeMillis(); 
       }       }
- 
-      CollisionPair[] pairs = bullets.getCollisionPairs(debrisGroup, true); 
-      for(int i = 0; i < pairs.length; i++) { 
-         CollisionPair pair = pairs[i]; 
-         ((Debris)pair.shapeB).explode(); 
-         pair.shapeA.destroy(); 
-         pair.shapeB.destroy(); 
-      } 
- 
-      Shape[] collidingDebris = debrisGroup.getCollidingShapes(spaceship); 
- 
-      for(int i = 0; i < collidingDebris.length; i++) { 
-         Debris debris = (Debris)collidingDebris[i]; 
-         debris.explode(); 
-         debris.destroy(); 
-         ships--; 
-         shipsText.setText(ships); 
-         if(ships == 0) { 
-            setZustand("gameOver"); 
-         } 
-      } 
- 
  
  
Zeile 94: Zeile 47:
  
  
-   void setZustand(String neuerZustand) { 
-       
-      if(neuerZustand == "startScreen") { 
-         debrisGroup.destroyAllChildren(); 
-         spaceship.setVisible(false); 
-         bullets.destroyAllChildren(); 
-         bigText.setVisible(true); 
-         bigText.setText("Space Debris-Game"); 
-      } else if(neuerZustand == "gameRunning") { 
-         spaceship.setVisible(true); 
-         bigText.setVisible(false); 
-         ships = 3; 
-         shipsText.setText(ships);  
-      } else if(neuerZustand == "gameOver") { 
-         debrisGroup.destroyAllChildren(); 
-         spaceship.setVisible(false); 
-         bullets.destroyAllChildren(); 
-         bigText.setVisible(true); 
-         bigText.setText("Game Over"); 
-      } 
  
  
-      zustand = neuerZustand; 
-   } 
  
 } }
Zeile 138: Zeile 69:
 </script> </script>
 <script type="text/plain" title="Debris.java"> <script type="text/plain" title="Debris.java">
 +while(true) {
 +   new Debris();
 +}
 +
 +
 +
 class Debris extends Rectangle { class Debris extends Rectangle {
        
Zeile 163: Zeile 100:
    }    }
  
-   void explode() { 
-      Sprite explosion = new Sprite(getCenterX(), getCenterY(), SpriteLibrary.Explosion_1, 0, ScaleMode.linear); 
-      explosion.scale(8 * getWidth() * getHeight() / 40000); 
-      explosion.playAnimation(0, 55, RepeatType.once, 30); 
-      Sound.playSound(Sound.far_bomb); 
-   } 
  
 } }
projects/spacedebris/aufgabe1/loesung/start.1616318791.txt.gz · Zuletzt geändert: 2021/12/29 11:29 (Externe Bearbeitung)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki