Visto che non è semplice capire se si è già superato il traguardo oppure no, ho pensato di semplificarvi le cose passando alla funzione 'ai' come argomento aggiuntivo, il valore dell'attributo car.laps che indica quanti giri completi sono stati fatti:
- numero negativo: si è attraversato il traguardo contromano
- 0: si deve ancora completare il primo giro
- numero positivo: si è completato il giro e ci si deve fermare
la funzione verrà quindi chiamata passando gli argomenti:
car.ai(griglia_corrente, griglia_precedente, car.x, car.y, car.vx, car.vy, car.car, car.verso, car.startx, car.starty, car.laps)
La nuova versione del simulatore gestisce anche i programmi che non usano l'argomento addizionale con una bella clausola try-except.