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

时间:2019-02-27 10:10:57

标签: netlogo

关于这个问题(NetLogo - calculate the difference of a variable of neighbouring agents),我正在尝试更改(对于另一种情况)代码,以便另一个品种可以单方面更改另一个品种附近成员的值(如果它们的值大于一个特定的阈值),甚至可以通过随机性改变另一个品种的(任何)远处成员之一的值。

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

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代码?

1 个答案:

答案 0 :(得分:2)

任何乌龟都可以指示任何乌龟使用ask来更改值。您只需声明诸如ask one-of greens [ set variable variable + 1]ask greens with [variable > 6.9][...]之类的内容即可。不过,您在这里需要注意一些问题,因为您将要求邻居的每个红色要求所有绿色更改当前伪编码的变量值。