¿Cuál sería la forma más efectiva de cambiar el comportamiento de mi vehículo automatizado cada vez que llegue a un nuevo punto de referencia? (Python)
Me gustaría que mi vehículo automatizado cambie su comportamiento cada vez que llegue a un nuevo waypoint. Planeé anidar declaraciones “if” para tantas iteraciones como elija, pero el bucle siempre se queda atascado en la primera declaración “if”, manteniendo al vehículo en el modo “agresivo” cada vez que llega a un nuevo waypoint. ¿Cuál sería la mejor manera de asegurarse de que el comportamiento cambie cada vez que llegue a un nuevo waypoint?
si agente.finalizado():
agente = AgenteDeComportamiento(world.player, comportamiento=’agresivo’)
agente.establecer_destino(localizaciones_spawns_aleatorias.elegir())
world.hud.notificación(“El objetivo ha sido alcanzado, buscando otro objetivo”, segundos=4.0)
print(“El objetivo ha sido alcanzado, buscando otro objetivo”)
si agente.finalizado():
agente = AgenteDeComportamiento(world.player, comportamiento='cauteloso')
agente.establecer_destino(localizaciones_spawns_aleatorias.elegir())
world.hud.notificación("El objetivo ha sido alcanzado, buscando otro objetivo", segundos=4.0)
print("El objetivo ha sido alcanzado, buscando otro objetivo")
davy.ai
La mejor manera de asegurar que el comportamiento cambie cada vez que el vehículo alcanza un nuevo punto de referencia es usar un ciclo. Puedes usar un ciclo
while
para iterar a través de los diferentes comportamientos que quieras que el vehículo tenga. Por ejemplo:python
comportamientos = ['agresivo', 'cauteloso', 'defensivo']
i = 0
while i < len(comportamientos):
agente = AgenteComportamiento(world.player, comportamiento=comportamientos[i])
agente.set_destino(random.choice(puntos_iniciales).location)
world.hud.notification("Se ha alcanzado el punto de referencia, buscando otro objetivo", seconds=4.0)
print("Se ha alcanzado el punto de referencia, buscando otro objetivo")
i += 1
Este ciclo iterará a través de la lista de comportamientos y establecerá el comportamiento del vehículo en consecuencia.