Did anyone else notice this? The algorithm was faulty. Once you enter the first while loop it was impossible to escape. I'll try and reconstruct the algorithm from memory to show you.
FOR Runner = 1 TO 8
RandomLane = random number from 1 to 8 inclusive
WHILE RunnerName(RandomLane) IS...