projects:spacedebris:start
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungLetzte ÜberarbeitungBeide Seiten der Revision | ||
projects:spacedebris:start [2021/03/14 22:12] – [Programmerstellung, 1. Teil:] Martin Pabst | projects:spacedebris:start [2021/03/25 21:29] – [Aufgabe 2] Martin Pabst | ||
---|---|---|---|
Zeile 9: | Zeile 9: | ||
===== Programmerstellung, | ===== Programmerstellung, | ||
+ | {{ 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(-10, 0); | ||
+ | |||
+ | if(getCenterX() < 100 && isOutsideView()) { | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | |||
+ | |||
+ | } | ||
+ | </ | ||
+ | <script type=" | ||
+ | new Spaceship(); | ||
+ | |||
+ | |||
+ | class Spaceship extends Sprite { | ||
+ | |||
+ | | ||
+ | super(50, 300, SpriteLibrary.Ship_Adrian, | ||
+ | scale(1.5); | ||
+ | } | ||
+ | |||
+ | | ||
+ | if(isKeyDown(Key.ArrowUp) && getCenterY() > 20){ | ||
+ | | ||
+ | } | ||
+ | if(isKeyDown(Key.ArrowDown) && getCenterY() < getWorld().getHeight() - 20 ){ | ||
+ | | ||
+ | } | ||
+ | } | ||
+ | |||
+ | |||
+ | } | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | </ | ||
===== Aufgabe 1: ===== | ===== Aufgabe 1: ===== | ||
- | | + | Bearbeite diese Aufgabe im Workspace "Space Debris Game", den Du in Deiner Entwicklungsumgebung findest. \\ \\ |
- | * b) Ergänze die Klasse '' | + | |
- | * c) Ergänze die Klasse '' | + | * b) Ergänze die Klasse '' |
+ | * c) **Freiwillig: | ||
+ | |||
+ | [[.aufgabe1: | ||
+ | |||
+ | |||
+ | ====== Weiterentwicklung ====== | ||
+ | * Kollision bullet - debris mit Explosion | ||
+ | * Kollision spaceship-debris mit Lebensanzeige | ||
+ | * Zustände startscreen, | ||
+ | * Schüsse zeitlich beschränken | ||
+ | {{ youtube> | ||
+ | \\ \\ | ||
+ | [[.standNachWeiterentwicklung1: | ||
+ | ===== Aufgabe 2 ===== | ||
+ | Ihr findet einen neuen Workspace "Space Debris Game 2" in Eurer Entwicklungsumgebung, | ||
+ | - Rechts oben soll eine Punkteanzeige zu sehen sein, die anfangs 0 anzeigt. Nach jedem Treffer wird sie erhöht, am besten um so mehr, je kleiner das getroffene Rechteck ist. Wird nach "Game Over" ein neues Spiel begonnen, so wird die Punkteanzeige wieder auf 0 zurückgesetzt. | ||
+ | - **Freiwillig: | ||
+ | |||
+ | [[.aufgabe2: |
projects/spacedebris/start.txt · Zuletzt geändert: 2021/12/29 11:29 von 127.0.0.1