NetLogo - 单方面交换附近海龟的价值

NetLogo - unilaterally exchange values of nearby turtles

关于这个问题(),我正在尝试更改(针对另一种情况)代码,以便另一个品种可以单方面更改其他品种附近成员的值(如果它们的值高于某个阈值)并且通过随机性甚至可以改变另一个品种的(任何)远距离成员之一的值。

我的代码是(括号内为伪代码):

breed [ greens green ]
greens-own [ variable ]

breed [ reds red ]

to setup    
    create-greens 100 [
        set variable random 10    
    ]  
    create-reds 1
end

to start
   ask reds [
   exchange
   ]
end

to exchange
  rt random 360
  fd 0.5
  ask reds-on neighbors [
      let both-turtles (turtle-set self myself)
      "greens with variable > 6.9" [ set variable variable + 0.5]
 ]
 "one-of greens [ set variable variable + 1]"
end

如何将伪代码转换为 NetLogo 代码?

任何乌龟都可以指示任何乌龟使用 ask 更改值。您可以简单地陈述 ask one-of greens [ set variable variable + 1]ask greens with [variable > 6.9][...] 之类的内容。不过,您在这里需要小心,因为您将要求邻居上的每个红色都要求所有绿色更改当前伪编码的变量值。