Un tableau 2D
char[][] grille = { {' ', ' ', ' '}, {' ', ' ', ' '}, {' ', ' ', ' '} }; grille[1][2] = 'X'; // ligne 1, colonne 2
Un tableau à deux dimensions modélise naturellement la grille : grille[ligne][colonne].
La condition de victoire
static boolean gagne(char[][] g, char j) { for (int i = 0; i < 3; i++) // lignes & colonnes if ((g[i][0]==j && g[i][1]==j && g[i][2]==j) || (g[0][i]==j && g[1][i]==j && g[2][i]==j)) return true; return (g[0][0]==j && g[1][1]==j && g[2][2]==j) || (g[0][2]==j && g[1][1]==j && g[2][0]==j); // diagonales }
🛢️ Sur le projet Fioul Groupé
Comme le pendu, ce projet consolide la logique et les tableaux avant de revenir au domaine fioul avec les chapitres avancés. Il illustre surtout le découpage en méthodes (afficher, jouer, gagne) — l'hygiène de code qui rendra l'API maintenable.
À retenir
- char[][] modélise une grille : grille[ligne][colonne].
- La logique de victoire parcourt lignes, colonnes et diagonales.
- Découper en méthodes (afficher/jouer/gagne) clarifie le code.