如何在netlogo中创建links,让link-neighbors按照link-length执行命令?

How to create links in netlogo and ask link-neighbors to execute commands according to link-length?

我一直在尝试 link 从 BREED1(静态)的海龟到 BREED1 邻居的 breed2(移动)的海龟。我想这样做是为了根据 BREED1 和 breed2 之间的 link-长度更改变量。 (你可以说 BREED1 代表房子,breed2 代表人,我想改变人是 "protected" 或不是的事实,根据他们与他们的房子分开的距离(BREED1 他们是 link编辑到)) 我不知道这是否是最好的方法,但这是我的代码,我知道它不起作用,因为默认情况下 "protected" 变量始终为 false。

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]
  ]

我还想添加有关 link 长度的部分

ask link-neighbors
  [ ifelse link-length < 2
    [set protected true]
    [set protected false]]

感谢您的帮助!

尝试使用 breed2-在邻近的补丁上创建 links:

ask BREED1
  [ 
    if any? breed2-on neighbors [ create-links-with breed2-on neighbors]
     ask link-neighbors [ set protected true]
  ]

和这个,它在 breed1 和它的邻居之间获得 link-长度

ask BREED1
[
   ask link-neighbors
    [
        if [link-length] of link-with myself < 2 [ do something]
    ]  
]

注意:link-length 是从 link 的角度调用的,因此您需要获取连接两个事物的 link。