领导选择表代理群NetLogo
我想实现这样一个场景:NetLogo模拟中的所有代理都应该报告其邻居中代理的数量,最多可达3个radius补丁。然后,在其半径范围内拥有最多代理的前三名应该是“领导者”吗?是的。因为我使用的是“海龟自己的[是领导者吗?]”领导选择表代理群NetLogo,netlogo,Netlogo,我想实现这样一个场景:NetLogo模拟中的所有代理都应该报告其邻居中代理的数量,最多可达3个radius补丁。然后,在其半径范围内拥有最多代理的前三名应该是“领导者”吗?是的。因为我使用的是“海龟自己的[是领导者吗?]” 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 试着
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
试着这样做:
- 海龟的变量“IsLeader?”设置为false
- 海龟在每次滴答声中都会以您决定的随机方式移动,然后将其“is leader?”变量设置为false
- 执行选择引线的过程。它选择半径3中邻居数量较多的3只海龟,并将其“是领导者?”设置为真
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