Таким образом, turtles-here
сообщает набор черепах агента на патче вызывающего абонента (вызывающим абонентом может быть другая черепаха или патч), в словаре NetLo go . Поэтому сравнение turtles-here = ziek
не имеет большого смысла, если ziek
равно true
или false
, поскольку эти значения никогда не будут одинаковыми (=
) с набором агентов черепах.
Чтобы проверить, не болен ли кто-либо из набора агентов turtles-here
, вам нужно использовать any?
вместе с примитивами with
. Я думаю, вы хотите что-то вроде этого:
to get-infected
ask other turtles [
if color = gray and any? turtles-here with [ziek] [
set color lime
set ziek true
]
]
end
Но вы также можете перевернуть это - вместо того, чтобы черепахи заражали себя, когда они видят других больных черепах, вы можете заставить зараженных болеть черепах. Для меня эта установка имеет больше смысла.
to go
; ... other go code to do turtle actions goes here
ask turtles with [ziek] [
infect-others
]
; ... more code here
end
to infect-others
ask other turtles-here with [not ziek] [
set color lime
set ziek true
]
end