我一直试图将BREED1(仍然)的海龟与来自BREED1邻居的品种2(移动)的海龟联系起来。我想这样做是为了根据BREED1和breed2之间的链接长度来改变变量。 (你可以说BREED1代表房子,而品种2代表人,我想改变这样一个事实:人们是否受到“保护”,根据他们与房子隔开的距离(BREED1与他们联系)) 我不知道这是否是最好的方法,但这是我的代码,我知道它不起作用,因为默认情况下“protected”变量总是为假。
to protect
ask n-of total-number-BREED1 BREED1
[ if any? breed2-on neighbors
[ create-link-with [who] of breed2-on neighbors]
ask link-neighbors
[ set protected true]
]
我还想添加一个关于链接长度的部分
ask link-neighbors
[ ifelse link-length < 2
[set protected true]
[set protected false]]
感谢您的帮助!
答案 0 :(得分:1)
尝试使用相邻补丁创建与品种2相关的链接:
ask BREED1
[
if any? breed2-on neighbors [ create-links-with breed2-on neighbors]
ask link-neighbors [ set protected true]
]
这就得到了品种1和它的邻居之间的链接长度
ask BREED1
[
ask link-neighbors
[
if [link-length] of link-with myself < 2 [ do something]
]
]
注意:从链接的角度调用链接长度,因此您需要获取连接两个内容的链接。