Например, у меня есть 10 черепах на одном патче, как мне переместить конкретную черепаху (черепаха с [цвет = красный]) вверх? Благодарим за помощь!Netlogo - Как перенести черепаху на вершину?
ответ
Существует некоторая двусмысленность.
Для перемещения черепахи в верхней части пластыря
Set ycor pycor + .5
Чтобы переместить его в верхней части представления
Set ycor max-pycor
Чтобы сделать это в верхней части стека в фотошопе рода путь. Не так просто. черепахи отображаются в порядке их идентификаторов. Кто не может быть изменен. Поэтому, если вы хотите, чтобы красный был сверху, либо создайте его последним, либо измените значения с черепахой сверху. Сожалею.
Предполагаю, что речь идет о «z-порядке» черепах и о том, что «перемещение черепахи вверх» означает «нарисовать ее поверх других».
Существует два фактора, которые определяют порядок окраски в NetLogo: породы и ẁho
номеров. Породы имеют приоритет. Согласно the Breeds section in the Programming Guide:
Порядок, в котором объявляются породы, также является порядком, в котором они накладываются друг на друга. Поэтому породы, определенные позже, появятся на вершине породы, определенных ранее;
Черепахи в пределах одной и той же породы окрашены в порядке их создания (выводимый в NetLogo их who
числом): старшие окрашены первые, и Поздние окрашены сверху.
Порядок создания не изменяемый, но если ничего в коде не держит на ссылки черепахи или who
чисел (последний нецелесообразной в любом случае), вы можете использовать hatch
создать клон черепахи, а затем немедленно уничтожьте старую. Например:
to setup
clear-all
create-ordered-turtles 10 [ set size 10 ]
ask turtles with [ color = red ] [
hatch 1
die
]
end
Последняя строка приведет все красные черепахи (только один в данном случае) на вершине.
Что делать, если вы не можете это сделать по какой-то причине? Затем вы можете использовать породы:
breed [ background-turtles background-turtle ]
breed [ foreground-turtles foreground-turtle ]
to setup
clear-all
create-ordered-background-turtles 10 [ set size 10 ]
ask turtles with [ color = red ] [
set breed foreground-turtles
]
end
Вам понадобится столько пород, сколько хотите «слоев» черепах. Это может быть или не быть удобным. Лучший подход будет зависеть от вашего конкретного варианта использования.
Наверху чего? –