You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何限制NetLogo智能体不超出gis:load-dataset加载的栅格范围?

解决智能体越界及禁止进入黑色区域的方案

1. 标记允许移动的区域

先在代码开头的patches-own声明里新增变量,用来标记可通行的地块:

然后修改setup-mapa代码,给每个地块标记是否允许智能体进入:

2. 修改智能体移动逻辑

针对不同的移动方式,添加通行检查:

  • 向前移动(fd命令):
    把原来的fd 1替换为:

    逻辑:先获取前方地块,仅当地块存在且可通行时才移动。

  • 随机移动到邻居地块:
    把随机移动的代码替换为:

    逻辑:只从可通行的邻居地块中选一个移动,没有可通行邻居则保持不动。

  • 初始位置限制:
    确保智能体一开始就生成在可通行区域,在setup的智能体生成代码里添加:

3. 额外:禁止靠近地图边缘

如果要让智能体完全避开地图最外围地块,可修改is-allowed?的判断逻辑,在标记可通行区域时额外排除边缘地块:


内容的提问来源于stack exchange,提问作者HeyIt'sMerley

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 04:31:13