让乌龟超过另一只乌龟

时间:2016-05-20 18:05:09

标签: netlogo

我正在尝试使用NetLogo的TrafficBasic模型。 我有这条路:

to setup-road ;; patch procedure
  if (pycor > 0) and (pycor < 3) [ set pcolor red] ;1st lane
  if (pycor > -3) and (pycor < 0) [ set pcolor blue] ;2nd lane
end

和这些海龟(汽车):

to setup-cars
  if number-of-cars > world-width [
    stop
  ]
  set-default-shape turtles "car"
  create-turtles number-of-cars [
    setxy 2 2
    set heading 90
    set speed 0.1 + random-float 0.9
    set speed-limit 0.5
    set speed-min 0
  ]
end

去程序:

to go
  ask turtles [
    let car-ahead one-of turtles-on patch-ahead 1
    ifelse car-ahead != nobody[
        slow-down-car car-ahead 
        ]

         [
           speed-up-car
         ] 
    if speed < speed-min [ set speed speed-min ]
    if speed > speed-limit [ set speed speed-limit ]
    fd speed
  ]
  tick
end
我试图让乌龟超越乌龟,但我无法弄清楚我该怎么做。

我尝试了什么:将航向设置为略高的角度,如91,然后将乌龟归还到它的主要航线,但它没有按预期工作。

ifelse car-ahead != nobody[ ;overtake
          set heading 95
          set speed-limit 1
        ]

        [                  ;return to your lane and slow down
          set heading 90
          set speed-limit 0.5
        ] 

0 个答案:

没有答案