Canvas und Turtle (Pascal)

Aus ProgrammingWiki
Archivierte Version vom 2011-01-10T15:36:04+00:00. Aktuelle Version

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;

Ihr Browser unterstützt Canvas nicht.

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.

Ihr Browser unterstützt Canvas nicht.