api:projects:pong:start
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision | ||
api:projects:pong:start [2020/12/29 14:02] – Martin Pabst | api:projects:pong:start [2021/01/20 22:49] – [Jetzt bist Du dran!] Martin Pabst | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Beispielprojekt: | ====== Beispielprojekt: | ||
- | Pong ist eines der ersten Computerspiele. Es wurde 1972 von Atari entwickelt, [[https:// | + | Pong ist eines der ersten Computerspiele. Es wurde 1972 von Atari entwickelt, [[https:// |
+ | ==== Jetzt bist Du dran! ==== | ||
+ | Erweitere das Programm. Hier ein paar Ideen: | ||
+ | * Der Ball soll als Kreis dargestellt werden. | ||
+ | * Mit zunehmender Spieldauer soll der Betrag der Geschwindigkeit des Balls zunehmen, damit ein Tor herbeigeführt wird. Beim Anstoß soll der Ball wieder seine anfängliche Zufallsgeschwindigkeit haben. | ||
+ | * Herausforderung: | ||
+ | * Der Ball soll eine kurze Spur hinter sich herziehen. | ||
+ | * Je schneller der Ball ist, desto roter wird er. | ||
< | < | ||
Zeile 162: | Zeile 169: | ||
} | } | ||
- | | + | |
- | if(this.collidesWith(schlägerLinks)) { | + | |
- | vx *= -1; // vx umkehren | + | |
- | + | ||
- | // Abhängig von der Auftreffstelle auf dem Schläger ändern wir vy | + | |
- | | + | |
- | vy -= dy / schlägerLinks.getHeight() * 6; | + | |
- | } | + | |
- | + | ||
- | // Kollision mit Schläger rechts? | + | |
- | | + | |
- | vx *= -1; | + | |
- | | + | |
- | vy -= dy / schlägerRechts.getHeight() * 6; | + | |
- | } | + | |
// Wenn sich der Ball schon um vx weiter links befindet als bei Berührung mit dem linken Schläger, | // Wenn sich der Ball schon um vx weiter links befindet als bei Berührung mit dem linken Schläger, | ||
Zeile 194: | Zeile 188: | ||
} | } | ||
+ | } | ||
+ | |||
+ | | ||
+ | if(this.collidesWith(schläger)) { | ||
+ | vx *= -1; | ||
+ | | ||
+ | | ||
+ | vy -= dy / schläger.getHeight() * 6; | ||
+ | } | ||
+ | | ||
+ | Sound.playSound(Sound.pong_f); | ||
+ | } else { | ||
+ | Sound.playSound(Sound.pong_d); | ||
+ | } | ||
+ | } | ||
} | } | ||
api/projects/pong/start.txt · Zuletzt geändert: 2021/12/29 11:29 von 127.0.0.1