Netlogo 有没有一种方法可以根据网络徽标中的补丁变量设置补丁集?
我有一个相当简单的问题:有没有一种基于补丁变量定义补丁集的方法?在我的模型中,我有一大组组成食物对象的面片,食物是一个面片变量。我让海龟在发现自己在食物上时改变颜色,但我之前已经手动定义了它们改变颜色的补丁集。然而,我想调整食物的位置,我不想检查和重新定义所有的食物补丁。谢谢Netlogo 有没有一种方法可以根据网络徽标中的补丁变量设置补丁集?,netlogo,Netlogo,我有一个相当简单的问题:有没有一种基于补丁变量定义补丁集的方法?在我的模型中,我有一大组组成食物对象的面片,食物是一个面片变量。我让海龟在发现自己在食物上时改变颜色,但我之前已经手动定义了它们改变颜色的补丁集。然而,我想调整食物的位置,我不想检查和重新定义所有的食物补丁。谢谢 to setup-food if (distancexy (0.8 * min-pxcor) (0.8 * min-pycor)) < 5 [set food 5 if food > 0
to setup-food
if (distancexy (0.8 * min-pxcor) (0.8 * min-pycor)) < 5
[set food 5
if food > 0
[set pcolor cyan]]
end
TO look-for-food;; procedure that controls turtle color change on food
let potential-leaders foragers-on (patch-set patch -38 -16 patch -37 -16 patch -36 -16 so on..)
[do things]
end
````````````
设置食物
如果(距离xy(0.8*min pxcor)(0.8*min pycor))<5
[设置食物5
如果食物>0
[设置彩色青色]]
结束
寻找食物;;控制龟类食物颜色变化的程序
让潜在的领导者开始搜寻(补丁集补丁-38-16补丁-37-16补丁-36-16等等)
[做事]
结束
````````````
您可以创建这样一个补丁集,如下所示:
let foods patches with [food > 0]
ask foods [ set pcolor cyan ]
这是一个局部变量,在程序结束时会被丢弃(因此让
),但如果您在代码中的许多地方需要此补丁集,您也可以创建一个全局变量,请记住在补丁上的食物用完时更新它
当您将与
ask patches with [food > 0] [set pcolor cyan]