Хорошо, я уже некоторое время занимаюсь моделированием, чтобы продемонстрировать, как умные автомобили будут вести себя на автомагистрали в реальном мире. У меня есть ползунок, который меняет цвет половины автомобилей на дороге, и я хотел бы, чтобы у этих автомобилей были свои настройки и другие автомобили вели себя одинаково. Вот код, который меняет цвет.
Это процедура настройки и переменные для автомобиля.
cars-own [
speed ; the current speed of the car
top-speed ; the maximum speed of the car (different for all cars)
target-lane ; the desired lane of the car
patience ; the driver's current level of patience
autonomy-level ; the cars current level of autonomy
]
to setup
clear-all
set-default-shape turtles "car"
draw-road
draw-footpath
make-people
create-or-remove-cars
set-level-of-autonomy
reset-ticks
end
И это go процедура, которая заставляет автомобили двигаться.
to go
create-or-remove-cars
ask cars [ move-forward ]
ask cars with [ patience <= 0 ] [ choose-new-lane ]
ask cars with [ ycor != target-lane ] [ move-to-target-lane ]
tick
end
to set-level-of-autonomy
let num-change number-of-cars / 2 - count turtles with [color = orange or color = red or color = yellow]
ask n-of num-change cars
[ if level-of-autonomy = 0 [set color blue]
if level-of-autonomy = 1 [set color blue + 1.0]
if level-of-autonomy = 2 [set color cyan]
if level-of-autonomy = 3 [set color turquoise]
if level-of-autonomy = 4 [set color green]
if level-of-autonomy = 5 [set color lime]
]
end
Если после запуска процедуры go я хотел, чтобы заданные c автомобили, у которых их цвета менялись на go по дороге, по-разному, в зависимости от скорости машины или терпения водителей, чтобы переключиться Лейн, как мне их конкретно идентифицировать?
Я попробовал утверждение If, где я говорю, что цвет машины не оранжевый, а красный или желтый, но ..... это не сработает. Любая помощь будет принята с благодарностью.