diff --git a/Morpion/bin/isaHarmand/morpion/Morpion.class b/Morpion/bin/isaHarmand/morpion/Morpion.class new file mode 100644 index 0000000..2a12793 Binary files /dev/null and b/Morpion/bin/isaHarmand/morpion/Morpion.class differ diff --git a/Morpion/bin/isaHarmand/morpion/MorpionTest.class b/Morpion/bin/isaHarmand/morpion/MorpionTest.class new file mode 100644 index 0000000..f1fe9db Binary files /dev/null and b/Morpion/bin/isaHarmand/morpion/MorpionTest.class differ diff --git a/Morpion/bin/isaHarmand/morpion/Programme.class b/Morpion/bin/isaHarmand/morpion/Programme.class new file mode 100644 index 0000000..88ed91c Binary files /dev/null and b/Morpion/bin/isaHarmand/morpion/Programme.class differ diff --git a/Morpion/bin/isaHarmand/morpion/package-info.class b/Morpion/bin/isaHarmand/morpion/package-info.class new file mode 100644 index 0000000..dba2806 Binary files /dev/null and b/Morpion/bin/isaHarmand/morpion/package-info.class differ diff --git a/Morpion/bin/module-info.class b/Morpion/bin/module-info.class new file mode 100644 index 0000000..14dc784 Binary files /dev/null and b/Morpion/bin/module-info.class differ diff --git a/Morpion/src/isaHarmand/morpion/Morpion.java b/Morpion/src/isaHarmand/morpion/Morpion.java new file mode 100644 index 0000000..074d143 --- /dev/null +++ b/Morpion/src/isaHarmand/morpion/Morpion.java @@ -0,0 +1,39 @@ +package isaHarmand.morpion; + +import java.util.Scanner; +public class Morpion +{ + public void main(String[] args) + { + Morpion now=new Morpion(); + now.joueur(); + } + String joueur1; + String joueur2; + +//Saisir les noms des 2 joueurs + + + public String joueur(){ + System.out.println("Quel est ton pseudo?"); + Scanner scanner=new Scanner(System.in); + return scanner.next();} + + { + System.out.println("Bonjour "+joueur1 +" et "+ joueur2+"!"); + } + +} + + + + + + + + + + + + + diff --git a/Morpion/src/isaHarmand/morpion/MorpionTest.java b/Morpion/src/isaHarmand/morpion/MorpionTest.java new file mode 100644 index 0000000..1db5cb8 --- /dev/null +++ b/Morpion/src/isaHarmand/morpion/MorpionTest.java @@ -0,0 +1,14 @@ +package isaHarmand.morpion; + +import static org.junit.jupiter.api.Assertions.*; + +import org.junit.jupiter.api.Test; + +class MorpionTest { + + @Test + void test() { + fail("Not yet implemented"); + } + +} diff --git a/Morpion/src/isaHarmand/morpion/Programme.java b/Morpion/src/isaHarmand/morpion/Programme.java new file mode 100644 index 0000000..ef28e95 --- /dev/null +++ b/Morpion/src/isaHarmand/morpion/Programme.java @@ -0,0 +1,171 @@ +package isaHarmand.morpion; + +import java.util.Random; +import java.util.Scanner; + +public class Programme { + + public void montrerLaGrille(char[]grid) { + System.out.println("["+ grid[0]+'|'+grid[1]+'|'+grid[2]+']'); + System.out.println("["+ grid[3]+'|'+grid[4]+'|'+grid[5]+']'); + System.out.println("["+ grid[6]+'|'+grid[7]+'|'+grid[8]+']'); + } + + public void gagnant(char[]grid,char joueurActuel) { + montrerLaGrille(grid); + System.out.println("Le joueur qui a les "+joueurActuel+"a gagné!"); + } + + Scanner scan=new Scanner(System.in); + char joueurActuel; + + String joueur1; + String joueur2; + Boolean gagnant= false; + char cases; + char X; + char O; + + //Dessiner une grille + char[]grid= + {'1','2','3', + '4','5','6', + '7','8','9', + }; + + //Saisir les noms des 2 joueurs + public Programme() { + joueur1= joueur(); + joueur2=joueur(); + + + // début du jeu + + public String joueur(){ + System.out.println("Quel est ton pseudo?"); + Scanner scanner=new Scanner(System.in); + return scanner.next(); + System.out.println("Bonjour "+joueur1 +" et "+ joueur2+"!"); + +// tirer au hazard quel joueur commence + String nom[]= {joueur1,joueur2}; + Random tirage=new Random(); + int n=tirage.nextInt(nom.length); + joueur1=nom[n]; + joueurActuel=X; + + System.out.println("Le joueur qui commence est "+nom[n]); + System.out.println("Tu joues avec les X"); + System.out.println("Choisis une case libre entre 1 et 9"); + + //imprimer la grille + + montrerLaGrille(grid); + // le joueur 1 choisit une case : entre 1 et 9 et non cochée. + // si caractere incorrect reposer la question + + + while (true) { + System.out.print(joueurActuel+ " choisis un numéro de case libre entre 1 et 9"); + String cocher=scan.nextLine(); + try { + cases =(char) Integer.parseInt(cocher); + if ((1<=cases) + && (cases<=9) + && (grid[cases-1]!=X) + && (grid[cases-1]!=O)); + break; + }catch (Exception cases) { + } + + } + //Mettre le bon caractere dans la case choisie + grid[cases-1]=joueurActuel; + + //Vérifier s'il y a 3 elements alignés en vertical horizontal ou diagonale + //On verifie les lignes + for(int i=0;i<3;++i){ + if (grid[i*3+0]==joueurActuel + && grid[i*3+1]==joueurActuel + && grid[i*3+2]==joueurActuel) + gagnant=true; + } + if (gagnant){ + gagnant(grid, joueurActuel); + break; + } + + //on verifie les colonnes + for(int i=0;i<3;++i){ + if (grid[i]==joueurActuel + && grid[i+3]==joueurActuel + && grid[i+6]==joueurActuel) + gagnant=true; + } + if (gagnant){ + gagnant(grid, joueurActuel); + break; + } + + //on verifie 1ere diagonale + for(int i=0;i<3;++i){ + if (grid[0]==joueurActuel + && grid[4]==joueurActuel + && grid[8]==joueurActuel) { + gagnant(grid, joueurActuel); + break; + } + + //on verifie 2eme diagonale + for(int j=0;j<3;++j){ + if (grid[2]==joueurActuel + && grid[4]==joueurActuel + && grid[6]==joueurActuel) { + gagnant(grid, joueurActuel); + break; + } + // 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; } + + + + } + // si non demander à l'autre joueur de choisir une case libre + if(joueurActuel==X) + joueurActuel=O; + else + {joueurActuel=X; + } + + + + // veux tu rejouer? + //si oui on redemarre une partie + //si non Au revoir + scanner.close(); + } }} + /** + * Main + */ +public static void main(String[] args) { + /**TODO Auto-generated method stub*/ + Programme morpion=new Programme(); + } + + + +} + + + + + + + + + + + diff --git a/Morpion/src/isaHarmand/morpion/package-info.java b/Morpion/src/isaHarmand/morpion/package-info.java new file mode 100644 index 0000000..7e43c6c --- /dev/null +++ b/Morpion/src/isaHarmand/morpion/package-info.java @@ -0,0 +1 @@ +package isaHarmand.morpion; \ No newline at end of file diff --git a/Morpion/src/module-info.java b/Morpion/src/module-info.java new file mode 100644 index 0000000..2904ec9 --- /dev/null +++ b/Morpion/src/module-info.java @@ -0,0 +1,2 @@ +module Morpion { +} \ No newline at end of file