Add files via upload
This commit is contained in:
parent
b1342d410b
commit
d0309c7279
45
README.txt
Normal file
45
README.txt
Normal file
@ -0,0 +1,45 @@
|
||||
Morpion:
|
||||
|
||||
Règles du jeu :
|
||||
|
||||
Pour jouer une partie de morpion, il suffit placer dans une grille de 3 cases*3.
|
||||
Le but du jeu est d’aligner avant son adversaire 3 symboles identiques horizontalement, verticalement ou en diagonale.
|
||||
Chaque joueur a donc son propre symbole:soit X soit O. La partie se termine quand l’un des joueurs à aligner 3 symboles
|
||||
ou quand la grille est complétée sans vainqueur. Il y a alors égalité.
|
||||
|
||||
Comment gagner une partie de Morpion ?
|
||||
Le premier joueur a aligner 3 symboles identiques gagne la partie.
|
||||
Attention, le joueur qui débute est toujours avantagé pour gagner.
|
||||
C'est pour cela que dans ce programme il y a un tirage au sort de celui qui débute la partie.
|
||||
|
||||
- description de l’implémentation technique du jeu (algorithmes principaux, modeélisation):
|
||||
|
||||
fonctions :
|
||||
|
||||
monterLaGrille => Qui imprime la grille à l'écran
|
||||
gagnant => qui imprime la grille gagnate et imprime une phrase pour dire qui a gagné
|
||||
isGagnant => qui vérifie s'il y a un gagnant qui a aligné 3 symboles à l'horizontal, à la vertical ou en diagonale.
|
||||
|
||||
Puis mon programme de jeu :
|
||||
* il débute par le tirage au sort du joueur qui commence la partie.
|
||||
* puis il y a une boucle do / while:
|
||||
qui demande au joueur de choisir un numéro de case.
|
||||
qui vérifie que la case est libre et la coche avec le symbol en cour (c'est là que mon programme bug la première fois)
|
||||
puis vérification que ce tour de jeu soit gagnant, ou qu'il y a match null.
|
||||
Si non, le jeu donne la main à l'autre joueur.
|
||||
|
||||
la notice d’utilisation :
|
||||
|
||||
Ce jeu se joue à 2 joueurs.
|
||||
L'un a les X, l'autre les O.
|
||||
Puis il faut suivre les indications de l'ordinateur.
|
||||
|
||||
- un exemple d’utilisation.
|
||||
|
||||
Je n'en ai pas pour le moment car mon code ne fonctionne pas, je dois le debugger et pour l'instant je coince.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
Binary file not shown.
@ -7,7 +7,7 @@ public class Programme {
|
||||
|
||||
|
||||
Boolean gagnant= false;
|
||||
char cases;
|
||||
int cases;
|
||||
char X='X';
|
||||
char O='O';
|
||||
Scanner scan=new Scanner(System.in);
|
||||
@ -36,22 +36,18 @@ public class Programme {
|
||||
//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){
|
||||
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){
|
||||
@ -96,10 +92,10 @@ public class Programme {
|
||||
System.out.println(joueurActuel+ " choisis un numéro de case libre entre 1 et 9");
|
||||
String cocher=scan.nextLine();
|
||||
try {
|
||||
cases =(char) Integer.parseInt(cocher);
|
||||
cases =Integer.parseInt(cocher);
|
||||
if ((1<=cases) && (cases<=9) && (grid[cases-1]!=X) && (grid[cases-1]!=O));
|
||||
break;
|
||||
}catch (Exception cases){}
|
||||
}catch (Exception cases){cases.printStackTrace();}
|
||||
|
||||
//Mettre le bon caractere dans la case choisie
|
||||
grid[cases-1]=joueurActuel;
|
||||
@ -110,7 +106,7 @@ public class Programme {
|
||||
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)
|
||||
joueurActuel=O;
|
||||
else
|
||||
|
Loading…
Reference in New Issue
Block a user