Netlogo-海龟穿越线路



我想数一下越界的海龟——我试过用"海龟在补丁上",但如果海龟停止,它会数两次。如果乌龟移动超过1个补丁,那就不算什么了。。。有什么想法吗?感谢Peter

线路

从您添加的图片来看,您运行的是一个单行道交通模型,其"终点线"非常窄,乌龟可以在一个勾号内完全穿过。

捕捉交叉点:

你可以做的一件事是在终点线的另一边画一条更粗的"线"。也许把它做成5片宽。你可以在测试时把它涂成黄色,当你确定它有效时,把它改为隐藏。如果一只乌龟在这块地上,它就越界了。如果你把它弄得足够宽,就不可能以任何速度跳过。只使用一只乌龟并缓慢运行模型应该很容易进行测试。

要计算停车的车辆:

如果看不到你的代码,很难说出你为什么要两次计算停车的汽车。你能在这里张贴你的代码或代码的相关部分吗?我猜你每次发现一辆新停下来的车时,都会有一些全局性的增量。

让汽车拥有一个变量,比如"stop?",当汽车过线时,你会将其初始化为false并设置为true,这效率较低,但更可靠。然后,在任何时候,你都可以用获得准确的停车次数

count cars with [ stopped? = true ]

假设你有一个变量,叫做我的停车次数,你想看看什么时候出了问题,你可以插入一行代码,比如

if mycount != count cars with [stopped? = true] [user-message "count is wrong!"]

如果这条线肯定是垂直的(如图所示(,那么最简单的方法可能只是count——pxcor比这条线所在的任何坐标都大的海龟,再加上汽车大小的东西。

最新更新