如何编写代码,允许代理更改补丁变量的值,而代理不在上面?这是一个农民的例子,在上一个问题中我问了如何创建农场。代理是否有可能在同一时间点内更改不同补丁的变量?非常感谢您的帮助。
1 个刻度后
30个刻度后
最佳答案
NetLogo 的一个特殊功能是,代理可以直接更改其直接覆盖的补丁的变量值(即,askturtle 0 [ set pcolor blue]
将更改补丁从turtle 0
到blue
),但任何海龟都可以要求
任何补丁来更改其变量之一。
例如:
ask turtles [
ask patch-ahead 1 [
set pcolor green
]
]
将告诉所有海龟将它们前面(不是正下方)的补丁颜色更改为绿色
。
他们还可以要求多个补丁来做一些事情,就像 in-radius
中那样。用户手册中找到的示例:
ask turtles [
ask patches in-radius 3 [
set pcolor red
]
]
关于patch - 对不在上方的补丁进行操作(更改一个变量的值)的代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21354608/