你的伪代码有很大的解释空间,所以这可能不是你想要的,但我认为它可以让你开始:
to communicate
ask turtles-on neighbors [
let both-turtles (turtle-set self myself)
let difference abs (variable - [ variable ] of myself)
if difference < 1 [ ask both-turtles [ set variable mean [ variable ] of both-turtles ] ]
if difference < 2 [ bring-closer both-turtles 0.3 ]
if difference < 3 [ bring-closer both-turtles 0.1 ]
]
end
to bring-closer [ both-turtles delta ]
ask min-one-of both-turtles [ variable ] [ set variable variable + delta ]
ask max-one-of both-turtles [ variable ] [ set variable variable - delta ]
end
这里发生了很多事情,但没有什么过于复杂的。我认为你需要理解的主要概念是:
self
和
myself
在局部变量中存储agentset的想法,以及编写接受参数的过程的想法。你可以在
programming guide
并查找
dictionnary
.