projects:spacedebris:aufgabe1:loesung:start
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
projects:spacedebris:aufgabe1:loesung:start [2021/03/20 15:29] – Martin Pabst | projects:spacedebris:aufgabe1:loesung:start [2021/12/29 11:29] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 7: | Zeile 7: | ||
{{ youtube> | {{ youtube> | ||
+ | |||
+ | < | ||
+ | |||
+ | <div class=" | ||
+ | |||
+ | <script type=" | ||
+ | new SpaceDebrisGame(); | ||
+ | |||
+ | |||
+ | class SpaceDebrisGame extends Actor { | ||
+ | |||
+ | | ||
+ | |||
+ | Group debrisGroup = new Group(); | ||
+ | |||
+ | Group bullets = new Group(); | ||
+ | |||
+ | | ||
+ | |||
+ | | ||
+ | super(); | ||
+ | spaceship = new Spaceship(); | ||
+ | } | ||
+ | |||
+ | | ||
+ | | ||
+ | if(Math.random() < debrisRate) { | ||
+ | | ||
+ | | ||
+ | } | ||
+ | |||
+ | if(isKeyDown(" | ||
+ | | ||
+ | | ||
+ | } | ||
+ | |||
+ | |||
+ | } | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | } | ||
+ | </ | ||
+ | <script type=" | ||
+ | class Bullet extends Circle { | ||
+ | |||
+ | | ||
+ | super(x, y, 5); | ||
+ | } | ||
+ | |||
+ | | ||
+ | move(30, 0); | ||
+ | if(isOutsideView()) { | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | |||
+ | } | ||
+ | </ | ||
+ | <script type=" | ||
+ | while(true) { | ||
+ | new Debris(); | ||
+ | } | ||
+ | |||
+ | |||
+ | |||
+ | class Debris extends Rectangle { | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | | ||
+ | | ||
+ | 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); | ||
+ | |||
+ | } | ||
+ | |||
+ | |||
+ | | ||
+ | move(vx, vy); | ||
+ | rotate(w); | ||
+ | |||
+ | if(getCenterX() < 100 && isOutsideView()) { | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | |||
+ | |||
+ | } | ||
+ | </ | ||
+ | <script type=" | ||
+ | new Spaceship(); | ||
+ | |||
+ | |||
+ | class Spaceship extends Sprite { | ||
+ | |||
+ | | ||
+ | |||
+ | | ||
+ | super(50, 300, SpriteLibrary.Ship_Adrian, | ||
+ | scale(1.5); | ||
+ | } | ||
+ | |||
+ | | ||
+ | | ||
+ | double vx = 0; | ||
+ | double vy = 0; | ||
+ | |||
+ | if(isKeyDown(Key.ArrowUp) && getCenterY() > 20) { | ||
+ | vy = -v; | ||
+ | } | ||
+ | if(isKeyDown(Key.ArrowDown) && getCenterY() < getWorld().getHeight() - 20) { | ||
+ | vy = v; | ||
+ | } | ||
+ | if(isKeyDown(Key.ArrowLeft) && getCenterX() > 45) { | ||
+ | vx = -v; | ||
+ | } | ||
+ | if(isKeyDown(Key.ArrowRight) && getCenterX() < getWorld().getWidth() / 2) { | ||
+ | vx = v; | ||
+ | } | ||
+ | |||
+ | double l = Math.sqrt(vx * vx + vy * vy); | ||
+ | if(l > 0) { | ||
+ | vx = vx / l * v; | ||
+ | vy = vy / l * v; | ||
+ | | ||
+ | } | ||
+ | |||
+ | } | ||
+ | |||
+ | } | ||
+ | |||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | </ |
projects/spacedebris/aufgabe1/loesung/start.1616250576.txt.gz · Zuletzt geändert: 2021/12/29 11:29 (Externe Bearbeitung)