netlogo - NetLogo 中的 path-here 命令
问题描述
我有基本的 NetLogo 命令问题。
我想要一组移动代理(海龟)访问补丁变量(称为 veg)并根据它们加载糖的能力(大小)收集一定量的(糖)。我正在尝试使用patch-here 命令,但是在NetLogo 字典中没有关于如何使用patch-here 的示例,我不知道如何向海龟提问以询问他们是否收集了根据你的体型,从那个贴片中提取足够的糖。有没有人对如何做或在哪里可以找到这些信息有任何建议?
ask turtles [
patch-here veg > 0.6
set sugar (sugar - metabolism)
]
解决方案
要使用patch-here
,您可以将代码修改为:
ask turtles
[ if [veg] of patch-here > 0.6
[ set sugar (sugar - metabolism)
]
]
然而,每只海龟都位于一个补丁上——即使用于显示乌龟的图片很大并且跨越了许多补丁,乌龟本身也被认为位于一个点上,即在一个补丁内。NetLogo 巧妙地使用了坐标系——因为海龟只能在一个地方,如果你使用补丁变量名,它会假设你想要海龟所在的补丁。
因此,您可以将其简化为:
ask turtles
[ if veg > 0.6
[ set sugar (sugar - metabolism)
]
]
请注意,当我删除of patch-here
.
但是您可以将其进一步简化为:
ask turtles with [veg > 0.6]
[ set sugar (sugar - metabolism)
]
所以如果你是patch-here
用来获取乌龟所在的patch的变量值,那么你可以直接使用这个变量。的一个典型用途patch-here
是在同一个补丁上找到其他海龟。
推荐阅读
- sockets - 如何使用 Overbyte ICS 获取 500 错误的详细信息
- react-native - 如何在本机反应中清除抽屉导航器内的屏幕
- javascript - 在一天中的某个时间自动在我的网站上播放多个视频
- python - 递归地反转链表中数字的顺序
- flutter - TextField 使用 setState 失去焦点
- java - Kafka 消费者在特定偏移量上断开连接
- android - 如何获取用户配置的设备名称?
- c# - 如何插入 ICollection
进入 ADO.NET 中的一个字段? - c - 如何使字符串数组与交换函数交换它的组件?
- google-cloud-platform - 如何使用 sourceIP 在公共 GKE 集群 pod 中使用云 NAT