klassen2:inheritance:start
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
klassen2:inheritance:start [2020/12/13 21:27] – [Mathematiksche Grundlagen] Martin Pabst | klassen2:inheritance:start [2022/02/17 10:34] (aktuell) – [Aufgabe: Starfield] Martin Pabst | ||
---|---|---|---|
Zeile 157: | Zeile 157: | ||
<script type=" | <script type=" | ||
new World(800, 800); | new World(800, 800); | ||
+ | SystemTools.setSpeed(200); | ||
+ | |||
while(true) { | while(true) { | ||
new FlyingRectangle(); | new FlyingRectangle(); | ||
} | } | ||
- | |||
Zeile 169: | Zeile 170: | ||
| | ||
super(360, 760 - 40, 80, 80); | super(360, 760 - 40, 80, 80); | ||
- | setFillColor(Math.round(Math.random() *(256 *256 * 256 - 1)), Math.random()*0.8+0.2); // zufällige Farbe setzen | + | setFillColor(Color.randomColor(50)); // zufällige Farbe setzen |
+ | setAlpha(Random.randdouble(0.2, 0.8)); // Zufällige opacity (" | ||
- | vx = Math.random() * 10 - 5; | + | vx = Random.randdouble(-5,5); // Zufallszahl zwischen -5 und 5 |
- | vy = Math.random() * (-20) - 6; | + | vy = Random.randdouble(-26, -6); // Zufallszahl zwischen -26 und -6 |
} | } | ||
Zeile 251: | Zeile 253: | ||
Die Geschwindigkeit der Sterne in x- und y-Richtung ist zufällig. Eine Zufallszahl zwischen bspw. 2 und 10 erzeugt man folgendermaßen: | Die Geschwindigkeit der Sterne in x- und y-Richtung ist zufällig. Eine Zufallszahl zwischen bspw. 2 und 10 erzeugt man folgendermaßen: | ||
``` | ``` | ||
- | vx = Math.random()*8 + 2; | + | vx = Math.randdouble(2, 10); |
- | vy = Math.random()*8 + 2; | + | vy = Math.randdouble(2, 10); |
``` | ``` | ||
- | # Erklärung: | + | |
- | ``Math.random()`` erzeugt bei jedem Aufruf eine " | + | |
</ | </ | ||
<script type=" | <script type=" | ||
Zeile 265: | Zeile 266: | ||
Die Formel zur zufälligen Bestimmung der Geschwindigkeit in Tipp 3 hat einen Nachteil: Die Geschwindigkeiten haben nicht nur verschiedene Richtungen (gut!) sondern auch sehr unterschiedliche Beträge (schlecht!), | Die Formel zur zufälligen Bestimmung der Geschwindigkeit in Tipp 3 hat einen Nachteil: Die Geschwindigkeiten haben nicht nur verschiedene Richtungen (gut!) sondern auch sehr unterschiedliche Beträge (schlecht!), | ||
``` | ``` | ||
- | double v = Math.random()*8 + 2; // Betrag der Geschwindigkeit zwischen 2 und 10 | + | double v = Random.randdouble(2, 10); // Betrag der Geschwindigkeit zwischen 2 und 10 |
- | double w = Math.random()*2*Math.PI; // Winkel zwischen 0 und 2*PI | + | double w = Random.randdouble(0, 2*Math.PI); // Winkel zwischen 0 und 2*PI |
vx = v * Math.cos(w); | vx = v * Math.cos(w); | ||
vy = v * Math.sin(w); | vy = v * Math.sin(w); | ||
Zeile 283: | Zeile 284: | ||
==== Skizze: ==== | ==== Skizze: ==== | ||
+ | {{ : | ||
< | < | ||
Zeile 295: | Zeile 296: | ||
| | ||
- | double diagonaleX, double diagonaleY) { | + | |
| | ||
super(true); | super(true); | ||
- | addPoint(mitteX + diagonaleX/ | + | addPoint(mitteX + diagonaleX/ |
- | addPoint(mitteX, | + | addPoint(mitteX, |
- | addPoint(mitteX - diagonaleX/ | + | addPoint(mitteX - diagonaleX/ |
- | addPoint(mitteX, | + | addPoint(mitteX, |
} | } | ||
Zeile 319: | Zeile 320: | ||
Die Programmiersprache stellt bisher nur Objekte zum Zeichnen von Rechtecken, Kreisen, Polygonen und Sprites zur Verfügung. Ich zeige Dir, wie man durch Erweiterung der Klasse Polygon leicht weitere Objektklassen erstellen kann. Im Folgenden entwickeln wir eine Klasse " | Die Programmiersprache stellt bisher nur Objekte zum Zeichnen von Rechtecken, Kreisen, Polygonen und Sprites zur Verfügung. Ich zeige Dir, wie man durch Erweiterung der Klasse Polygon leicht weitere Objektklassen erstellen kann. Im Folgenden entwickeln wir eine Klasse " | ||
- | ==== Mathematiksche | + | ==== Mathematische |
{{ : | {{ : | ||
Zeile 383: | Zeile 384: | ||
< | < | ||
- | <div class=" | + | <div class=" |
<script type=" | <script type=" | ||
Zeile 430: | Zeile 431: | ||
</ | </ | ||
+ | |||
+ | ===== Feuerwerk ===== | ||
+ | Das Beispiel " | ||
klassen2/inheritance/start.1607891239.txt.gz · Zuletzt geändert: 2021/12/29 11:29 (Externe Bearbeitung)