Well, think about it. You know to do a specific task. Engineering, precision mechanics, playing guitar, picking up chicks, picking up strippers, and so on. If someone says "can anyone help me do engineering/precision mechanics/play guitar/pick up a chick/pick up a stripper?" you may be in the position to give him pointers.
however, if you (and i insist here on the last two examples, to prove a point
) do it by yourself, wouldn't it be your achievement?
I think the same thing happens here. No one is going to do a complete robot code (unless, of course, he has a ton of free time and implicitly money) unless he can also play with the robot. Would you allow someone to play with the stripper you picked up, even if he is the one who wanted to pick her up?
Now, back to the original thing. What do you mean by race? High speed? You do understand the implications of it: for example, the microcontroller would have to be fast.
A better idea could be marking the race track on cardboard / writing with marker on tiles. this way, you could do line detection. however, the track would have to be as big as the car. If you are going with an obstacle avoider to detect the track, you could end up with the robot going in zigzags between adjacent positions (horizontal movement) instead of sprinting across the track (vertical movement). The idea of a race would rule out the first variant.
You should have some standards, you know, before starting a project.