如何在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。
我一直在尝试 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。