En fait, ton jeu va tourner dans une boucle principale. Pour simplifier, chaque tour de boucle (chaque fois que le contenu du DO va s'exécuter) 1 frame va s'exécuter, et ce, tant que la condition de ton choix est vérifiée. (Ce n'est pas toujours 100% vrai mais, dans l'exemple, c'est suffisant ^^).
Maintenant, tu peux très bien dire que ta condition va être : (enTrainDeJouer == true).
Il suffit donc qu'une autre fonction à l'intérieur de la boucle change cet état pour arrêter la boucle, et donc mettre fin au programme.
Sachant ça, ce qu'il te reste à faire, c'est d'écrire un bout de code qui va dire :
Si le joueur a perdu, demander s'il souhaite rééssayer
Si oui, réinitialiser le programme
Si non, enTrainDeJouer = false
Ca reste de l'entière théorie mais ça devrait peut être te mettre sur la piste ;-)