patch - 对不在上方的补丁进行操作(更改一个变量的值)的代理

标签 patch agent netlogo

如何编写代码,允许代理更改补丁变量的值,而代理不在上面?这是一个农民的例子,在上一个问题中我问了如何创建农场。代理是否有可能在同一时间点内更改不同补丁的变量?非常感谢您的帮助。

1 个刻度后

enter image description here

30个刻度后

enter image description here

最佳答案

NetLogo 的一个特殊功能是,代理可以直接更改其直接覆盖的补丁的变量值(即,askturtle 0 [ set pcolor blue] 将更改补丁从turtle 0blue),但任何海龟都可以要求任何补丁来更改其变量之一。

例如:

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/

相关文章:

netlogo - 在 NetLogo 中控制海龟的生命

whitespace - 如何获得补丁以忽略回车符?

svn - 为什么补丁会拒绝我在 SVN 工作副本上的补丁文件?

json - Symfony2实现PATCH方法来更新用户字段

networking - 在嵌入式系统上实现 SNMP 代理

netlogo - 在 NetLogo 中创建给定区域的随机形状( Blob )

Python Mocking - 如何修补函数内的变量

macos - 如何使用 root 从 OSX 守护进程或代理启动 UI

linux - 在 CentOS 7 上安装 puppet

simulation - 使用 slider 获取海龟颜色的用户输入