Рисуване с много костенурки

SETTURTLE <индекс> - указва, че искаме да рисуваме с костенурка с даден индекс (номер)

По подразбиране първата костенурка, с която почваме да рисуваме в Logo има индекс 0

SETTURTLE 0 - рисуваме с нулева костенурка
SETTURTLE 1 - рисуваме с първа костенурка
SETTURTLE 2 - рисуваме с втора костенурка
....
SETTURTLE 1023 - рисуваме с 1023-та костенурка (най-висок индекс)

След като напишем командата SETTURTLE, следващите команди които пишем ще се изпълняват от избраната костенурка.

Например, тези команди ще направят 3 нови костенурки, които се намират на разстояние 20 една от друга:

SETTURTLE 1 pu rt 90 fd 20 lt 90 pd

SETTURTLE 2 pu rt 90 fd 40 lt 90 pd

SETTURTLE 3 pu rt 90 fd 60 lt 90 pd

Нека пуснем няколко костенурки да се състезават (с случайно-генерирани дължини на предвижване):


to turtles_run

repeat 4 [ SETTURTLE REPCOUNT-1 pu rt 90 fd REPCOUNT*20 lt 90 pd]
repeat 50 [ repeat 4 [ SETTURTLE REPCOUNT-1 wait 1 fd random 10] ]
end

Смяна на картинката на костенурката

За да сменим картинката на костенурката, "снимаме" част от екрана с командата bitcut и след това използваме командата bitmapturtle,
с която указваме, че bitmap картинката която сме снимали искаме да се ползва като картинка за костенурката.

Команди:

bitcut <дължина> <широчина> - "снима" картинка в правоъгълник с зададените дължина и широчина. Важно: слагайте дължина и широчина с единица по-големи, за да се изреже правилно цялата картинка. Например, ако искате да снимате квадратче със страна 40, използвайте командата: bitcut 41 41

bitmapturtle - сменя картинката на костенурката с картинката копирана с bitcut.


Процедура, която променя костенурката на кръгче с радиус 20:

to circle_turtle

pd
circle 20
pu
setxy -20 -20
bitcut 41 41
bitmapturtle

end

Смяна на картинките на много костенурки

За да смените картинките на много костенурки, трябва да ползвате командата:

SETBITINDEX <индех>

преди командата BITCUT за да укажете за коя костенурка ще запазвате картинка.

Преди BITMAPTURTLE, използвайте SETTURTLE <индех> за да укажете за коя костенурка искате да запишете картинката.

Например, за да направите 2 кръгли костенурки, може да ползвате преработения код на предишната процедура:

to circle_turtles

pd
circle 20
pu
setxy -20 -20

SETBITINDEX 0
bitcut 41 41

SETTURTLE 0
bitmapturtle


pd
circle 20
pu
setxy -20 -20

SETBITINDEX 1
bitcut 41 41

SETTURTLE 1
bitmapturtle

end

Задачa за самостоятелна работа:

По избор:

1) Направете игра - състезание между много костенурки, като измислите формата на състезателния терен
2) Изрисувайте картина като ползвате много костенурки