DIP - Programmierung Teil 3 Übung9: Unterschied zwischen den Versionen
(→Aufgabe c) |
(→Aufgabe b) |
||
Zeile 10: | Zeile 10: | ||
= Aufgabe b = | = Aufgabe b = | ||
* Wenn der Punkt über den Rand hinausläuft, soll er abprallen | * Wenn der Punkt über den Rand hinausläuft, soll er abprallen | ||
+ | * Tip: Der folgende Code lässt die Kugel abprallen (Einfallswinkel gleich Ausfallswinkel) | ||
+ | <pre> | ||
+ | |||
+ | kantenKontrollieren() { | ||
+ | if (this.ort.y>height) { | ||
+ | let n = createVector(0, -1); | ||
+ | let r = this.geschwindigkeit.copy(); | ||
+ | this.geschwindigkeit.reflect(n); | ||
+ | } | ||
+ | if (this.ort.x>width) { | ||
+ | let n = createVector(-1, 0); | ||
+ | let r = this.geschwindigkeit.copy(); | ||
+ | this.geschwindigkeit.reflect(n); | ||
+ | } | ||
+ | if (this.ort.y<0) { | ||
+ | let n = createVector(0, 1); | ||
+ | let r = this.geschwindigkeit.copy(); | ||
+ | this.geschwindigkeit.reflect(n); | ||
+ | } | ||
+ | if (this.ort.x<0) { | ||
+ | let n = createVector(1, 0); | ||
+ | let r = this.geschwindigkeit.copy(); | ||
+ | this.geschwindigkeit.reflect(n); | ||
+ | } | ||
+ | } | ||
+ | |||
+ | <pre> | ||
= Aufgabe c = | = Aufgabe c = |
Version vom 13. August 2020, 18:18 Uhr
(Hinweis: Klick auf mich und dann teste die Tasten A D W S)
Inhaltsverzeichnis
Aufgabe a
- Ändere das vorhergehende Beispiel so ab, dass der Punkt nun von alleine mit einer bestimmten Geschwindigkeit läuft
- Verwende wieder eine Objekt Orientierte Programmierung
- Wenn der Punkt über den Rand hinausläuft, soll er an der entgegengesetzten Kante wieder herauskommen
Aufgabe b
- Wenn der Punkt über den Rand hinausläuft, soll er abprallen
- Tip: Der folgende Code lässt die Kugel abprallen (Einfallswinkel gleich Ausfallswinkel)
kantenKontrollieren() { if (this.ort.y>height) { let n = createVector(0, -1); let r = this.geschwindigkeit.copy(); this.geschwindigkeit.reflect(n); } if (this.ort.x>width) { let n = createVector(-1, 0); let r = this.geschwindigkeit.copy(); this.geschwindigkeit.reflect(n); } if (this.ort.y<0) { let n = createVector(0, 1); let r = this.geschwindigkeit.copy(); this.geschwindigkeit.reflect(n); } if (this.ort.x<0) { let n = createVector(1, 0); let r = this.geschwindigkeit.copy(); this.geschwindigkeit.reflect(n); } } <pre>Aufgabe c
(Click on me!)
- Bonus: Verwende ein Array und erstelle einen Haufen punkte die mit zufälligen Geschwindigkeiten und Richtungen über die Leinwand fahren
Aufgabe d
- Bonus: Programmiere, dass die Punkte sich beschleunigen
- Bonus: Programmiere, dass die Tasten am Keyboard die Beschleunigung verändern können
Interessante Funktionen für diese Aufgabe
- Nachgeschlagen in der von p5js
- ...