Combinar carriles de tráfico en la simulación de NetLogo
Quiero escribir un programa de NetLogo para fusionar carriles de automóviles. Los vehículos están en 4 carriles, separados por 3,5 metros (cada parche representa 1 m). Las coordenadas centrales de cada carril están enycor
valores de -3.75, -7.25, -10.75 y -14.25.
Los vehículos tienen al azarxcor
valores conycor
valores en el centro de uno de los carriles, y se dirigen a la derecha. Quiero que el tráfico se fusione para que los autos se dirijan hacia el centro del mapa (distancexy 0 0 <50
) todos se mueven al mismo carril en ycor = -14.25 como se muestra en la imagen. Entonces, el automóvil que ya está en ese carril continúa hacia adelante, pero los automóviles en otros carriles giran a la derecha 45 grados para cambiar de carril y luego giran a la izquierda 45 grados cuando alcanzan el carril pycor = -14.25.
Los autos giran a la derecha. Sin embargo, las condiciones que he establecido para girar el auto nuevamente a la izquierda cuando alcanza ycor = -14.25 no están funcionando. En cambio, el automóvil continúa recto, cruzando el carril como en la siguiente figura.
Mi código es:
ifelse ycor = -14.25
[ fd speed ]
[ rt 45
fd speed
ifelse ycor = -14.25
[ lt 45
fd speed ]
[ fd speed ]
]
]