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 am Ende an.
'''Wichtig:''' Entwickelt eure Hilfsfunktion in der nachfolgende Codebox. Verwendet die globale Variable <tt>turtle</tt> dafür. Speichert die entgütige Version eurer Lösung in die Wikiseite indem ihr oben auf Bearbeiten klickt. Nur dann kann eure Funktion später verwendet werden.
<code id="Code">
void zeichneStaengel (int color, int length, int startwidth, int endwidth){
// Musterlösung (die eigentlich von Schülern erarbeitet wird)
// Wertebereichprüfung fehlt
double pen = startwidth;
turtle.penWidth((int)(pen));
double w = (double)(startwidth-endwidth) / 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
|-
| startwidth || 1 bis 20
|-
| endwidth || 1 bis 20
|}
== Beispiele ==
Hier einige Beispiele wie die Ausgabe eurer Funktion aussehen könnte:
{| border="1"
| [[Bild:Admin_JavaBlume_Stamm1.jpg]] || [[Bild:Admin_JavaBlume_Stamm2.jpg]]|| [[Bild:Admin_JavaBlume_Stamm3.jpg]]
|}
== Testen ==
Testet eure Hilfsfunktion hier ausgiebig:
<run id="4d071b2e0af2c">
canvas.clear();
turtle.move(250,400);
zeichneStaengel(0x008833,200,10,4);
zeichneStaengel(0x008833,50,4,2);
</run>
<canvas w=500 h=400></canvas>