Черепашки NetLogo/Test-turtle.nlogo
Материал из Letopisi.Ru — «Время вернуться домой»
- Как создавать кнопки я уже знаю. Давай сегодня научимся расставлять и собирать черепах.
- Тема - как создать, разогнать и собрать черепашек в группы
turtles-own [group]
to setup
ca
- каждая черепашка располагается в случайной точке экрана
cro number_of_turtles [ setxy random-xcor random-ycor set color one-of remove gray remove green base-colors set group false ]
- черепахи рождаются по порядку и поворачиватся последовательно. Когда мы им потом даем команду разойтись, они образуют круг
- cro number_of_turtles [fd max-pxcor - 2]
- Этого же результата можно достичь, если мы используем команду layout-circle
end
to circle layout-circle turtles max-pxcor - 2
end
- мы умеем создавать черепашек и расставлять их по экрану.
- Теперь попробуем собрать черепашек одинакового цвета
to collect_color
- Первая версия - черепашки объединяются, но делают много лишних движений
- ask other turtles with [color = [color] of myself]
- во второй версии задаем черепашкам свойство принадлежности к группе и в начале устанавливаем значение этого свойства в false
if group = false [
ask other turtles with [(color = [color] of myself) and (group = false)] [
- черепашка прыгает в сторону вызывающего агента
face myself jump (distance myself) - 1
- черепашка устанавливает свою принадлежность к группе в true - и теперь ее не будут вызывать
set group true create-link-to myself ] ] end
to histogr histogram [count my-out-links] of turtles end @#$#@#$#@ GRAPHICS-WINDOW