From d0309c72798c5011c5b7703f63cf5532a0196cfc Mon Sep 17 00:00:00 2001 From: HarmandI <90188561+HarmandI@users.noreply.github.com> Date: Fri, 1 Oct 2021 15:59:48 +0200 Subject: [PATCH] Add files via upload --- README.txt | 45 +++++++++++++++++++++++++ bin/isaHarmand/morpion/Programme.class | Bin 3318 -> 3277 bytes src/isaHarmand/morpion/Programme.java | 18 ++++------ 3 files changed, 52 insertions(+), 11 deletions(-) create mode 100644 README.txt diff --git a/README.txt b/README.txt new file mode 100644 index 0000000..feb917e --- /dev/null +++ b/README.txt @@ -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. + + + + + + diff --git a/bin/isaHarmand/morpion/Programme.class b/bin/isaHarmand/morpion/Programme.class index 795a4edffb026c802466ca33a838fa551ccc78b7..ad0d3b5f51a05b73efbb33afd18c8daf2b4e50d9 100644 GIT binary patch literal 3277 zcmai0>vJ1d75`nmR+2Z)#;NmYUYkN1S#Dz7IL^b4OYPc;L9R<2xsmNW*78fWT&}WE?Tvf?>~f6&$x{Id<1eu9I_(LcvrJ63`Zmvqo3m zuybAGvkPXnETH6!oNd^o)}|U?2OTGG8g`#RIBS&5l7JZHbDYl*pK*auDQnovN|mye z@0uXTHeD*I3r@wXxX)+H6*EuSoNLVq1g5FGy5QJl*K||HVb{v%O>cwC|>cweipV^WHKPQ~Z3gQ7;UXxfZob7H9DA>o>d zKB=)&MFJfH(X!*8B=AJyVHL`DVwZwvm_*Oxm9ePUEj?6BLkrK?9>15Rz9gwg94Wl0U`$|5qv|#Asu;&0u{i5vdD6&N zm^5MWSrAw?Q8uz?#*AVuZ?wu}1d*1|n2_hbtl~H_EWuf+IsS^ky2Mm-9qUaZ-I-Pq zLtIiPRJ0(j;8fkG=H8I-HdM?a%XY9>)dr47?P8^l<2X*jl#bBohFXdVk7kjMNoj0e zg^E=Q7?9uFp0T5x08Swe3u*ac=h$!vpB^>Bp|4&zZU$C3@bPb!kHm0lix{ z%lZKs?blR%-D?`@qeOZf=W$WNg?bjfp+)D-oaw6g2ENG#D;jRe^a6Th|BlKGeM^Oc zXdIXEhJq{gUh_^HUd)=sGN+`9Z)1WT=JlF~i({^lr3(UARXmTuD847qGG>&s^Nc6I zosAi^odUb4Y`I3x>qQTLP3dQk2^Kh#b+YrOE4#IU(AtDqF8@k*q~;j~8tYUrBuLgJ zrXN=JdpAuX!_Bed*FHjqHLqO+0`Uo_;%3beOOB4#<$Gbb^a|Sgu<5aXJ9j!@8dr<2WIv79~-)(dkSdTrtVqU>UyvGsu z1#;H;L7*GYa>sDwL}G}%v?%L`>QGmvZb!1Sik`ajy^MD=Lu%V!#X&!=;B6dw(Bu{# zw3U6njpJ1JOzQq&%O-c!OwxcHf^_2%Kc&x;shzOfSE!3`^R`-~zJEad1`bJqU`=_K+$gn; zXPQMIkDj$P+r5F7*M-;=`Q`mT2K#Ggg#Y&$k^gfBEsR$2kJMMZuSaQr1LFV2$iQd(6YCB93!!C#+Pri8k_N8vd^VuC zki3OsNrGl_38P8v_!6d)+V~P?l6P=2a}%d;VQvYzq!#;KI1|*m)0vR=Y&sLx_M|fr zttXvPw7uy}RO?M=w1~EkZ$;bBcT_u&UcyjVYB5nW)Z;RhPThf(xrH-h&vf3cB0rGq z+|sjz;X0s;vVphAzVp%Sm9GJKS=8HbDb)7WWyF)2tK!_jP;z7FHeOr8C28u?N4O#v zE%p)4laS!M6q=JYo%#T0R&r)OK;{M}4~92}t9ZTfjnr^DS;co=4)%uI!&>Y^?37>I zJ=pM^HI3cOb+j;yw(oMdkSn3_?tR%R!+fT$qg8Te7%O2Y$tjYbup0M7OsK?%kD&`} zQec$b9^;+c!kHm|NLLY28WFVy{p6%L{7&+>qsaO%vho*k6jxZ;YrHalg&F(-CvXp^ z@Hd2Of-M$!ZC7|rpNH#V?+6i0WYn-%6s>sE zn@5Wxg17K}j)IH0j~@_mLE5>BAL2&@TPqQz;KvAyB!4;I=GQR&0(zj_r)wbvLcu!< zZG+kcgc}TnzXAMs`7<`bKcU3h6-NIP{M5%P2T?$dAH?oJ5Ia9hHRhX~RKNuqyVx{J XV|W)oCto(qFE~`?D1DFn0N(#E2FluE literal 3318 zcma)8+jAS$8UG#KR+2aIMu|g$opfDDkmV$95|fJ^Qeqnt7a0RaCbA7=EpOzFrCqU- zT+>3*2ATrBr==~Kwxp%g3^Schxmd~6g<*gvc;>P1{R2AFX(!Y4cUCJ)CL!&^?m6e% z@BaP1@9Zc4`OEtN4&su6fIyd3Hcl9B(Xi+GijG^d9J}uk*U7s^v1lp?320}GMWe4^ z*!jNk*)wLYBB11rylvRrZA>@64mnQ2H0(ivaLy>3WdSkF=OmwTflxVT*sB87idE>F zAjLLa3aDqCs#$f9Yy6yewp=lbD(=7*fuK{RqaAfeEr-!rc4dMpjpCq!I|c4&hCs4q=ZC6RVa{}; z=%VY>acsqQ6<>lb5IJJmR^=$wC0hcoOAYo+O4cu{xC?ia)hLxrn^ANnhkI^f_Du{* ziJdC$K~f-Eaq5}`HYINsA#V!16!bEQp2urrQL$TksFY-Q1!lTEZQ16-)#9w_K5op) z#3j;B&L~V8t|iYtF;tniSgP&m+W~(uIM#)b!-DLKH$Vx0dAr()n zh#@L>PpXI`s^IB{udV$dA#SLcMUE|Dv9e7pkJ_bb1Iuwd1ykx~G+X>M6C$lFJ(JSd zyoxrc3g~0Kw>@KzaRNBSI4or4i``?xVTNpTsWK{CU1okXif7m`Yl|-HubbtH9!D8f z1>|j+8Ffg@d@stjxkWDwMzJKYN6*bWR@o}+Ra>{K#gE=}9evK!Ya$MHPQDLC86qBpeYyqPy$72m?Q*<>ZdEt_6Ix9s6jnV}a{ zC=x#c-%)Wtjz#fZfwnQDlAEV%h3;+zFE_f-v+=-E&MZ|pJ2`G_r^s%pSgw)xdd|aM zON!YAf_#yjlbbhP*_BOn`jdnl3kuqq^P(XOzBxI4GgG}6vt%;dJUe*fEqGWzf2a$@ zC!DIAGat0%C|JKba9emw-P+w$`}{VUwT2xv^sEtyH2IX~HhMb| ztwly_5z;;{^%flrU=QC3x(i+x`>_S5Ij(+%JJCnV=6VqL3ik5EaO8wxh`fZb&kxn1 ztW4dGRBsLY8_wU$c)J)<;$RJj>v09I;mGGrZlj{@(Al+j^DRy4b!Dq2clai0Kn^uJ zBqSv3#sj_NW}d}E!6R2Nm3kLLoss$AsebN8E@QV(2sH>@J|Wy7w53AV@Zd7i{E)8U z;n$EzNgh5UH9UF+Z7&MZ8TsvvE7HJ(C+;iv_&OsEO`YC1ZT0+rYyOkee4msKwz{qO z2VH()>9{bWFYxZ;RUP3k))Dz1I%q+r;Eyaq&_jhpf=qiDJ8_72^!-S3jP+oW7jc$! zg9SUyLR};}E)fsECw~5ne!N5a3J&7~4B+n=#6NHZ|K#}w?~V|L#4ZerLl_Z*JP+f9 zSN48dVHy3h2k39(NA?OP2f|GQjTSoFYn zve} zXdP?-8{sBF;r{|ZzI2^`hW~=HzC&Tm7xB|NL^8u` bhwF1XhF9@(3Ph>k7wkznr+>+F0I&TQ_MGHw diff --git a/src/isaHarmand/morpion/Programme.java b/src/isaHarmand/morpion/Programme.java index 2450774..2ab6edc 100644 --- a/src/isaHarmand/morpion/Programme.java +++ b/src/isaHarmand/morpion/Programme.java @@ -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