在 Netlogo 中同时协调

simultaneously coordination in Netlogo

我目前正在尝试在 Netlogo 中实现一个模型,其中海龟的行为取决于它们所有的邻居。 我的出发点是提供的协调游戏代码: http://modelingcommons.org/browse/one_model/2549#model_tabs_browse_info

根据这个模型,海龟的收益是通过引入一个变量来确定的,该变量将邻居的颜色作为其值。

ask turtles [
let his-color [color] of one-of turtles-on neighbors
if color = yellow and his-color = yellow [set payoff A-yellow-yellow set alt-payoff B-red-yellow]

但是,我需要我的海龟通过同时将它们的颜色与所有邻居进行比较来获得收益。由于 Netlogo 的默认同步更新,最后一部分是有问题的 任何人都可以指导我如何根据所有邻居同时进行更新,或者有人可以参考讨论这个的地方吗?

只需收集所有颜色,然后再更改任何颜色。例如,

turtles-own [nbr-colors]

to go
  ask turtles [
    set nbr-colors [color] of neighbors  ;get list of current colors
  ]
  ask turtles [
    set payoff compute-payoff nbr-colors
    set color anything-you-want
  ]
end