TurtleBlumeJavaScript/Hilfsfunktion Blüte

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>Javascript</language>
Die Hilfsfunktion Blüte ist dafür verantwortlich farbige Blütenblätter in verschiedenen Größen zu zeichnen. Die Funktion wird vom Hauptprogramm mehrmals mit unterschiedlichen Werten aufgerufen. Wie genau die Blüte dargestellt wird ist euch überlassen. 

'''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">
function zeichneBluete (color, size){
  // Musterlösung (die eigentlich von Schülern erarbeitet wird)
  // Wertebereichprüfung fehlt
  var segments = 32;
  turtle.penColor((color & 0xFF0000)>> 16,(color & 0x00FF00)>>8,color & 0x0000FF);
  var r = Math.random()*30;
  turtle.right(r);
  zeichneKreis(size,segments);
  turtle.right(90);
  zeichneKreis(size,segments);
  turtle.right(90);
  zeichneKreis(size,segments);
  turtle.right(90);
  zeichneKreis(size,segments);
  turtle.right(90);
  turtle.right(-r);

}

function zeichneKreis(size, segments){
 var a = 360.0/segments;
 var u = size*2*Math.PI; // Umfang
 var w = u/segments;
 for(var i=0; i < segments; i++){
  turtle.forward(w);
  turtle.right(a);
 }
}

</code>

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

{| border=1
! Parameter !! Wertebereich
|-
| color || 0x000000 bis 0xFFFFFF
|- 
| size || 1 bis 100
|}

== Beispiele ==
Hier einige Beispiele wie die Ausgabe eurer Funktion aussehen könnte:

{| border="1"
| [[Bild:Admin_JavaBlume_Bluete1.jpg]] || [[Bild:Admin_JavaBlume_Bluete2.jpg]] || [[Bild:Admin_JavaBlume_Bluete3.jpg]]
|}

== Testen ==
Testet eure Hilfsfunktion hier ausgiebig:

<run id="4d071b2e0af2c">
canvas.clear();
turtle.setAngle(0);
turtle.move(250,200);
zeichneBluete(0xFF0000,50);
zeichneBluete(0x00FF00,60);
zeichneBluete(0x0000FF,80);
</run>

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