public class Board { private char[][] grid; private static final int SIZE = 3; public Board() { grid = new char[SIZE][SIZE]; for (int i = 0; i < SIZE; i++) { for (int j = 0; j < SIZE; j++) { grid[i][j] = '-'; } } } public void printBoard() { for (int i = 0; i < SIZE; i++) { for (int j = 0; j < SIZE; j++) { //IL FAUT METTRE I ET J INFERIEUR!!! SINON PAS D'AFFICHAGE!!! System.out.print(grid[i][j] + " "); } System.out.println(); } } public boolean isCellEmpty(int row, int col) { return grid[row][col] == '-'; } public void placeMark(int row, int col, char mark) { grid[row][col] = mark; } public boolean hasWon(char mark) { // Vérifie les lignes for (int i = 0; i < SIZE; i++) { if (grid[i][0] == mark && grid[i][1] == mark && grid[i][2] == mark) { return true; } } // Vérifie les colonnes for (int j = 0; j < SIZE; j++) { if (grid[0][j] == mark && grid[1][j] == mark && grid[2][j] == mark) { return true; } } // Vérifie les diagonales if (grid[0][0] == mark && grid[1][1] == mark && grid[2][2] == mark) { return true; } if (grid[0][2] == mark && grid[1][1] == mark && grid[2][0] == mark) { return true; } return false; } public boolean isFull() { for (int i = 0; i < SIZE; i++) { for (int j = 0; j < SIZE; j++) { if (grid[i][j] == '-') { return false; } } } return true; } }