我想实现一个场景,NetLogo模拟中的所有代理都应该报告其邻居中的代理数量,最多可以报告3个半径的补丁。然后,在其半径范围内拥有最多代理商的前三名应该“设定为领导者”?真的'。因为我正在使用'乌龟 - 自己[领导者? ]'。
to setup
ca
ask n-of 30 patches [sprout 1 [
set size .8
]
]
end
to go
fd 0.5
lt random 20
choose-leader
end
to choose-leader
end
答案 0 :(得分:2)
尝试这样:
海龟有变数"是领导者?"设为false。
每个蜱虫的龟以你决定的随机方式移动,然后设置他们的#is; is-leader?"变量为假
执行程序choose-leader。它选择3个具有较大数量的邻居的3只海龟在半径3并设置他们的#is;领导者?"真实。
代码:
turtles-own[
is-leader?
]
to setup
ca
ask n-of 30 patches [sprout 1 [set size .8 set is-leader? false]]
end
to go
ask turtles[
fd 0.5
lt random 20
set is-leader? false
]
choose-leader
end
to choose-leader
ask max-n-of 3 turtles [count turtles in-radius 3] [set is-leader? true]
end