Add files via upload

This commit is contained in:
HarmandI 2021-10-01 13:52:39 +02:00 committed by GitHub
parent 64e687365b
commit 8a2e205843
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 35 additions and 41 deletions

View file

@ -2,7 +2,7 @@ package isaHarmand.morpion;
import java.util.Random; import java.util.Random;
import java.util.Scanner; import java.util.Scanner;
import java.util.Scanner;
public class Programme { public class Programme {
@ -28,52 +28,49 @@ public class Programme {
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 boolean 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 if (grid[i*3+0]==joueurActuel && grid[i*3+1]==joueurActuel && grid[i*3+2]==joueurActuel)
&& grid[i*3+1]==joueurActuel
&& grid[i*3+2]==joueurActuel)
gagnant=true; gagnant=true;
}
if (gagnant){ if (gagnant){
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 if (grid[i]==joueurActuel && grid[i+3]==joueurActuel && grid[i+6]==joueurActuel)
&& grid[i+3]==joueurActuel
&& grid[i+6]==joueurActuel)
gagnant=true; gagnant=true;
}
if (gagnant){ if (gagnant){
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 if (grid[0]==joueurActuel && grid[4]==joueurActuel && grid[8]==joueurActuel) {
&& grid[4]==joueurActuel
&& grid[8]==joueurActuel) {
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 if (grid[2]==joueurActuel && grid[4]==joueurActuel && grid[6]==joueurActuel) {
&& grid[4]==joueurActuel
&& grid[6]==joueurActuel) {
gagnant(grid, joueurActuel); gagnant(grid, joueurActuel);
break;}}} break;
}
}
return gagnant; return gagnant;
} }
@ -87,7 +84,7 @@ public class Programme {
Random tirage=new Random(); Random tirage=new Random();
int n=tirage.nextInt(nom.length); int n=tirage.nextInt(nom.length);
joueurActuel=nom[n]; joueurActuel=nom[n];
System.out.println("Le joueur qui commence est "+nom[n]); System.out.println("Le joueur qui joue est "+nom[n]);
//imprimer la grille //imprimer la grille
@ -96,14 +93,11 @@ public class Programme {
// 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
System.out.print(joueurActuel+ " choisis un numéro de case libre entre 1 et 9"); System.out.println(joueurActuel+ " choisis un numéro de case libre entre 1 et 9");
String cocher=scan.nextLine(); String cocher=scan.nextLine();
try { try {
cases =(char) Integer.parseInt(cocher); cases =(char) Integer.parseInt(cocher);
if ((1<=cases) if ((1<=cases) && (cases<=9) && (grid[cases-1]!=X) && (grid[cases-1]!=O));
&& (cases<=9)
&& (grid[cases-1]!=X)
&& (grid[cases-1]!=O));
break; break;
}catch (Exception cases){} }catch (Exception cases){}
@ -123,7 +117,7 @@ public class Programme {
joueurActuel=X; joueurActuel=X;
} }
}
@ -134,7 +128,7 @@ public class Programme {
public static void main(String[] args) { public static void main(String[] args) {
/**TODO Auto-generated method stub*/ /**TODO Auto-generated method stub*/
Programme morpion=new Programme(); Programme morpion=new Programme();
} }}