suena mas fasil de lo que enrrealidad es

talves creando una variable llamada: "DistanciaRecorrido" o PorcentageRecorrido"
esta variable has que sea igual a la distancia que recorrio el auto o que sea igual al porcentage de la pista que recorrio el auto.
Luego solo comparas que jugador tiene la variable DistanciaRecorrido mas grande y ese sera el jugador que balla primero
AHORA:
has que sea igual a la distancia que recorrio el auto
seguramente te preguntes como diablos haces esto
bueno... mmmh....
nose

talves te combenga dividir la pista en tramos y en ves de contar la distancia de la pista que el auto recorrio tendrias que contar los tramos de la pista que el auto recorrio
AHORA:
talves te combenga dividir la pista en tramos
bueno un tramo seria una superficie delimitada, en otras palabras seria la intercepcion de semiplanos (espero qe sepas de geometria)
luego te fijas dentro de que tramo esta el auto.
ejemplo:
prada determinar si el auto esta en el tramo 1 podria ser asi (esto depende de la pista)
if(AUTO.y>2*AUTO.x+242)//Semiplano1
{
if(AUTO.y>1.6*AUTO.x-10)//Semiplano2
{
if(AUTO.y<1*AUTO.x+100)//Semiplano3
{
AUTO.TramoRecorriendose = 1;
}
}
}
espero que a alguien se le ocurra algo mas sensillo