我试图扩展NetLogo软件的内置模型,称为Traffic 2 lanes,并将其修改为瓶子生产线,该生产线有三个颜色的瓶子,以随机的颜色顺序在三个车道上移动。
我的要求是,在最初的交通2车道模型中,当一辆车遇到一辆行驶速度低于当前速度的车时,它正在变道。我的要求是,如果瓶子(汽车)在生产线上遇到不同颜色的瓶子,它需要改变车道。最终,三条线有三种不同颜色的瓶子。线向前移动。(向右)。
下面是负责更改车道的代码段。
to move-to-target-lane ; turtle procedure
set heading ifelse-value target-lane < ycor [ 180 ] [ 0 ]
let blocking-cars other turtles in-cone (1 + abs (ycor - target-lane)) 180 with [ x-distance <= 1 ]
let blocking-car min-one-of blocking-cars [ distance myself ]
ifelse blocking-car = nobody [
forward 0.2
set ycor precision ycor 1 ; to avoid floating point errors
] [
; slow down if the car blocking us is behind, otherwise speed up
ifelse towards blocking-car <= 180 [ slow-down-car ] [ speed-up-car ]
]
end
这是NetLogo项目文件的链接。我对NetLogo知之甚少,非常感谢您的支持,以增强我对Net徽标的了解。
Traffic lane simulation NetLogo
当做
我尝试了其他库中的类似示例和在线示例,但总是出错。我想在这方面帮我找个人。