donc:
clock() c'est une fonction qui te retourne certainement un entier qui représente le temps passé depuis le démarrage de windows ou un truc du genre.
CLOCKS_PER_SEC doit te donner l'évolution de ce que te donne clock(), par seconde.
donc si c'est j'en sais rien 1000 pour CLOCKS_PER_SEC, entre 2 secondes, la valeur retournée par clock() aura augmentée de 2000.
comme le but c'est d'attendre, tu as "goal" qui t'indiques la valeur à atteindre avant de sortir de la boucle d'attente.
comme tu veux attendre X secondes, ça fait une différence X*CLOCKS_PER_SEC à atteindre entre le début et la fin d'attente.
donc la valeur à atteindre est = X*CLOCKS_PER_SEC + clock()
d'ou le while( goal > clock() ):
on boucle comme un con sans rien faire, en attendant que clock() retourne une valeur de temps supérieure à la fin calculée précédemment.