Benutzer-Werkzeuge

Webseiten-Werkzeuge


projects:spacedebris: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:start [2021/03/20 18:35] – [Aufgabe 1:] Martin Pabstprojects:spacedebris:start [2021/12/29 11:29] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 11: Zeile 11:
 {{ youtube>1tul8nVL4ug?large }} {{ youtube>1tul8nVL4ug?large }}
  
 +<HTML>
  
 +<div class="java-online" style="height: 400px; width: 100%" data-java-online="{'withBottomPanel': true, 'id': 'spacedebris1'}">
 +
 +<script type="text/plain" title="SpaceDebrisGame.java">
 +new SpaceDebrisGame();
 +
 +
 +class SpaceDebrisGame extends Actor {
 +   
 +   Spaceship spaceship;
 +
 +   Group debrisGroup = new Group();
 +
 +   Group bullets = new Group();
 +
 +   double debrisRate = 0.06;
 +
 +   SpaceDebrisGame() {
 +      super();
 +      spaceship = new Spaceship();
 +   }
 +
 +   public void act() {
 +      
 +      if(Math.random() < debrisRate) {
 +         Debris debris = new Debris();
 +         debrisGroup.add(debris);
 +      }
 +
 +      if(isKeyDown(" ")) {
 +         Bullet b = new Bullet(spaceship.getCenterX(), spaceship.getCenterY());
 +         bullets.add(b);
 +      }
 +
 +
 +   }
 +
 +
 +
 +
 +
 +}
 +
 +</script>
 +<script type="text/plain" title="Bullet.java">
 +class Bullet extends Circle {
 +
 +   Bullet(double x, double y) {
 +      super(x, y, 5);
 +   }
 +
 +   public void act() {
 +      move(30, 0);
 +      if(isOutsideView()) {
 +         destroy();
 +      }
 +   }
 +   
 +}
 +</script>
 +<script type="text/plain" title="Debris.java">
 +while(true) {
 +   new Debris();
 +}
 +
 +
 +
 +class Debris extends Rectangle {
 +   
 +   Debris() {
 +      
 +      super(830, Math.random() * 500 + 50, Math.random() * 150 + 50, Math.random() * 150 + 50);
 +
 +      setFillColor(Color.randomColor(50));
 +      setAlpha(Math.random() * 0.5 + 0.5);
 +
 +   }
 +
 +   
 +   public void act() {
 +      move(-10, 0);
 +
 +      if(getCenterX() < 100 && isOutsideView()) {
 +         destroy();
 +      }
 +   }
 +
 +
 +}
 +</script>
 +<script type="text/plain" title="Spaceship.java">
 +new Spaceship();
 +
 +
 +class Spaceship extends Sprite {
 +   
 +   Spaceship() {
 +      super(50, 300, SpriteLibrary.Ship_Adrian, 0, ScaleMode.nearest_neighbour);
 +      scale(1.5);
 +   }
 +
 +   public void act() {
 +      if(isKeyDown(Key.ArrowUp) && getCenterY() > 20){
 +         move(0, -4);
 +      }
 +      if(isKeyDown(Key.ArrowDown) && getCenterY() < getWorld().getHeight() - 20 ){
 +         move(0, 4);
 +      }
 +   }
 +
 +
 +}
 +</script>
 +
 +</div>
 +
 +</HTML>
 ===== Aufgabe 1: ===== ===== Aufgabe 1: =====
 Bearbeite diese Aufgabe im Workspace "Space Debris Game", den Du in Deiner Entwicklungsumgebung findest. \\ \\  Bearbeite diese Aufgabe im Workspace "Space Debris Game", den Du in Deiner Entwicklungsumgebung findest. \\ \\ 
Zeile 26: Zeile 143:
   * Zustände startscreen, gameRunning und gameOver mit Methode setZustand   * Zustände startscreen, gameRunning und gameOver mit Methode setZustand
   * Schüsse zeitlich beschränken   * Schüsse zeitlich beschränken
 +{{ youtube>f62a0x4QG54?large }} 
 + \\ \\  
 +[[.standNachWeiterentwicklung1:start|Hier der Programmzustand nach der Weiterentwicklung]]
 ===== Aufgabe 2 ===== ===== Aufgabe 2 =====
 Ihr findet einen neuen Workspace "Space Debris Game 2" in Eurer Entwicklungsumgebung, der den aktuellen Stand der Entwicklung wiederspiegelt. Bitte bearbeitet dort die folgenden Aufgaben. Ihr findet einen neuen Workspace "Space Debris Game 2" in Eurer Entwicklungsumgebung, der den aktuellen Stand der Entwicklung wiederspiegelt. Bitte bearbeitet dort die folgenden Aufgaben.
Zeile 32: Zeile 151:
   - **Freiwillig:** Mit fortschreitender Spieldauer sollen die Rechtecke und das Raumschiff schneller werden. Zudem sollen mehr Rechtecke je Zeiteinheit von rechts hereinfliegen.   - **Freiwillig:** Mit fortschreitender Spieldauer sollen die Rechtecke und das Raumschiff schneller werden. Zudem sollen mehr Rechtecke je Zeiteinheit von rechts hereinfliegen.
  
 +[[.aufgabe2:loesung:start|Hier geht's zur Lösung!]]
projects/spacedebris/start.1616261735.txt.gz · Zuletzt geändert: 2021/12/29 11:29 (Externe Bearbeitung)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki