Netlogo - 如何在链接时将变量值从一个乌龟传递到另一个乌龟

时间:2015-04-17 02:15:24

标签: netlogo

我有一个Netlogo模型,有两种海龟,A和B,以及它们之间的链接。我想要一个变量的乌龟A变化取决于乌龟B变量的值,如下所示:

[ask one-of AB_link-neighbors with [variableA > 0] 
  [set variableA (variableA - variableB)]]

我得到错误:一个品种不拥有变量b。

请有人帮忙吗?非常感谢。

1 个答案:

答案 0 :(得分:3)

稍微多一些代码会有所帮助,因为不清楚代码块运行的是什么上下文,而且我不确定AB_link-neighbors中的内容是什么。我猜测AB_link-neighborsB个变量之一,它包含A个。我也猜测代码中的外部块在B内运行,如:

ask B [ask one-of AB_link-neighbors with [variableA > 0] 
        [set variableA (variableA - variableB)]]

所以set variableA是指A的变量,问题是

    [set variableA (variableA - variableB)]]

只能引用问龟的变量。由于该乌龟是A,因此没有variableB可用。一个解决方案是使用ofmyself,它指的是问龟(而不是问龟):

ask B [ask one-of AB_link-neighbors with [variableA > 0] 
        [set variableA (variableA - (variableB of myself))]]