关于这个问题(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代码?
答案 0 :(得分:2)
任何乌龟都可以指示任何乌龟使用ask
来更改值。您只需声明诸如ask one-of greens [ set variable variable + 1]
或ask greens with [variable > 6.9][...]
之类的内容即可。不过,您在这里需要注意一些问题,因为您将要求邻居的每个红色要求所有绿色更改当前伪编码的变量值。