Canvas und Turtle (Pascal)
Beispiel 1
Das nachfolgende Beispiel zeichnet einen farbigen Kreis. Versuche durch leichte Anpassung die Anzahl der Kreissegmente zu verdoppeln ohne den Radius des Kreises zu vergrößern.
<eval id="4d2a0bf79cdb4"> selectCanvas(2); canvas_clear(); // Zeichenfläche löschen turtle_move(200,100); // Turtle in die Mitte stellen</eval>
isUp := false;
for i := 0 to 17 do begin
turtle_penColor(i*10+50,0,250-10*i); turtle_penWidth(10); turtle_forward(20); turtle_right(20); isUp := not isUp; if isUp then turtle_penUp() else turtle_penDown();
end;
Beispiel 2
Das folgende Beispiel verwendet zwei Turtles Bob und Eva. Bob ist betrunken und läuft verwirrt herum, während Eva versucht ihn wieder einzufangen. Schau dir den folgenden Quelltext an und versuch ihn zu verstehen.
<eval id="4d26ec4d87403"> selectCanvas(3); Bob := createTurtle(3); Eva := createTurtle(3);</eval>
canvas_clear(); // Zeichenfläche löschen
selectTurtle(Bob); turtle_penColor(255,0,0); turtle_move(300,200);
selectTurtle(Eva); turtle_penColor(0,255,0); turtle_move(50,50);
for step := 0 to 500 do begin
// Bewegung von Eva selectTurtle(Eva); turtle_setAngleTo(Bob); turtle_forward(2);
// Bewegung von Bob selectTurtle(Bob); turtle_forward(random(8)); if step mod 2 = 0 then turtle_right(random(90)) else turtle_left(random(90));
end; Da Bob zufällig läuft, starte das Programm mehrmals.