【发布时间】:2015-02-10 21:33:21
【问题描述】:
我正在尝试在 Netlogo 中创建一个命令,在该命令中,我要求绿色海龟上的链接存活,而所有其他链接都死掉,以便与绿海龟的链接在我的刻度重置后仍然存在。有人知道如何要求负值吗?就像'所有非绿海龟?我想不通这个!请帮忙。
【问题讨论】:
-
基本上我想要做的是找到一个类似于“杀死所有连接到非绿海龟的链接”的命令,但我找不到相关的代码语言来执行此操作
标签: netlogo
我正在尝试在 Netlogo 中创建一个命令,在该命令中,我要求绿色海龟上的链接存活,而所有其他链接都死掉,以便与绿海龟的链接在我的刻度重置后仍然存在。有人知道如何要求负值吗?就像'所有非绿海龟?我想不通这个!请帮忙。
【问题讨论】:
标签: netlogo
可能有一个更优雅的解决方案,但这应该可以满足您的需求:
用两端的 [[color] != green ] [ die ] 询问链接
ask links with [ [color] of end1 != green OR [color] of end2 != green ] [ die ]
这假设链接的两端都需要连接到绿海龟。否则,您可以分别查看两端并像这样使用end1 和end2:
ask links with [ [color] of end1 != green AND [color] of end2 != green ] [ die ]
【讨论】:
[color] of both-ends 报告颜色的列表,例如:[green green] 或[red green]。由于该列表将始终!= green,因此所有链接都会失效。
OR 连接起来将是另一种方法,除了您的解决方案。我会相应地编辑我的答案。
从乌龟的角度来看:
ask turtles with [ color != green ] [ ask my-links [ die ] ]
从链接的角度来看:
ask links with [ [ color ] of both-ends != [green green] ] [ die ]
或者更花哨,也许不太可读:
ask links with [ reduce or [ color != green ] of both-ends ] [ die ]
【讨论】:
all? both-ends [color != green]