Benutzer-Werkzeuge

Webseiten-Werkzeuge


wiederholung:vererbung

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
wiederholung:vererbung [2022/12/10 19:00] – [Mathematische Grundlagen] Martin Pabstwiederholung:vererbung [2022/12/10 19:01] (aktuell) – [Beispiel 4: Feuerwerk] Martin Pabst
Zeile 360: Zeile 360:
 </HTML> </HTML>
  
-===== Feuerwerk ===== +====== Beispiel 5: Feuerwerk ====== 
-Das Beispiel "Feuerwerk" [[https://www.learnj.de/doku.php?id=api:documentation:grafik:animation#beispiel_4feuerwerk|findest Du hier]].+Dieses Beispiel habe ich als Wiederholungsübung für meine zehnten Klassen im Schuljahr 2020/21 geschriebenDamals war wegen er Corona-Epidemie das Sylvesterfeuerwerk ausgefallen. 
 +{{ youtube>4OY-p4M4hpY?large }} 
 +<HTML> 
 +<div class="java-online" style="height600px; width100%" data-java-online="{'withBottomPanel'false, 'id': 'Feuerwerk', 'speed': 'max'}"> 
 +<script type="text/plain" title="Feuerwerk.java"> 
 +new Feuerwerk();
  
 +class Feuerwerk extends Actor {
 +   
 +   public void act() {
 +      if(Math.random() < 0.03) {
 +         
 +         int funkenzahl = Math.floor(Math.random() * 50 + 30);
 +         int farbe = Color.randomColor(128);
 +
 +         double x = Math.random() * 400 + 200;
 +         double y = Math.random() * 600;
 +         double lebensdauer = 60 + Math.random() * 60;
 +         for(int i = 0; i < funkenzahl; i++) {
 +            new Funke(x, y, farbe, lebensdauer);
 +         }
 +         Sound.playSound(Sound.cannon_boom);
 +
 +      }
 +   }
 +
 +}
 +
 +class Funke extends Circle {
 +   double vx;
 +   double vy;
 +   double lebensdauer;           // lebensdauer in 1/30 s
 +
 +   Funke(double x, double y, int farbe, double lebensdauer) {
 +      super(x, y, 4);
 +      double winkel = Math.random() * 2 * Math.PI;
 +      double v = Math.random() * 15 + 5;
 +      vx = v * Math.cos(winkel);
 +      vy = v * Math.sin(winkel);
 +      setFillColor(farbe);
 +      this.lebensdauer = lebensdauer;
 +   }
 +
 +   public void act() {
 +      lebensdauer--;
 +      move(vx, vy);
 +      vy = vy + 0.2;
 +      if(lebensdauer < 30) {
 +         setAlpha(lebensdauer / 30);
 +      }
 +      if(isOutsideView() || lebensdauer < 0) {
 +         destroy();
 +      }
 +   }
 +
 +}
 +</script>
 +</div>
 +</HTML>
wiederholung/vererbung.1670698837.txt.gz · Zuletzt geändert: 2022/12/10 19:00 von Martin Pabst

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki