我正在尝试使用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
]