代码之家  ›  专栏  ›  技术社区  ›  Kelumsd

根据颜色改变3条车道上移动乌龟的车道

  •  0
  • Kelumsd  · 技术社区  · 2 年前

    我试图扩展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

    当做

    我尝试了其他库中的类似示例和在线示例,但总是出错。我想在这方面帮我找个人。

    0 回复  |  直到 2 年前