如果条件满足,我想放弃一只乌龟和另一只具有不同品种的乌龟之间的联系。我正在使用以下代码执行此操作:
ask one-of turtle1 [
if any? my-out-links with [breed = turtle2]
[ask one-of out-link-neighbors with [breed = turtle2 and value < 0.7] ;; value should refer to a neighbour's characteristics and it represents my condition
[die]
]
]
但是链接似乎保持不变。未删除任何链接。
[能否请您告诉我代码中的错误以及如何相应解决?
非常感谢
我假设turtle1
和turtle2
是两种海龟。如果是这样,
if any? my-out-links with [breed = turtle2]
将永远不会找到任何这样的出站链接,因为您正在检查my-out-links
中是否有任何一个是turtle2
品种,当然没有links是那个品种。您想知道链接另一端的海龟是否为turtle2
品种。由于这些是定向链接,因此您要检查的乌龟在end2
。
if any? my-out-links with [[breed] of end2 = turtle2]
将让您知道my-out-links
另一端的任何海龟是否为turtle2
品种。
行
ask one-of out-link-neighbors with [breed = turtle2 and value < 0.7] [die]
可能比您预期的要多。它要求品种turtle2
且链接为value < 0.7
的链接邻居turtle死亡。这确实也会杀死该链接(因为它已经失去了end2
),但是如果您想杀死该链接而不是另一端的乌龟,则可以在一行中完成所有操作
ask one-of turtle1 [
ask one-of my-out-links with [[breed = turtle2 and value < 0.7] of end2] [die]
]
如果没有此类出站链接,则您将询问nobody
,而询问将不起作用。
希望这会有所帮助,查尔斯