netlogo - 如何找出特定海龟(Netlogo)在每个滴答声中调用的程序?
问题描述
我正在尝试调试三只特定海龟的运动。在设定的海龟数量(150)中,除了三只海龟外,所有海龟都按预期移动。然而,他们中的三个人的行为是不合理的,穿过墙壁(他们没有被编程这样做)或在墙壁附近停下来移动几个滴答声,然后再次开始移动。我知道 Netlogo 中没有调试功能,需要有创意。我正在使用检查和打印来了解这三只特定的海龟在每个滴答声中正在做什么(或即将做什么)。
ask turtles [ if [who] of self = 124 [ inspect self] ]
ask turtle 124 [ print heading]
真正有帮助的是,在此之后添加命令来告诉/报告特定海龟在每次滴答时调用的过程和顺序。我一直在看论坛,但没有成功。
解决方案
在所有相关程序的开头放置一个打印语句type self print "I am at procedure-name"
。自我识别哪个海龟正在执行该过程。请注意,这假设您已经在海龟上下文中,所以self
很有意义。
顺便说一句,ask turtles [ if [who] of self = 124 [ inspect self]
你可以简单地说inspect turtle 124
推荐阅读
- json - 在 Dart / Flutter 中与 Timer 一起使用时 Dispose 不起作用
- javascript - 如何使用 Slide 组件的容器设置输入/输出动画?
- python - matplotlib inset with '%H:%M' x 轴
- arrays - $lookup inside $lookup 在数组中的对象数组中
- git - 删除未打开拉取请求的旧分支
- python - 在嵌套字典python中计数
- python - 转换索引“等级”中的点列表
- css - @import 指令被 sass 忽略
- javascript - whatsapp-web.js,我如何向某人发送别人的名片?
- package - 创建调用包函数的视图 (MariaDB 10.6.4)