Exercices de programmation pour classes préparatoires
On represente une grille de morpion 3 x 3 par une liste de listes dont les coefficients valent :
- +1 pour une case occupee par le joueur X,
- -1 pour une case occupee par le joueur O,
- 0 pour une case vide.
Les huit alignements de la grille sont : les 3 lignes, les 3 colonnes et les 2 diagonales (principale et anti-diagonale).
Ecrire une fonction evaluation(grille) qui renvoie :
- +1 si X a aligne 3 symboles sur au moins un alignement (X a gagne) ;
- -1 si O a aligne 3 symboles sur au moins un alignement (O a gagne) ;
- 0 sinon.
Si les deux joueurs ont un alignement complet (cas impossible en pratique mais potentiellement construit), on privilegie X et on renvoie +1.
| Appel | Résultat attendu |
|---|---|
| evaluation([[0, 0, 0], [0, 0, 0], [0, 0, 0]]) | 0 |
| evaluation([[1, 1, 1], [0, 0, 0], [0, 0, 0]]) | 1 |
| evaluation([[-1, -1, -1], [0, 0, 0], [0, 0, 0]]) | -1 |
Connectez-vous pour soumettre du code.