DIP - Programmierung Teil 3 Übung9: Unterschied zwischen den Versionen
(→Aufgabe c) |
(→Aufgabe c) |
||
Zeile 39: | Zeile 39: | ||
= Aufgabe c = | = Aufgabe c = | ||
− | <iframe | + | <iframe key="p5js" path="flotorious/sketches/3YeHirNsr" w="1000" h="800"></iframe> |
(Click on me!) | (Click on me!) | ||
Version vom 30. Oktober 2023, 18:16 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