Thanks for that, but the delay(2) is just in the loop when you are waiting for someone to serve ( when dy == 0). A few lines down there is another delay, tv.delay(1), that would speed things up if you could change it to a lower value but it seems that it accepts integer values only. I tried commenting this line out and adding a delayMicroseconds line instead. This worked but made the screen flicker.
Any other ideas??