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>