Add files via upload
This commit is contained in:
parent
56eef89161
commit
d8a578f029
Binary file not shown.
@ -12,67 +12,74 @@ public class Programme {
|
|||||||
char O = 'O';
|
char O = 'O';
|
||||||
Scanner scan = new Scanner(System.in);
|
Scanner scan = new Scanner(System.in);
|
||||||
char joueurActuel;
|
char joueurActuel;
|
||||||
|
String saisir;
|
||||||
// Dessiner une grille
|
// Dessiner une grille
|
||||||
char[]grid=
|
char[] grid = { '1', '2', '3', '4', '5', '6', '7', '8', '9', };
|
||||||
{'1','2','3',
|
|
||||||
'4','5','6',
|
|
||||||
'7','8','9',
|
|
||||||
};
|
|
||||||
|
|
||||||
public void montrerLaGrille(char[] grid) {
|
public void montrerLaGrille(char[] grid) {
|
||||||
System.out.println("[" + grid[0] + '|' + grid[1] + '|' + grid[2] + ']');
|
System.out.println("[" + grid[0] + '|' + grid[1] + '|' + grid[2] + ']');
|
||||||
System.out.println("[" + grid[3] + '|' + grid[4] + '|' + grid[5] + ']');
|
System.out.println("[" + grid[3] + '|' + grid[4] + '|' + grid[5] + ']');
|
||||||
System.out.println("[" + grid[6] + '|' + grid[7] + '|' + grid[8] + ']');
|
System.out.println("[" + grid[6] + '|' + grid[7] + '|' + grid[8] + ']');
|
||||||
|
System.out.println("");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void gagnant(char[] grid, char joueurActuel) {
|
public void gagnant(char[] grid, char joueurActuel) {
|
||||||
montrerLaGrille(grid);
|
montrerLaGrille(grid);
|
||||||
System.out.println("Le joueur qui a les " + joueurActuel + " a gagné!");
|
System.out.println("Le joueur qui a les " + joueurActuel + " a gagné!");
|
||||||
System.exit(0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isGagnant () {
|
public void isGagnant() {
|
||||||
|
|
||||||
// Vérifier s'il y a 3 elements alignés en vertical horizontal ou diagonale
|
// Vérifier s'il y a 3 elements alignés en vertical horizontal ou diagonale
|
||||||
// On verifie les lignes
|
// On verifie les lignes
|
||||||
for (int i = 0; i < 3; ++i) {
|
for (int i = 0; i < 3; ++i) {
|
||||||
if (grid[i * 3 + 0] == joueurActuel && grid[i * 3 + 1] == joueurActuel && grid[i * 3 + 2] == joueurActuel)
|
if (grid[i * 3 + 0] == joueurActuel && grid[i * 3 + 1] == joueurActuel && grid[i * 3 + 2] == joueurActuel)
|
||||||
|
gagnant = true;
|
||||||
gagnant(grid, joueurActuel);
|
gagnant(grid, joueurActuel);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// on verifie les colonnes
|
// on verifie les colonnes
|
||||||
for (int i = 0; i < 3; i++) {
|
for (int i = 0; i < 3; i++) {
|
||||||
if (grid[i] == joueurActuel && grid[i + 3] == joueurActuel && grid[i + 6] == joueurActuel)
|
if (grid[i] == joueurActuel && grid[i + 3] == joueurActuel && grid[i + 6] == joueurActuel)
|
||||||
|
gagnant = true;
|
||||||
gagnant(grid, joueurActuel);
|
gagnant(grid, joueurActuel);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// on verifie 1ere diagonale
|
// on verifie 1ere diagonale
|
||||||
for (int i = 0; i < 3; ++i) {
|
for (int i = 0; i < 3; ++i) {
|
||||||
if (grid[0]==joueurActuel && grid[4]==joueurActuel && grid[8]==joueurActuel) {
|
if (grid[0] == joueurActuel && grid[4] == joueurActuel && grid[8] == joueurActuel)
|
||||||
|
gagnant = true;
|
||||||
gagnant(grid, joueurActuel);
|
gagnant(grid, joueurActuel);
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// on verifie 2eme diagonale
|
// on verifie 2eme diagonale
|
||||||
for (int j = 0; j < 3; ++j) {
|
for (int j = 0; j < 3; ++j) {
|
||||||
if (grid[2]==joueurActuel && grid[4]==joueurActuel && grid[6]==joueurActuel) {
|
if (grid[2] == joueurActuel && grid[4] == joueurActuel && grid[6] == joueurActuel)
|
||||||
|
gagnant = true;
|
||||||
gagnant(grid, joueurActuel);
|
gagnant(grid, joueurActuel);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// si toutes les cases sont pleines et qu'iln'y a pas 3 pions d'alligné match
|
||||||
|
// nul
|
||||||
|
for (int k = 0; k < 8; ++k) {
|
||||||
|
if (grid[k] == X || grid[k] == O)
|
||||||
|
gagnant = true;
|
||||||
|
System.out.println("Match nul!!");
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return gagnant;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public Programme() {
|
public Programme() {
|
||||||
|
|
||||||
|
|
||||||
// début du jeu
|
// début du jeu
|
||||||
|
|
||||||
// tirer au hazard quel joueur commence
|
// tirer au hazard quel joueur commence
|
||||||
@ -84,46 +91,40 @@ public class Programme {
|
|||||||
|
|
||||||
// imprimer la grille
|
// imprimer la grille
|
||||||
|
|
||||||
do{
|
do { montrerLaGrille(grid);
|
||||||
montrerLaGrille(grid);
|
|
||||||
// le joueur 1 choisit une case : entre 1 et 9 et non cochée.
|
// le joueur 1 choisit une case : entre 1 et 9 et non cochée.
|
||||||
// si caractere incorrect reposer la question
|
// si caractere incorrect reposer la question
|
||||||
|
while (true) {
|
||||||
System.out.println(joueurActuel+ " choisis un numéro de case libre entre 1 et 9");
|
System.out.print(joueurActuel + " choisis un numéro de case libre entre 1 et 9");
|
||||||
String cocher=scan.nextLine();
|
saisir = scan.nextLine();
|
||||||
try {
|
try {
|
||||||
cases =Integer.parseInt(cocher);
|
cases = Integer.parseInt(saisir);
|
||||||
if ((1<=cases) && (cases<=9) && (grid[cases-1]!=X) && (grid[cases-1]!=O));
|
if (cases >= 1 && cases <= 9 && grid[cases - 1] != X && grid[cases - 1] != O)
|
||||||
break;
|
break;
|
||||||
}catch (Exception cases){cases.printStackTrace();}
|
} catch (Exception e) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
// Mettre le bon caractere dans la case choisie
|
// Mettre le bon caractere dans la case choisie
|
||||||
grid[cases - 1] = joueurActuel;
|
grid[cases - 1] = joueurActuel;
|
||||||
|
|
||||||
isGagnant();
|
isGagnant();
|
||||||
// si toutes les cases sont pleines et qu'iln'y a pas 3 pions d'alligné match nul
|
|
||||||
for (int k=0;k<9;++k){
|
|
||||||
if (grid[k]==X || grid[k]==O)
|
|
||||||
System.out.println("Match nul!!");
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}while(gagnant==false);// si non demander à l'autre joueur de choisir une case libre
|
|
||||||
|
while(gagnant == false); // si non demander à l'autre joueur de choisir une case libre
|
||||||
if (joueurActuel == X)
|
if (joueurActuel == X)
|
||||||
joueurActuel = O;
|
joueurActuel = O;
|
||||||
else
|
else
|
||||||
joueurActuel = X;
|
joueurActuel = X;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Main
|
* Main
|
||||||
*/
|
*/
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
/**TODO Auto-generated method stub*/
|
/** TODO Auto-generated method stub */ /**TODO Auto-generated method stub*/
|
||||||
Programme morpion=new Programme();
|
Programme programme = new Programme();
|
||||||
}}
|
}}
|
||||||
|
|
||||||
|
|
||||||
@ -136,7 +137,3 @@ public static void main(String[] args) {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user