Netlogo 如何获得一个补丁来计算通过它的海龟数量
我想让帕茨数一数站在上面的海龟的数量。理想的活动是:Netlogo 如何获得一个补丁来计算通过它的海龟数量,netlogo,Netlogo,我想让帕茨数一数站在上面的海龟的数量。理想的活动是: if turtle-lands-on-me [add one to count] 因为一只海龟可以离开和回来,并被数到两次(这是我想要的),这将避免数到静止不动的海龟两次或更多(我不想要)。有没有办法做到这一点 谢谢大家! 您需要的是每个补丁的一个变量(下面我称之为“landed”)。下面的代码假定您想知道它在每个时间步上降落的补丁,但忽略它经过的补丁。它还仅在海龟根据请求更改修补程序时更新计数,并用计数标记修补程序 patches-own
if turtle-lands-on-me [add one to count]
因为一只海龟可以离开和回来,并被数到两次(这是我想要的),这将避免数到静止不动的海龟两次或更多(我不想要)。有没有办法做到这一点
谢谢大家! 您需要的是每个补丁的一个变量(下面我称之为“landed”)。下面的代码假定您想知道它在每个时间步上降落的补丁,但忽略它经过的补丁。它还仅在海龟根据请求更改修补程序时更新计数,并用计数标记修补程序
patches-own [landed]
to setup
create-turtles 20
[ setxy random-xcor random-ycor
]
end
to go
ask turtles
[ let old-patch patch-here
set heading random 360
forward one-of [0 0.5 1 3]
if old-patch != patch-here
[ ask patch-here
[ set landed landed + 1
]
]
]
ask patches [set plabel landed]
end
问题是海龟可以在一个时间步内通过多个补丁。您可以在移动3的海龟的示例模型中看到这一点。如果您也需要它们,则需要在NetLogo模型库中执行类似“视线”模型的操作