DIP - Programmierung Teil 3 Übung9: Unterschied zwischen den Versionen

Aus DDSWiki
Wechseln zu: Navigation, Suche
(Aufgabe b)
Zeile 4: Zeile 4:
  
 
= Aufgabe a =
 
= 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
 
* Wenn der Punkt über den Rand hinausläuft, soll er abprallen
 
* Tip: Der folgende Code lässt die Kugel abprallen (Einfallswinkel gleich Ausfallswinkel)
 
* Tip: Der folgende Code lässt die Kugel abprallen (Einfallswinkel gleich Ausfallswinkel)
Zeile 40: Zeile 35:
 
<iframe key="p5js" path="flotorious/sketches/da6DH3KkS" w="1000" h="800"></iframe>
 
<iframe key="p5js" path="flotorious/sketches/da6DH3KkS" w="1000" h="800"></iframe>
  
= Aufgabe c =
+
= Aufgabe b =
 
<iframe key="p5js" path="flotorious/sketches/3YeHirNsr" w="1000" h="800"></iframe>
 
<iframe key="p5js" path="flotorious/sketches/3YeHirNsr" w="1000" h="800"></iframe>
 
(Click on me!)
 
(Click on me!)
  
* Bonus: Verwende ein Array und erstelle einen Haufen punkte die mit zufälligen Geschwindigkeiten und Richtungen über die Leinwand fahren
+
* Bonus: Verwende ein Array und erstelle einen Haufen Punkte die mit zufälligen Geschwindigkeiten und Richtungen über die Leinwand fahren
  
= Aufgabe d =
+
= Aufgabe c =
 
* Bonus: Programmiere, dass die Punkte sich beschleunigen
 
* Bonus: Programmiere, dass die Punkte sich beschleunigen
 
* Bonus: Programmiere, dass die Tasten am Keyboard die Beschleunigung verändern können
 
* Bonus: Programmiere, dass die Tasten am Keyboard die Beschleunigung verändern können
 +
* Bonus: Mache sonst noch irgendwas Verrücktes mit den Punkten
  
 
== Interessante Funktionen für diese Aufgabe ==
 
== Interessante Funktionen für diese Aufgabe ==
 
* [https://p5js.org/reference/ Referenz von p5js]
 
* [https://p5js.org/reference/ Referenz von p5js]
  
== Gemeinsam erarbeitete Lösung ==
+
== Editor zum Ausprobieren ==
 
* https://editor.p5js.org/flotorious/sketches/o2M2eANtHO
 
* https://editor.p5js.org/flotorious/sketches/o2M2eANtHO
  
 
<iframe key="p5js" path="flotorious/sketches/o2M2eANtHO" w="1500" h="800"></iframe>
 
<iframe key="p5js" path="flotorious/sketches/o2M2eANtHO" w="1500" h="800"></iframe>

Version vom 30. Oktober 2023, 19:27 Uhr

(Hinweis: Klick auf mich und dann teste die Tasten a d w s)

Aufgabe a

  • 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 b

(Click on me!)

  • Bonus: Verwende ein Array und erstelle einen Haufen Punkte die mit zufälligen Geschwindigkeiten und Richtungen über die Leinwand fahren

Aufgabe c

  • Bonus: Programmiere, dass die Punkte sich beschleunigen
  • Bonus: Programmiere, dass die Tasten am Keyboard die Beschleunigung verändern können
  • Bonus: Mache sonst noch irgendwas Verrücktes mit den Punkten

Interessante Funktionen für diese Aufgabe

Editor zum Ausprobieren