Programme Java 2d Array Tic Tac Toe
Programme Java 2d Array Tic Tac Toe | Tic Tac Toe est un jeu de morpion composé de 0 et de X. Ce jeu est généralement joué par deux joueurs dans une grille de trois par trois. Le joueur qui place des X ou des 0 horizontalement, verticalement ou en diagonale sera déclaré vainqueur. Prérequis :- Tableau multidimensionnel en Java
Voir par exemple le tableau tic tac toe après le jeu devrait ressembler à ceci :-
X X X
0 0 X
0 X 0
Le joueur qui a placé X horizontalement est le gagnant.
X 0 0
0 0 X
0 X X
Le joueur qui a placé 0 en diagonale est le gagnant.
Code de programme Java 2d Array Tic Tac Toe
Voyons le code Java tic tac toe utilisant un tableau 2d.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
char[][] board = new char[3][3];
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
board[i][j] = '-';
}
}
Scanner scan = new Scanner(System.in);
System.out.println("Let's start the game TIC TAC TOE.");
System.out.print("Enter the name of Player1: ");
String play1 = scan.nextLine();
System.out.print("Enter the name of Player2: ");
String play2 = scan.nextLine();
boolean player1 = true;
boolean gameEnded = false;
while (!gameEnded) {
drawBoard(board);
if (player1) {
System.out.println(play1 + "'s Turn (X): ");
} else {
System.out.println(play2 + "'s Turn (O): ");
}
char c = '-';
if (player1) {
c = 'X';
} else {
c = 'O';
}
int row = 0;
int col = 0;
while (true) {
System.out.print("Enter a row number (0, 1, or 2): ");
row = scan.nextInt();
System.out.print("Enter a column number (0, 1, or 2): ");
col = scan.nextInt();
if (row < 0 || col < 0 || row > 2 || col > 2) {
System.out.println("This position is off the "+
"bounds of the board! Try again.");
} else if (board[row][col] != '-') {
System.out.println("Someone has already made a "+
"move at this position! Try again.");
} else {
break;
}
}
board[row][col] = c;
if (playerHasWon(board) == 'X') {
System.out.println(play1 + " has won!");
gameEnded = true;
} else if (playerHasWon(board) == 'O') {
System.out.println(play2 + " has won!");
gameEnded = true;
} else {
if (boardIsFull(board)) {
System.out.println("It's a tie!");
gameEnded = true;
} else {
player1 = !player1;
}
}
}
drawBoard(board);
scan.close();
}
public static void drawBoard(char[][] board) {
System.out.println("Board:");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
System.out.print(board[i][j]);
}
System.out.println();
}
}
public static char playerHasWon(char[][] board) {
for (int i = 0; i < 3; i++) {
if (board[i][0] == board[i][1] &&
board[i][1] == board[i][2] &&
board[i][0] != '-') {
return board[i][0];
}
}
for (int j = 0; j < 3; j++) {
if (board[0][j] == board[1][j] &&
board[1][j] == board[2][j] &&
board[0][j] != '-') {
return board[0][j];
}
}
if (board[0][0] == board[1][1] &&
board[1][1] == board[2][2] &&
board[0][0] != '-') {
return board[0][0];
}
if (board[2][0] == board[1][1] &&
board[1][1] == board[0][2] &&
board[2][0] != '-') {
return board[2][0];
}
return ' ';
}
public static boolean boardIsFull(char[][] board) {
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if (board[i][j] == '-') {
return false;
}
}
}
return true;
}
}
La sortie du code Java tic tac toe utilisant un tableau 2d :-
Commençons le jeu TIC TAC TOE.
Entrez le nom du Joueur1 :Amelia
Entrez le nom du Joueur2 :Jhon
Plateau :---
---
---
Le tour d'Amelia (X) :
Entrez un numéro de ligne (0, 1 ou 2) :0
Entrez un numéro de colonne (0, 1 ou 2) :0
Planche :X--
---
---
Jhon's Turn (O) :
Entrez un numéro de ligne (0, 1 ou 2) :0
Entrez un numéro de colonne (0, 1 ou 2) :2
Planche :
X-O---
---
Le tour d'Amelia (X) :
Entrez un numéro de ligne (0, 1 ou 2) :1
Entrez un numéro de colonne (0, 1 ou 2) :1
Planche :
X-O
-X----
Jhon's Turn (O) :
Entrez un numéro de ligne (0, 1 ou 2) :1
Entrez un numéro de colonne (0, 1 ou 2) :2
Planche :
X-O
-XO---
Le tour d'Amelia (X) :
Entrez un numéro de ligne (0, 1 ou 2) :2
Entrez un numéro de colonne (0, 1 ou 2) :2
Amelia a gagné !
Conseil :
X-O
-XO--X
Dans le tic tac toe du tableau Java 2d ci-dessus, nous avons pris une matrice 3 × 3. Cette matrice 2d est initialisée avec le caractère '-'. Une entrée ultérieure pour la matrice est demandée à l'utilisateur. En fonction de la valeur saisie, si une correspondance de tic tac toe est trouvée, l'utilisateur gagne.