PMG10c 2021/Turtle Zeichnen 2/Turtlegrafik-Lösungen (I)

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>Javascript</language>
== Vorüberlegung ==

Es ist sinnvoll, jede Grafik-Prozedur mit einem zusätzlichen Parameter zu ergänzen, mit dem entschieden werden kann, durch welche Turtle diese Prozedur genutzt werden soll, z.&nbsp;B.:

 function dreieck(turtle, x) {
  for (var i = 1; i <= 3; i++) {
   turtle.forward(x);
   turtle.right(120);
  } 
 }

In diesem Fall könnte die Prozedur <tt>quadrat</tt> von <tt>turtle1</tt> ebenso genutzt werden wie von <tt>turtle5</tt>:

 dreieck(turtle1, 100);
 dreieck(turtle5, 20);

Damit muss diese Prozedur nicht jedes Mal neu definiert werden.  

== Lösungen zu den Aufgaben ==

<ol>
<li>
=== Nikolaushaus ===

<code id="59101508b01da">
function quadrat(turtle, x) {
 for (var i = 1; i <= 4; i++) {
  turtle.forward(x);
  turtle.right(90);
 }
}

function nikolaushaus(turtle, x) {

}
</code>

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

<run id="59101508b040a">
canvas1.clear(); 
turtle1.move(100, 250);
nikolaushaus(turtle1, 150);
</run>
</li>
<li>
=== Treppe ===

<code id="59101508b0255">
function treppe(turtle, x, n) {

}
</code>

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

<run id="59101508b0474">
canvas2.clear(); 
turtle2.move(100, 250);
treppe(turtle2, 20, 10);
</run>
</li>
<li>

=== Pentagramm ===

<code id="59101508b02bd">
function pentagramm(turtle, x) {

}
</code>

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

<run id="59101508b04f2">
canvas3.clear(); 
turtle3.move(175, 250);
pentagramm(turtle3, 200);
</run>
</li>
<li>
=== Rosette ===

<code id="59101508b0325">
function rosette(turtle, x, m, n) {

}
</code>

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

<run id="59101508b0560">
canvas4.clear(); 
turtle4.move(200, 150);
rosette(turtle4, 50, 20, 5);
</run>
</li>
<li>
=== Quadrat-Raster ===

<code id="59101508b038c">
function raster(turtle, x, n) {

}
</code>

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

<run id="59101508b0647">
canvas5.clear(); 
turtle5.move(100, 250);
raster(turtle5, 20, 10);
</run>
</li>
</ol>

Zurück zur [[PMG10c_2021/Turtle_Zeichnen_2|Turtle Zeichnen 2]].