Benutzer:Chriseibt

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

== Lösungen zu den Aufgaben ==

<ol>
<li>
=== Strich- und Zickzacklinie ===

<code id="537383a3e321f">
public void strichlinie(Object turtle, double x, int n) {

}
</code>

<canvas w="600" h="200"></canvas>

<run id="537383a3e3338">
canvas1.clear(); 
turtle1.move(50, 100);
strichlinie(turtle1, 50, 10);
</run>

<code id="537383a3e32a9">
public void zickzacklinie(Object turtle, double x, int n) {

}
</code>

<canvas w="600" h="200"></canvas>

<run id="537383a3e33ae">
canvas2.clear(); 
turtle2.move(50, 100);
zickzacklinie(turtle2, 50, 10);
</run>
</li>
<li>
=== Mehrfarbige Rosetten ===

<code id="537bc33cd09fd">
public void n_eck(Object turtle, double x, int n) {
 double winkel = (double) 360 / n;
 for (int i = 1; i <= n; i++) {
  turtle.forward(x);  
  turtle.right(winkel); 
 }
}

public void farbrosette1(Object turtle, double x, int m, int n) {
 double winkel = (double) 360 / m;
 int farbanzahl = 6;
 int z;
 for (int i = 1; i <= m; i++) {
  z = i * farbanzahl / (m + 1);
  //Anweisungen zum farbigen Zeichnen der Rosette
 }
}

</code>

<canvas w="400" h="300"></canvas>

<run id="537bc33cd0b76">
canvas3.clear(); 
turtle3.move(200, 150);
farbrosette1(turtle3, 50, 20, 5);
</run>
=== Mehrfarbige Rosetten mit benutzerdefinierten Farben ===

Natürlich besteht der Wunsch, den Farbwechsel zwischen ''benutzerdefinierten'' Farben vorzunehmen. Dazu müssen diese gesondert angegeben und ausgewählt werden: 

<code id="537bc33cd0ac0">
public void farbrosette2(Object turtle, double x, int m, int n) {
 double winkel = (double) 360 / m;
 int farbanzahl = 6;
 int z;
 for (int i = 1; i <= m; i++) {
  z = i * farbanzahl / (m + 1);
  if (z == 0) turtle.penColor(255, 0, 0);
   else if (z == 1) turtle.penColor(255, 100, 0);
    //Setzen weiterer benutzerdefinierten Farbe; 
     else turtle.penColor(200, 50, 200);  
  n_eck(turtle, x, n);
  turtle.right(winkel); 
 }
}
</code>

<canvas w="400" h="300"></canvas>

<run id="537bc33cd0c4e">
canvas4.clear(); 
turtle4.move(200, 150);
farbrosette2(turtle4, 50, 20, 5);
</run>
</li>
</ol>