Netlogo汽车合并

Netlogo汽车合并,netlogo,Netlogo,我正在做一个单车道道路与双车道道路合并的模拟,所有道路都朝着同一方向行驶。未合并的车辆(cars1)检查半径为2的合并车辆,看它们是否需要转入左车道,如果需要,车辆检查左车道是否安全 ask cars1[ if (not any? turtles-at -2 4) and (not any? turtles-at -1 4) and (not any? turtles-at 0 4) and (not any? turtles-at 1 4) and (not any? t

我正在做一个单车道道路与双车道道路合并的模拟,所有道路都朝着同一方向行驶。未合并的车辆(cars1)检查半径为2的合并车辆,看它们是否需要转入左车道,如果需要,车辆检查左车道是否安全

ask cars1[
   if (not any? turtles-at -2 4) and (not any? turtles-at -1 4) 
   and (not any? turtles-at 0 4) and (not any? turtles-at 1 4) 
   and (not any? turtles-at 2 4) and (not any? turtles-at 3 4) 
   and (any? merging-cars in-radius 3)
   [  set ycor 2]]
如果最近车道上的车辆1换到左车道不安全,我试图让合并的车辆停止

ask merging-cars[
  loop[
  if[any? cars1 in-radius 2]
  [stop]
  ]]
这就是不起作用的代码。我还没有想出一个办法,使合并的汽车停止,如果它是不安全的,并去时,它是安全的


谢谢你让你走上了正确的方向。看一看没有?记录并注意,您可以使用以下命令合并要检查的角度以及向右或向左:

not any? turtles-on patch-right-and-ahead 60 2

这是说。。。。检查与该海龟前方2块右侧60度角。

您看过模型库中的“交通2车道”模型吗?它可以作为一个合并行为的例子——模型中的汽车不会碰撞,但只有在它们试图进入的车道上有空间时才会改变车道。是的,我已经看过了,它在我的模拟的某些部分中有很大帮助,但在这种情况下没有帮助。我需要合并的车辆检查是否安全,如果不安全,他们需要停下来等待合并安全。对。您是否可以编辑您的问题以包含一个可复制的示例(如中所示)?有几种方法可以满足您的需求,但如果不了解更多细节和背景,就很难提出最佳选择。