Bergervei/Java-Turtle-Vertiefungsklasse
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>Java</language>
=== Nikolaushaus ===
<code id="5367335985ca8">
public void quadrat(Object turtle, double x) {
for (int i = 1; i <=4; i++) {
turtle.forward(x);
turtle.right(90);
}
}
public void nikolaushaus(Object turtle, double x) {
quadrat(turtle, x);
turtle.right(45);
turtle.forward(Math.sqrt(2) * x);
turtle.left(90);
turtle.forward(Math.sqrt(2) * x / 2);
turtle.left(90);
turtle.forward(Math.sqrt(2) * x / 2);
turtle.left(90);
turtle.forward(Math.sqrt(2) * x);
}
</code>
<canvas width="300" height="400"></canvas>
<run id="5367340aa6ec0">
canvas1.clear();
turtle1.move(75, 300);
nikolaushaus(turtle1, 150);
</run>
=== Vom Pentagramm zum "N-Spitz"===
<code id="53663db0d78a6">
public void n_spitz(Object turtle, double x, int n) {
double winkel = 180 - 180 / n;
if (n % 2 == 0) winkel = 180 - 360 / n;
for (int i = 1; i <= n; i++) {
turtle.forward(x);
turtle.right(winkel);
}
}
</code>
<canvas w="400" h="300"></canvas>
<run id="5365fe7d929b8">
canvas2.clear();
turtle2.move(175, 250);
n_spitz(turtle2, 200, 5);
</run>