From d8a578f029c9f6901de87c860e981dd3ca34830d Mon Sep 17 00:00:00 2001 From: HarmandI <90188561+HarmandI@users.noreply.github.com> Date: Tue, 2 Nov 2021 10:36:59 +0100 Subject: [PATCH] Add files via upload --- bin/isaHarmand/morpion/Programme.class | Bin 3277 -> 3229 bytes src/isaHarmand/morpion/Programme.java | 215 ++++++++++++------------- 2 files changed, 106 insertions(+), 109 deletions(-) diff --git a/bin/isaHarmand/morpion/Programme.class b/bin/isaHarmand/morpion/Programme.class index ad0d3b5f51a05b73efbb33afd18c8daf2b4e50d9..26c33388c26f9a608820559468509eaf03b7ac44 100644 GIT binary patch literal 3229 zcmai0+jARN9sZ7WSy^5u8zpg5Y=<>XQ&~>pCUKJ{P8@3EBrdWYSCxt4q;xH><#nW8 zb+rmEl&0m9wpDVI!Nm}v(q8NzfJ$_osA;R$$Qc;qi&ro+^HXIF~kiJLy` zp3DBu@A`eevw!*Mckcl>jGroK6X>xj#%aSX8TP_p$#Kh;V-KEjoq}tWN~VIafVOO0 zG6su=T^O96UpDiefKo6DwqbL&HQoF=>NrKyu!jXAd81-h1jGcNvwX(*Obdi7dBeVS zsOnk8!3=k7)8!#`*{PaU_o2L3HH!k#ieXhOS0K@1BICK1U7&Ed;93g;ZFAJTx#ZZM zYr1LUlxr1>ChaHZ#`M59Nsjg3CR{f$EKl^SNMS%A<~f0Vfo;j#k5G0m1{LgMihYmQ$D-nX>7i1V z;T7!|4hVqhOIx-%RV~e%?xV)MOkX1H z5fxjpEe7sxOPhL7U;T-yr5k$DtmrWu7l?Bq;q?C7eKOP&GC7|W*t=2sJ~l}L?N;Sf z1C*g;|7<($e@?{~B;@R*icN^eaT*URASkyq3tC65iq9j>X zOKnpsB8bWe&&b(fx%Y^QcEsiEQ57AC$3XmbOd4K(Nw=%TzCHrQ;qCjWHGx8TF zjk2HJI6^ot0W_-Mv4(f8^pF^ST!n#oV%{Q!nqZx<%hd*0|M3GCDJOAbk2(W^F-R(k(!*U=YDU3L?_XwAE{A(^i4 z*G*49BGLY&iZ4r0M|@Dr_@7eoRi7);YYA;xlglbLLyO~Cd|koU8X5L`8Ur&6rmNx` z_$C=vHr$Ho2fHDGC#1ILR49na`oEy!A&g2~eOtwM@LhJX`JfBVN*uAZB>T@P_+EpM zzQysCyjk|xX!+T8N~DZuxkkY!o{!6xVvst*R*+!sONK0bS90z)77Pb;J5M3QEim_6 zH;^Gk%8kBG)@7Wkn>SBdlJA>tHT-?jKKdA0h<8Mc4}s1%WWfGNkozMc?vI3#KayVl z$Ta&SiN`TQO>6;tZ|CYi2&0YTuii!1P4wgvJFi0@2o2S+OM8m1fpBvg@uwHKTSKyj zJ?oA{n{rBX8oSdGt>ui?a!A|YRAN63zC%abaFFjVh5-g~kU=bRb(LiNC3axQ|K!zChl#Rg#)7`9AjUuvL+2OEJLW$Zl+FLA7fks!vV$xZ%&ZYt@4j-9?K zJy3GXRA1c`70c#EXN3e~V6<&FrRkcO3LWc?zJ-TVzr|R0bSd=s5NG3WVsCvT+}P-; zZ$ug!9jWjQoLa?XN`8^2YM2hR$<_3Nomuo$fR!KLhfCB@jCLWSWIc{ zzmMcX+Wu@VtR2YaBHF=hE~*V>bBgvrHW$+lWpi3oJIuGDJ;--VJCa?+SVW#;nln5n zlb%iA#8U1$mM8ZNyjR1;k<>u%&??3oOmSqF=#}ISXyOB|$t0>6zkw$xl(^KO(u$N> ztl=xGcv?=MzJX^}afP!h;h(SlS&mx!FV_CRiNx}i@Ip}jwco7Y$-J?4^%`PF!`Iec zX@22sJe#WFc}^y4_}1%dj@;ri^CmV)dl|ZajkuLtoW8>Ze;_)Ah8Iao*;AJJ=LyWP zGqm$2?qJVQ*-<)Kwk>!JvnaE?D=h3~mh=kF;b+|aHRkb0{BUPVqxo$D&ybyzTc--@DIF%m)R;V<8Sx@;S-`Y zpcm0K8VwU53SLoYg;&6TVJUbqd_bYoui}RRYKXr!*=f*z6M|KIE!}KmvMGU@V|d2* ZqAL)@kMKJ8C8U2$YRGQ+6Rz8E_5V;w)@%R( 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 diff --git a/src/isaHarmand/morpion/Programme.java b/src/isaHarmand/morpion/Programme.java index 2ab6edc..5a18c72 100644 --- a/src/isaHarmand/morpion/Programme.java +++ b/src/isaHarmand/morpion/Programme.java @@ -6,129 +6,126 @@ import java.util.Scanner; public class Programme { - Boolean gagnant= false; + Boolean gagnant = false; int cases; - char X='X'; - char O='O'; - Scanner scan=new Scanner(System.in); + char X = 'X'; + char O = 'O'; + Scanner scan = new Scanner(System.in); char joueurActuel; - //Dessiner une grille - char[]grid= - {'1','2','3', - '4','5','6', - '7','8','9', - }; - - 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]+']'); + String saisir; + // Dessiner une grille + char[] grid = { '1', '2', '3', '4', '5', '6', '7', '8', '9', }; + + 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] + ']'); + System.out.println(""); } - - public void gagnant(char[]grid,char joueurActuel) { + + public void gagnant(char[] grid, char joueurActuel) { montrerLaGrille(grid); - System.out.println("Le joueur qui a les "+joueurActuel+"a gagné!"); - System.exit(0); - } - - public boolean isGagnant () { - //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(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(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; - } - } - - return gagnant; + System.out.println("Le joueur qui a les " + joueurActuel + " a gagné!"); + } - - - public Programme() { + public void isGagnant() { - - // début du jeu - -// tirer au hazard quel joueur commence - char nom[]= {this.O,this.X}; - Random tirage=new Random(); - int n=tirage.nextInt(nom.length); - joueurActuel=nom[n]; - System.out.println("Le joueur qui joue est "+nom[n]); - - //imprimer la grille - - do{ - montrerLaGrille(grid); - // le joueur 1 choisit une case : entre 1 et 9 et non cochée. - // si caractere incorrect reposer la question - - System.out.println(joueurActuel+ " choisis un numéro de case libre entre 1 et 9"); - String cocher=scan.nextLine(); - try { - cases =Integer.parseInt(cocher); - if ((1<=cases) && (cases<=9) && (grid[cases-1]!=X) && (grid[cases-1]!=O)); + // 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; + gagnant(grid, joueurActuel); break; - }catch (Exception cases){cases.printStackTrace();} - - //Mettre le bon caractere dans la case choisie - grid[cases-1]=joueurActuel; - 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) + } + + // 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; + 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 = true; + 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 = true; + 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 < 8; ++k) { + if (grid[k] == X || grid[k] == O) + gagnant = true; System.out.println("Match nul!!"); - break; - } - }while(gagnant==false);// si non demander à l'autre joueur de choisir une case libre - if(joueurActuel==X) - joueurActuel=O; - else - joueurActuel=X; + break; + } + + } + - - - - - - /** + + public Programme() { + + // début du jeu + +// tirer au hazard quel joueur commence + char nom[] = { this.O, this.X }; + Random tirage = new Random(); + int n = tirage.nextInt(nom.length); + joueurActuel = nom[n]; + System.out.println("Le joueur qui joue est " + nom[n]); + + // imprimer la grille + + do { 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"); + saisir = scan.nextLine(); + try { + cases = Integer.parseInt(saisir); + if (cases >= 1 && cases <= 9 && grid[cases - 1] != X && grid[cases - 1] != O) + break; + } catch (Exception e) { + + } + } + // Mettre le bon caractere dans la case choisie + grid[cases - 1] = joueurActuel; + + isGagnant(); + } + + while(gagnant == false); // si non demander à l'autre joueur de choisir une case libre + if (joueurActuel == X) + joueurActuel = O; + else + joueurActuel = X; + + } + + /** * Main */ -public static void main(String[] args) { - /**TODO Auto-generated method stub*/ - Programme morpion=new Programme(); + public static void main(String[] args) { + /** TODO Auto-generated method stub */ /**TODO Auto-generated method stub*/ + Programme programme = new Programme(); }} - - - -