g9:uebungen:vererbung:start
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
g9:uebungen:vererbung:start [2022/06/30 08:10] – [Beispiel 1: Fliegende Rechtecke] Martin Pabst | g9:uebungen:vererbung:start [2022/07/01 07:46] (aktuell) – [Beispiel 7: Fraktaler Baum] Martin Pabst | ||
---|---|---|---|
Zeile 62: | Zeile 62: | ||
</ | </ | ||
- | ====== Beispiel | + | ====== Beispiel |
Starte das Programm und regle die Geschwindigkeit langsam hoch! | Starte das Programm und regle die Geschwindigkeit langsam hoch! | ||
< | < | ||
Zeile 190: | Zeile 190: | ||
[[: | [[: | ||
- | ====== Beispiel | + | ====== Beispiel |
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 " | ||
Zeile 227: | Zeile 227: | ||
- | ====== Beispiel | + | ====== Beispiel |
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 " | ||
Zeile 345: | Zeile 345: | ||
Das Beispiel " | Das Beispiel " | ||
+ | |||
+ | ====== Beispiel 6: Kochkurve ====== | ||
+ | < | ||
+ | |||
+ | <div class=" | ||
+ | |||
+ | <script type=" | ||
+ | new World(1000, 1000); | ||
+ | Kochkurve k = new Kochkurve(7); | ||
+ | |||
+ | class Kochkurve extends Turtle { | ||
+ | |||
+ | | ||
+ | super(50, 700); | ||
+ | setBorderWidth(3); | ||
+ | int länge = 700; | ||
+ | turn(60); | ||
+ | zieheLinie(länge, | ||
+ | turn(-120); | ||
+ | zieheLinie(länge, | ||
+ | turn(-120); | ||
+ | zieheLinie(länge, | ||
+ | } | ||
+ | |||
+ | | ||
+ | if(tiefe == 0) { | ||
+ | | ||
+ | | ||
+ | } | ||
+ | |||
+ | zieheLinie(länge / 3, tiefe - 1); | ||
+ | turn(60); | ||
+ | zieheLinie(länge / 3, tiefe - 1); | ||
+ | turn(-120); | ||
+ | zieheLinie(länge / 3, tiefe - 1); | ||
+ | turn(60); | ||
+ | zieheLinie(länge / 3, tiefe - 1); | ||
+ | |||
+ | } | ||
+ | |||
+ | } | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | ====== Beispiel 7: Fraktaler Baum ====== | ||
+ | < | ||
+ | |||
+ | <div class=" | ||
+ | |||
+ | <script type=" | ||
+ | new FraktalerBaum(400, | ||
+ | |||
+ | class FraktalerBaum extends Turtle { | ||
+ | |||
+ | | ||
+ | | ||
+ | |||
+ | | ||
+ | super(x, y); | ||
+ | this.faktor = faktor; | ||
+ | this.winkel = winkel; | ||
+ | setBorderWidth(2); | ||
+ | turn(90); | ||
+ | zeichneAst(tiefe, | ||
+ | } | ||
+ | |||
+ | void zeichneAst(int n, double länge) { | ||
+ | if(n == 0) return; | ||
+ | |||
+ | forward(länge); | ||
+ | turn(winkel); | ||
+ | zeichneAst(n - 1, länge * faktor); | ||
+ | turn(-2*winkel); | ||
+ | zeichneAst(n - 1, länge * faktor); | ||
+ | turn(winkel); | ||
+ | turn(180); | ||
+ | penUp(); | ||
+ | forward(länge); | ||
+ | turn(180); | ||
+ | penDown(); | ||
+ | } | ||
+ | |||
+ | } | ||
+ | |||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | </ |
g9/uebungen/vererbung/start.1656569428.txt.gz · Zuletzt geändert: 2022/06/30 08:10 von Martin Pabst