TurtleBlume/Hilfsfunktion Stängel

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>Java</language>
Die Hilfsfunktion Stängel ist dafür verantwortlich einen gebogenen Pflanzenstängel verschiedener Länge zu zeichnen. Ein Startwert gibt die Breite des Stängels beim Start und Endwert die Dicke am Ende an.

Bearbeitet diese Wikiseite und schriebt eure Hilfsfunktion in die hier nachfolgende Codebox. Verwendet die globale Variable <tt>turtle</tt> dafür.

<code id="Code">
void zeichneStaengel (int color, int length, int start, int end){
 
  // Musterlösung (die eigentlich von Schülern erarbeitet wird)
  // Wertebereichprüfung fehlt
  double pen = start;
  turtle.penWidth((int)(pen));
  double w = (double)(start-end) / 50.0;
  turtle.penColor((color & 0xFF0000)>> 16,(color & 0x00FF00)>>8,color & 0x0000FF);
  double s = length/50.0;
  for(int i=0; i < 20; i++){
   turtle.forward(s);
   turtle.right(1);
   pen = pen-w;
   turtle.penWidth((int)(pen));
  }
  for(int i=0; i < 10; i++){
   turtle.forward(s);
   turtle.right(-2);
   pen = pen-w;
   turtle.penWidth((int)(pen));
  }
  for(int i=0; i < 20; i++){
   turtle.forward(s);
   turtle.right(0.5);
   pen = pen-w;
   turtle.penWidth((int)(pen));
  }

}
</code>

== Schnittstelle ==
Die Hilfsfunktion <tt>zeichneStaengel</tt> soll folgende Parameter und Wertebereiche verarbeiten. 

{| border=1
! Parameter !! Wertebereich
|-
| color || 0x000000 bis 0xFFFFFF
|-
| length || 1 bis 500
|-
| start|| 1 bis 20
|-
| end|| 1 bis 20
|}

== Testen ==

<eval id="4d071b2e0af2c">
canvas.clear();
turtle.move(250,400);
zeichneStaengel(0x00FF00,100,10,1);
</eval>

<canvas w=500 h=400></canvas>