Ben moi je vais te dire un truc générique qui marche à tous les coups (et qui font réduire le nombre de bugs)
Etape 1: Ecriture d'un document de spécifications: tu reprends l'énoncé et tu y ajoute ce qui n'y est pas (comme les règles par exemples) en indiquant comment le joueur va jouer (en couvrant un maximum de possibilités)
Etape 2 : écriture d'un document de conception: tu prévois toutes les fonctionnalités qui découlent des spécifications. Par exemple, tu auras une fonction qui change de joueur, une qui vérifie si le programme est terminé, etc. Le tout en précisant les points d'entrée et de sortie des fonctionnalités.
Si tu trouves de nouvelles fonctionnalités en intéraction avec l'utilisateur (le joueur), tu mets à jour ton document de spécifications.
Etape 3: bon tu peux enfin programmer. Tu prends le document de conception et tu codes ce qu'il y a écrit dessus. Si tu vois des problèmes techniques, tu mets à jours ton document de conception.
Etape 4: Tu fais un document de test en y mettant le plus grand nombre de tests possible (on peut reprendre le document de spécifications pour imaginer ces tests. Seulement après avoir notés tous les tests, tu les passes et tu corrige les bugs.
A la fin tu remet ton exécutable, tes documents de spécifications, conception et tests et tu auras une très bonne note (pas la peine de donner le code source si les documents sont bien fait ;-) )