Files
Fondamentaux-TP1/TTT_java/Board.java

65 lines
1.7 KiB
Java
Raw Normal View History

2025-10-14 17:21:26 +02:00
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;
}
}