在netlogo中设置变量的值

在netlogo中设置变量的值,netlogo,Netlogo,我想将一个补丁变量的值设置为与它的一个邻居变量的值相同。我想要的东西大致如下: ask patches[ let trader max-one-of neighbors [payoff] set strategy [strategy of trader] ] 以便将每个补丁的策略设置为与其具有最高回报的邻居的策略相同。上述方法不起作用。谁能告诉我怎么做?谢谢。对您的代码进行了一些更正: 1-你不能用同样的方式命名海龟和补丁,所以我离开了 策略为海龟所有,而pst策略为补丁所

我想将一个补丁变量的值设置为与它的一个邻居变量的值相同。我想要的东西大致如下:

ask patches[

    let trader max-one-of neighbors [payoff]
    set strategy [strategy of trader]

]

以便将每个补丁的策略设置为与其具有最高回报的邻居的策略相同。上述方法不起作用。谁能告诉我怎么做?谢谢。

对您的代码进行了一些更正:

1-你不能用同样的方式命名海龟和补丁,所以我离开了
策略
为海龟所有,而
pst策略
为补丁所有

2-
Neights
返回一个包含8个周围补丁的代理集,而不是其中的海龟,因此,为了获得周围补丁上的海龟,您应该使用
max one of turtles on Neights[payoff]
而不是
max one of Neights[payoff]

我会这样做:

ask patches[
  ask max-one-of turtles-on neighbors [payoff] [
    set pstrategy strategy
  ]

你很接近。您只是没有正确的的
语法。显示方括号的正确位置

因此,这应该是可行的:

ask patches [
  let trader max-one-of neighbors [payoff]
  set strategy [strategy] of trader
]

我不知道你为什么认为有海龟牵涉其中。。。?我不认为这个问题暗示了这一点。即使撇开这一点不谈,这个代码仍然是不正确的。海龟将设置它所站补丁的
pstrategy
变量,而不是调用补丁。