DIP - Programmierung Teil 3 Übung9: Unterschied zwischen den Versionen
(→Aufgabe c) |
(→Aufgabe b) |
||
Zeile 37: | Zeile 37: | ||
</pre> | </pre> | ||
+ | |||
+ | <iframe key="p5js" path="flotorious/sketches/da6DH3KkS" w="1000" h="800"></iframe> | ||
= Aufgabe c = | = Aufgabe c = |
Version vom 30. Oktober 2023, 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); } }
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
Gemeinsam erarbeitete Lösung