Dans cet exercice, tu vas implémenter un programme qui détermine l'état d'une partie de tic-tac-toe. (Tu connais peut-être aussi ce jeu sous le nom de « morpion ».)
Le jeu se joue sur une grille de 3×3.
Les joueurs placent à tour de rôle des X et des O sur la grille.
La partie se termine quand un joueur a gagné en alignant trois de ses marques sur une ligne, une colonne ou une diagonale de la grille, ou quand la grille est entièrement remplie.
Dans cet exercice, on suppose que c'est X qui commence.
À toi de déterminer dans quel état se trouve une partie donnée.
Il y a 3 états possibles pour une partie :
Si le plateau donné est invalide, lève une erreur appropriée.
Un plateau est invalide s'il remplit les conditions suivantes :
X qui commence). | |
X | |
___|___|___
| |
| X | O
___|___|___
| |
O | X |
| |
| |
X | O | X
___|___|___
| |
X | X | O
___|___|___
| |
O | X | O
| |
| |
X | X | X
___|___|___
| |
| O | O
___|___|___
| |
| |
| |
| |
O | O | X
___|___|___
| |
| |
___|___|___
| |
| |
| |
| |
X | X | X
___|___|___
| |
O | O | O
___|___|___
| |
| |
| |
Dans cet exercice, on te fournit 2 énumérations.
Ces deux types d'énumération doivent servir de valeurs de retour à la méthode state, au moyen d'une union.
Pour en savoir plus sur les énumérations et les unions, consulte la documentation de référence de Crystal :
Inscris-toi sur Exercism pour apprendre et maîtriser Crystal avec 26 concepts142 exercices, et un vrai mentorat humain, le tout gratuitement.