From e479acddff1c3bc2e112553ee435cc0eaa2b79f8 Mon Sep 17 00:00:00 2001 From: Eddy Muz Date: Tue, 21 Sep 2021 13:29:42 +0200 Subject: [PATCH 01/17] menu du jeu --- .DS_Store | Bin 0 -> 6148 bytes .idea/.gitignore | 3 + .idea/.name | 1 + .idea/description.html | 1 + .idea/misc.xml | 12 ++++ .idea/modules.xml | 9 +++ .idea/project-template.xml | 3 + .idea/runConfigurations.xml | 10 +++ .../untitled104/com/company/Main.class | Bin 0 -> 1408 bytes .../untitled104/com/company/RegleDuJeu.class | Bin 0 -> 1227 bytes .../untitled104/com/company/j.class | Bin 0 -> 1600 bytes src/.DS_Store | Bin 0 -> 6148 bytes src/com/.DS_Store | Bin 0 -> 6148 bytes src/com/company/Main.java | 64 ++++++++++++++++++ src/com/company/RegleDuJeu.java | 35 ++++++++++ untitled104.iml | 12 ++++ 16 files changed, 150 insertions(+) create mode 100644 .DS_Store create mode 100644 .idea/.gitignore create mode 100644 .idea/.name create mode 100644 .idea/description.html create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/project-template.xml create mode 100644 .idea/runConfigurations.xml create mode 100644 out/production/untitled104/com/company/Main.class create mode 100644 out/production/untitled104/com/company/RegleDuJeu.class create mode 100644 out/production/untitled104/com/company/j.class create mode 100644 src/.DS_Store create mode 100644 src/com/.DS_Store create mode 100644 src/com/company/Main.java create mode 100644 src/com/company/RegleDuJeu.java create mode 100644 untitled104.iml diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..412f3cb16e87db3891a0815d34ed5f4be53f881b GIT binary patch literal 6148 zcmeHK!AiqG5Z!I7ZYyFBf*$wct%ugC)PoSJ9=r(=J*a5X6dQ<%G^s^vCBLD6yN6dd_Yb4T@zb;ARKn+HWSMXRFJRF2 zg0vI)@PHUft~<9MM@f7Qp2-4}L`G(S8DIuxnE^WU)Z#2}lJ~|8Fay700M7>vis%sL z7R}KCgJ}T(OW-yFHue&jqX`|t+#<|?NSg|1Qzf++(x!u7Q=CJXTeRsyQu86{&XPJ5 zY3>f|YZES{W06N@fEoD80QP<$RjmI9KllG8hzDkX8JJB5WNF{sZ^PcGwodI5Ypn*o r0!6{N+~P+H7^W0MESBOmP$S^iXaG8dxkd1R@Q;9@fd^*bPZ@Xz+AUOm literal 0 HcmV?d00001 diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/.name b/.idea/.name new file mode 100644 index 0000000..002da1d --- /dev/null +++ b/.idea/.name @@ -0,0 +1 @@ +Main.java \ No newline at end of file diff --git a/.idea/description.html b/.idea/description.html new file mode 100644 index 0000000..db5f129 --- /dev/null +++ b/.idea/description.html @@ -0,0 +1 @@ +Simple Java application that includes a class with main() method \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..116eff6 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..7ac30c7 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/.idea/project-template.xml b/.idea/project-template.xml new file mode 100644 index 0000000..1f08b88 --- /dev/null +++ b/.idea/project-template.xml @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml new file mode 100644 index 0000000..797acea --- /dev/null +++ b/.idea/runConfigurations.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/out/production/untitled104/com/company/Main.class b/out/production/untitled104/com/company/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..cb1fb1128be3fec1aa249e326cace22e04dd006a GIT binary patch literal 1408 zcmZux&u<$=6#i!IWY?~fG*03K6WR?4ZIZTj+ob$*8fcRS+^$Q(G!h`8Zro9_!QQoI zcM-X8LPA19LgI*2I3SsFYY%A!5|`Zglc1%1<8_ORVrgb}=Dqj5_kHumfBy5^9{^TR z%fdj)L^_873<@0Gbw78@P1oNpzqhq38;G-r9}~!!WUAaTKE_@;QuQTwv@F zBmuLnahpC<%_q6KMKh7-Z&wyJHAq1t3|g2HnEA5*SG#ikX8)ewwuPd=)VY$qesH(t zDkYU2`_gW^D)J<)(*pVPC3`dQl--n}9X0|bLkq_QhL=jV!y|R@%Qj6GY=P0`lKp<{ zMGi5FVU;vCMKSju5p-+!SI zw8|W9*WW9DAW3IEzA9sZbj$U83$N0}IjIYmtUruw&!-NGjgrOdc*De-IaIoh)DKi+ zEEBh+-ve68%fHZDU+k?f_15Fbn#AO1xJy-vcVHFGpW*zD z*^lnyl?PaGPVM7#rT8mT;S7haEzNO^V}@gnW3hwD4#pqiYzM;~9ML6RAYkXoJxwds zrS&N$`K^07i(&q0jFa3nzveK4(|n`L7$vbhF7v5grPaX%ZlZu&jFXtcS196ZMtsB6 z-{LsFWBTve%|GA-?qH!SSAmk;qDYsBB8X7O8rGTh3daO8kKhRF5lSXz4P(Ig3#P$> zma&m&iXDch=sJ{INnL!1*QV1yJ^A}T1_j=ozBL19DZvs3taeq{5=@_xRq*oJIK#;7;EFEiW8VFW2T0acthaiYuE(JdE`zl zuUk2|Z|FELGj^-7+Nt1_K>OCV+6`LzEI1jg+{uFGZZk7p_O;v`Jj+v+Xlj;&)iP03 z?rG;uqEg+{*2^r&?aZ0)GV4dG=-pg&ZK8sCfrriXfKOZ555^B!y$i-^-Z(7H)h-tKts36O z1%ZNz=^a$fw@ruSnyXNtDOj1t>Gdrv0hd`@=eS3U@J8%cu!!8 z31%F|CYf_=w=(Jir;@B!=g5_PTz{b1BDVt@M4)sl+tf5_8LK}Jy{>j&s%}cnOelBuea^Mf z{wmffP2z*G@k16#$$bChR}?PDsgvj^)wPDkm?A?fT`nlJr;%MtJ2#D(Y+#~dv`F+xx!d#sNy(gFoik32ub}Cr8Pc` zbPXN$ON_>h6#r}am)EAZF&1PvlKIHpm0 WiFNT8mdaQZf1(`Ic%26Y-1rw9;xe@W literal 0 HcmV?d00001 diff --git a/out/production/untitled104/com/company/j.class b/out/production/untitled104/com/company/j.class new file mode 100644 index 0000000000000000000000000000000000000000..8a30c79ee3102d9bae6084ce6953e19e3182bb10 GIT binary patch literal 1600 zcmaJ>O>Y}j6g|)5c*f3zxK87w`7o5Gt(`V;NgF8G4W(|=8l1M^kV<6r>`a|W#xvG< zQYliG`4OzUVF3~%kwVo)cWjXO7fAdA7EuM9H)Cj`SS;qfckjC&=iK}5{QB3c*8s|R zl0pocj<|^dBm~l1@|i3;(rpzVHMXo~Ado2At{p51X!*ig5(bhwQYHpr3Jf*9c9CC4 zy1T_KfkC(7TX(IR-Eu7fQB~&em>3Riqq~adc&=;dIKznR>lI}(V&bfl6D{9%94m<| z#&nFEIERT7nCiRTz-rUc+aa>iT8P&6ijRHU4eEh!$#yA)DNO6gnRr(*8tG#rpm&sq z<7QZe^CsTM1%a`)+_oy7+myi*JJ{r@8%Q_kGEu%#h;oIMVItdYg^4bjxP;3B17SR6 zdD^b9W}v`oJXgrBC|H+MBt2(h9z~MAAChK_e6?DrsH+c5EGX=TeEQUGZd$&98vX?uHb2R) z!FJXI+1y@{oqrwM(sl*1`SpIR2t)cU1|I2i&44X|RNdS0o7S?euqC$URWI1kJDwMG z17CJltYFjI=ng0Fc?w^krej4loN!#-?O1)xk8_MhqjdaD^g>jm|z#=~68s|IW ztaJT{Qc=As?gO(wL;S=;3^%!|Ye2)tT+PS;pP)p^P_LF6<@`OZQ=3No4aUS97~%-#5g8k5rh34C zWDMndZy%$FnAA!WA<_k{JQ*V8I=YX{#KPo_S4@jT%i5oss! z8SeDJe?w0NKC6|}W?FxVtL2xtrjT7HvbR0Vk~C1D?G+aHDx=J?wDbREX9QG;NA>(H f?u9rsEQj)aJm79HW0l_{d`T(A(^pu<8qWO#q32GT literal 0 HcmV?d00001 diff --git a/src/.DS_Store b/src/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..6092fcff139d071080460542ca1fe15601bcf3db GIT binary patch literal 6148 zcmeHK%}T>S5Z-O8ZYyFBf*$wct%ue>^dN+)2X8_|4=S3NqJfx|Cbej-UWOing{StOELI~OJMJ*xfLI?$lSgOMCjo>`$n3Tv<29&r)b{i%p zgsa!^b}X75|B(TFcV%%YjJOH=pWj~+XL+;vCQIeY)bxx}HC3Cdo%z?M@8?0@%i2Nr z1g{Q){5mB2(3s@I4#K0j(?72-?3gqU;{a z>q~>dYHPEhS2ov&4L#UeX*TrQ>c((bRg255?fr|J`-j2f@afrcD&h09GEX>y7cgjh zQFfVx@PHUft~BA|o@v3@`(e%mAHvYIc%0$$Mi4n1Nq0faik-Mf3;@ zhxX`z!L|T^6>wVt8+!@N(S#mh;Sgp(q)P>Ksgha@>C(ZkDb6D-9J+KNsris}XGtB3 zw0DQ~wG9{2bI2nzzzlq40DC`>I@bTapZk9s!~-+H3``~iva;*%wqb8nTgP^ZwN`^( rfTCbr;qW5`3|opJ7EAFGs1@*QGypxq!XbD-_(#CfzymYzrwqIUnPF68 literal 0 HcmV?d00001 diff --git a/src/com/.DS_Store b/src/com/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..c4e1b649a4d863234c009339dc9a9eaab4992752 GIT binary patch literal 6148 zcmeHK&2HL25S|6nEJRT`R0_wv^u_@~6VXE@izbKMBDrb~ZIswCDwd2FVN;Y6BELrR zMtOp~PG@!(ltOchq6p1Mv)?d3YxXnRVE{n%CQ%!p4geCBuvEq6KSFWRH7Pky8Bv%$ z0!ZOHoMxjiS<7a}TV#OV-8Ni-h9QjL$@|kGMjpaZ5@&g<^(ac^%GSGWDQmK}TRZm$ zdg|vvKFNB)_y>JD4e~+g>~C5pOFIa^$NlL={lizC=0TkH$EG-r`k3P5XVn|0dVrrPfw%$sWVdB4?EpE`&0c~$OxY=1eq9A5vK-OO+AEVlxG zhDP2yT);gVE60qot0crPN+m0y-~KpFbovV;iwzeWF){H1NU4) { + Scanner reader = new Scanner(System.in); + entree = reader.nextInt(); + switch (entree) { + case 1: + break; + case 2: + break; + case 3: + RegleDuJeu.main(); + break; + case 4: + break; + default: + System.out.println("L'entree est incorrect"); + break; + } + } + + + } + + public static void main(String[] args) { + + + + int entree = 0; + boolean retourMenu = false; + + do { + menuJeu(); + + }while (retourMenu != true); + + + + + + + + + } + +} diff --git a/src/com/company/RegleDuJeu.java b/src/com/company/RegleDuJeu.java new file mode 100644 index 0000000..4b08852 --- /dev/null +++ b/src/com/company/RegleDuJeu.java @@ -0,0 +1,35 @@ +package com.company; + +import java.util.Scanner; + +public class RegleDuJeu { + public static void main() { + + boolean retourMenu = false; + + + + System.out.println("~~~~~~~~~~Règle Du Jeu~~~~~~~~~~~~~"); + + System.out.println("Chaque tour un joueur doit se déplacer d'une case verticalement ou horizontalement"); + System.out.println(); + System.out.println("Il doit en suite détruire une case qui n'est pas occupé ou qui n'est pas déja détruite"); + System.out.println(); + System.out.println("Le premier jour à être bloqué est déclarer perdant"); + System.out.println(); + + while (retourMenu != true) { + + System.out.println("Pour revenir au menu taper 1"); + Scanner a = new Scanner(System.in); + int b = a.nextInt(); + if (b == 1) { + retourMenu = true; + } + else { + System.out.println("entre incorrect"); + } + } + } + +} diff --git a/untitled104.iml b/untitled104.iml new file mode 100644 index 0000000..d5c0743 --- /dev/null +++ b/untitled104.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + From 3d692b57c8697d8f3541f5b21149690160c1e206 Mon Sep 17 00:00:00 2001 From: Gaetan Peronnet Date: Tue, 21 Sep 2021 16:02:03 +0200 Subject: [PATCH 02/17] Merge --- .DS_Store | Bin 0 -> 6148 bytes .idea/vcs.xml | 6 ++++++ 2 files changed, 6 insertions(+) create mode 100644 .DS_Store create mode 100644 .idea/vcs.xml diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..04430778b0187dc42e038e97d7474a3335033160 GIT binary patch literal 6148 zcmeHKOG*Pl5PfB`2)GHZT=oe9dV(R23)i`TWE2&~3`~sc*?Sm|sINYPgR>4QRZ#sZ z_37?;knS!3vOe5h080Q1s-mbdA?ltCoka4CC^kor0~);G3Xc;L{YIDW{R}nkvFEEcnx9P0cO}}fq-2 + + + + + \ No newline at end of file From db7b7267d3b38dba6c713bdfcd993e48ee380cfc Mon Sep 17 00:00:00 2001 From: Gaetan Peronnet Date: Tue, 21 Sep 2021 16:18:23 +0200 Subject: [PATCH 03/17] Fix Conflict --- .idea/.gitignore | 2 ++ .idea/modules.xml | 12 ++---------- DestructChest2.iml => Destruct-Chess.iml | 0 untitled104.iml | 12 ------------ 4 files changed, 4 insertions(+), 22 deletions(-) rename DestructChest2.iml => Destruct-Chess.iml (100%) delete mode 100644 untitled104.iml diff --git a/.idea/.gitignore b/.idea/.gitignore index 26d3352..5a1d582 100644 --- a/.idea/.gitignore +++ b/.idea/.gitignore @@ -1,3 +1,5 @@ # Default ignored files /shelf/ /workspace.xml +*.iml +*.DS_STORE \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml index 3ff05a8..73bf552 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -2,15 +2,7 @@ -<<<<<<< HEAD - + - -======= - - - - - ->>>>>>> Menu + \ No newline at end of file diff --git a/DestructChest2.iml b/Destruct-Chess.iml similarity index 100% rename from DestructChest2.iml rename to Destruct-Chess.iml diff --git a/untitled104.iml b/untitled104.iml deleted file mode 100644 index d5c0743..0000000 --- a/untitled104.iml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - From 008e0568de5d0d466b14db3abf8549b3baab2310 Mon Sep 17 00:00:00 2001 From: Gaetan Peronnet Date: Tue, 21 Sep 2021 16:20:05 +0200 Subject: [PATCH 04/17] Fix Conflict --- .DS_Store | Bin 6148 -> 6148 bytes src/.DS_Store | Bin 6148 -> 6148 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/.DS_Store b/.DS_Store index 04430778b0187dc42e038e97d7474a3335033160..ead440eadb985c90583db49f1d5b74dc8f65aed0 100644 GIT binary patch delta 215 zcmXwzF$%&^5JYE_Xd(!SAn8N`f|VgkKy0jR?5ypK5ea%rYzsw(pcQJeb delta 100 zcmZoMXfc=|#>B`mF;Q%yo}wr-0|Nsi1A_nqLlHwMLo!1NgEK?M#Kh%{%#$sc%o*2D zp2nmynU7g;@@Xcq%__`~SvD3-W!%ip!OsCSW3wXjcjn3bB9CJ*u~2NHo}w@l0|Nsi1A_oVesWSyeiD!;FtJc`vVjPTGBZOmLq0>U zXAVLNDD4QudjG+IfnoDMCQjDP2FyN8o7p+|Ie^A)R%HIpJegm_kda}s4UhEZ7?Bms E0EnC(6#xJL delta 339 zcmZoMXfc=|#>B)qu~2NHo}wr-0|Nsi1A_oVaY0f}eiD#(GO1wW#pR6kAQ@(cWQKf( z+@x}3*__Pc5(9(lj7-cdtZeKY99$e+yj-!t8TsYGC5a`a#ZHMu(I8$xVo634lpT_v zp95znCWU3Dmd6W-IOpe;BxdHN7J)TqrlbOu#Dr(&rR0}8)#sPyr4)k=3WmsVaBy;P z#tTSPR~s8z=qMOjnAYkjR9hMu=qQ*No7L8Ga)_%M+IlABR#sKl)Yi=ex*rG_fxZI+ zekcv2W&s&c|D_Zs=Oh7L2vQ0aD%-gCAIoNT4t@?`SZ%!coq009h@k*TK?4v2X|S=I J14Onk0|4+dSEv90 From 21ff4904c45fe1e4f81103ae1614b248bf50d490 Mon Sep 17 00:00:00 2001 From: Gaetan Peronnet Date: Wed, 22 Sep 2021 09:15:33 +0200 Subject: [PATCH 05/17] merge branche --- .idea/uiDesigner.xml | 124 ++++++++++++++++++ .../Destruct-Chess/com/company/Joueur.class | Bin 0 -> 3222 bytes .../Destruct-Chess/com/company/Main.class | Bin 0 -> 1444 bytes .../com/company/RegleDuJeu.class | Bin 0 -> 1227 bytes src/com/company/Joueur.java | 105 ++++++++++++++- src/com/company/Main.java | 12 +- 6 files changed, 231 insertions(+), 10 deletions(-) create mode 100644 .idea/uiDesigner.xml create mode 100644 out/production/Destruct-Chess/com/company/Joueur.class create mode 100644 out/production/Destruct-Chess/com/company/Main.class create mode 100644 out/production/Destruct-Chess/com/company/RegleDuJeu.class diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml new file mode 100644 index 0000000..e96534f --- /dev/null +++ b/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/out/production/Destruct-Chess/com/company/Joueur.class b/out/production/Destruct-Chess/com/company/Joueur.class new file mode 100644 index 0000000000000000000000000000000000000000..3b403633909a507df26559bec9dfeb03e25d7ed7 GIT binary patch literal 3222 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 literal 0 HcmV?d00001 diff --git a/out/production/Destruct-Chess/com/company/RegleDuJeu.class b/out/production/Destruct-Chess/com/company/RegleDuJeu.class new file mode 100644 index 0000000000000000000000000000000000000000..b38bf71a015bbd65889cc58cdfa173a8df7e4afe GIT binary patch literal 1227 zcmZuwOK($07(HW~*fEBX&_D<&8CseLv@w*FJ{&+52+5Uc0aunvSL2&$GU@f)oAFEp zUG%S%9i_Xn2vRF`<6U?CIhE++jN`gQ;$F?;`{sOSzSsQz_b3taeq{5=@_xRq*oJIK#;7;EFEiW8VFW2T0acthaiYuE(JdE`zl zuUk2|Z|FELGj^-7+Nt1_K>OCV+6`LzEI1jg+{uFGZZk7p_O;v`Jj+v+Xlj;&)iP03 z?rG;uqEg+{*2^r&?aZ0)GV4dG=-pg&ZK8sCfrriXfKOZ555^B!y$i-^-Z(7H)h-tKts36O z1%ZNz=^a$fw@ruSnyXNtDOj1t>Gdrv0hd`@=eS3U@J8%cu!!8 z31%F|CYf_=w=(Jir;@B!=g5_PTz{b1BDVt@M4)sl+tf5_8LK}Jy{>j&s%}cnOelBuea^Mf z{wmffP2z*G@k16#$$bChR}?PDsgvj^)wPDkm?A?fT`nlJr;%MtJ2#D(Y+#~dv`F+xx!d#sNy(gFoik32ub}Cr8Pc` zbPXN$ON_>h6#r}am)EAZF&1PvlKIHpm0 WiFNT8mdaQZf1(`Ic%26Y-1rw9;xe@W literal 0 HcmV?d00001 diff --git a/src/com/company/Joueur.java b/src/com/company/Joueur.java index 337cb21..031303b 100644 --- a/src/com/company/Joueur.java +++ b/src/com/company/Joueur.java @@ -1,8 +1,9 @@ package com.company; import java.lang.*; +import java.util.*; public class Joueur { public static void main() { - // write your code here + // tour joueur boolean joueur = true; double nombre; nombre = Math.random(); @@ -14,6 +15,108 @@ public static void main() { else if(premier == 1){ joueur = false; } + //le choix du pseudo: On demande le nom des deux joueurs et on les rentre dans leur variables respectives + // (pseudo1 pour le joueur 1 et pseudo2 pour le joueur 2) + + Scanner joueur1 = new Scanner(System.in); + System.out.println("Quel est le nom du Joueur 1?"); + String pseudo1 = joueur1.next(); + Scanner joueur2 = new Scanner(System.in); + System.out.println("Quel est le nom du Joueur 2?"); + String pseudo2 = joueur2.next(); + + //On vérifie que les joueurs aient deux pseudos distinct entre 2 et 10 caractères. + while((pseudo1 == pseudo2) ||(pseudo2.length() > 10) || (pseudo2.length() < 2)){ + Scanner verif2 = new Scanner(System.in); + System.out.println("Pseudo du joueur 2 similaire au joueur 1 ou trop long. Choisissez un autre pseudo."); + pseudo2 = verif2.next(); + } + while(pseudo1.length() > 10 || pseudo1.length() < 2){ + Scanner verif1 = new Scanner(System.in); + System.out.println("Pseudo du joueur 1 trop long. Choisissez un autre pseudo."); + pseudo1 = verif1.next(); + } + // Création des pions 1 et 2 en fonction de leurs coordonnées x et y. + int pion1x = 4; + int pion1y = 5; + int pion2x = 5; + int pion2y = 5; + + // Création du plateau de jeu avec grille un tableau en 2 dimensions de taille 11x10. + String[][] grille = new String[10][11]; + + // Utilisation d'une boucle for pour remplir la grille de cases. t étant la coordonnée x et i étant la coordonnée y. + int i; + for(int t = 0; t < 10; ++t) { + for(i = 0; i < 11; ++i) { + grille[t][i] = "[ ]"; + } + } + + // Ajout des pions 1 et 2 sur le plateau de jeu grâce à leurs coordonnées. + grille [pion1x][pion1y] = "[1]"; + grille [pion2x][pion2y] = "[2]"; + + // Afficher le tableau dans la console. + // (k et l servant a naviguer verticalement et horizontalement dans le tableau.) + + for(int k = 0; k < 10; k++){ + String ligne = ""; + for(int l = 0; l < 11; l++) { + ligne += grille[k][l]; + } + System.out.println(ligne); + + //On demande au joueur la direction dans laquelle il souhaite aller + // puis on la stocke dans la variable direction. + + Scanner dir = new Scanner(System.in); + System.out.println("Dans quel direction voulez-vous aller ? ( haut / bas / gauche / droite)"); + String direction = dir.next(); + + //On vérifie que la réponse est bien une direction sinon on redemande au joueur la direction. + + while(direction != "haut" || direction != "gauche" || direction != "droite" || direction != "bas"){ + dir = new Scanner(System.in); + System.out.println("Veuillez choisir une direction (haut / bas / gauche / droite)"); + direction = dir.next(); + } + + //On utilise un switch pour avancer le pion dans la direction souhaitée + // en prenant en compte quel joueur est actuellement en train de jouer. + + switch(direction) { + case "haut": + if (joueur == true) { + pion1x--; + } else { + pion2x--; + } + break; + case "gauche": + if (joueur == true) { + pion1y--; + } else { + pion2y--; + } + break; + case "droite": + if (joueur == true) { + pion1y++; + } else { + pion2y++; + } + break; + case "bas": + if (joueur == true) { + pion1x++; + } else { + pion2x++; + } + break; + } + } + } } diff --git a/src/com/company/Main.java b/src/com/company/Main.java index 5119f99..95ca15a 100644 --- a/src/com/company/Main.java +++ b/src/com/company/Main.java @@ -1,15 +1,8 @@ package com.company; - -<<<<<<< HEAD -public class Main { - - public static void main(String[] args) { - // write your code here - } -======= import java.util.Scanner; import java.util.*; + public class Main { public static void menuJeu(){ @@ -30,6 +23,7 @@ public static void menuJeu(){ entree = reader.nextInt(); switch (entree) { case 1: + Joueur.main(); break; case 2: break; @@ -68,5 +62,5 @@ public static void main(String[] args) { } ->>>>>>> Menu + } From 059be6d5eacc17551e999468d6627de135a25ab0 Mon Sep 17 00:00:00 2001 From: Gaetan Peronnet Date: Wed, 22 Sep 2021 11:04:25 +0200 Subject: [PATCH 06/17] merge branche --- .DS_Store | Bin 6148 -> 6148 bytes .../Destruct-Chess/com/company/Joueur.class | Bin 3222 -> 3172 bytes src/com/company/Joueur.java | 35 ++++++++++-------- 3 files changed, 20 insertions(+), 15 deletions(-) diff --git a/.DS_Store b/.DS_Store index ead440eadb985c90583db49f1d5b74dc8f65aed0..3c54ba1ac41556450f123da6bb351a6e05787845 100644 GIT binary patch delta 35 qcmZoMXfc?Oz{t2UaX%v?<77o99d2C)XNC-hREA=P;>{6EYeWI6aS06o delta 38 ucmZoMXfc?Ouvw9LHREJ%CQ(L)$%;%m+|CRc45h z3=K|{Pk&d_tfE50GWZEnI+rE*`%33i>DKL;)I>Ix%_QT8*DF|VRZyKLh$ZB-ps?`ueopp>tk$OV)j$Cp)l$^|l#*?9m^x;q<7uu4}C3Bfjd#8#0-EMXar&qfA9B+GO0Lp&j>5_lB)EM3VSsk^2T+cfl}nV^iuCr5kIiKHFO zb`3i)VErZ4(@v|_@wuQeE8q-Ue>m!`4bF%mB~lrJn`v?+n@UeuW6mz`vnrm$^DPvA%FcDq;{EKbR8N+r@OyA~}$Mlw~#tIIxSU zR>Dp^hTY7$v1id1aB6J9H4sNXg}nPb+!vs4JrAERFpJ8TS*+|^l5ex+t608<<^AEv z87zy;qQOw#hsOra(+DkE=WRDphi%V3DuWLDKyhI{e8=1dOXf?~?0M0;uek7&!*qO% zyYF{aI+tPXn7to2WxxCu+^i`=^UIER;gU>;Y$}TBR!mhfJ%(y{zOsUfnGeT;nqO`A zdm=H(^!mMqdK#uL8r3D!@EeBbG^&C+n|Ry(M*AF(IHG#NpyI->9CuLXND5x&zFsOo z)N5z7!H&_(8AbJ=?(3dmPWNq`K{;=|Gf;WkbOv=T|2?;5=^T3v>QO_Oeb#j) zoHu;kvv}kbOvx-SqAh6nHkSA%hs}qW?=A5Gr_CG8Zz}OFms##F|A5=NpO^iUc-8P~ z<<-S2=67(R+y!N!h>n8F)ci-{X53QnFm1@+5mAv7_b~O{ImXykQ0W}IlE9NiUi2{L zH_u-M&sHVB`+9g0hK@F#re2l~@SEQQKZX&&2$mzuR#OP#byVRvR$v+{aRMQnLLJ`2 zD&%L_#fNCXIW*w{R$~q=xX3OqVGS-Lf-CHL9&7P4*5MjV{Korr=5Jy>N$4OAT@*k! zRiTF(u#wjBz8<~Q!}87Oqd{z=A@oxM12lygy@{Q40)zAp_KG$P<%NlTq65RC6Z=Is z5@HjQq8|sv4y43RjEOxM7sHqkBRC=sAS1>xDKf~39G)+|u^&0x0j|PcJkD=wiqTLB zUFBx%!xLPiA2_XHMqaAn?Bk3K4!4;bH-fxQI-*F}YIwvLl6)Ab6#H<1)r5Kx!$Fn_ zw25AfvP{AW`UNQ*;_FV)Rg7Vr{{&`e9*5bBjEnRMCKxHWM6*aUa^o_6gd>bpT%ogg zl931VG=oeY_d%mUs>38-;-v)nxMw5W(Hw_y5}^gIze9#Bqj8Y}{%WK8Hfl*CWr5r4 z{kN8d_D|+c5wO5l|Bsqj9k_uZ=PjNXx`i^nfNrAZPn6x}Sy}YCqUILX*$Q3PwUr)c i>AS(TkZ_d46L<uO_az!ct delta 1740 zcmZ`(Yiv|i5dP-u-pAg(`?}k0dkYKO7FwV!g+kY`MM_(&1qu{uEl^w7b_=@{TIhp^ zh>Nm{;v;FU@%4is3Tu>TAfy;j3<(Jl{}@B!FHB4{(I3XdA4W~+I(IRMM()j-^Ua(y zb7tnuobQWYH?^D7m#+d?j+Z92T8{=5E(MwnH*~8{RF(M&fnD+a@!E;;)b85Of%x$7 z;HV1*f(iogeO0Z(Co?ErS4LcDJa)52XieK#dve2 zj(M1Gt)&Q6P2LXs>KZlFV4;Fq9gDEodXwhR66-VSrg|$RmRrZgys)EZaj%Mp367pR z28{%E0%+3Fj27#%=%z<3!_i*-D8ZSGPmHTrO^|oSCkB#(D%LVijE|zK=5P%*>ez(E1T`5SOSX(825oO1)6s>;t)Cp_wAu1FKQC}3QlkVH)4_r9)W|S_ zhOFP571meI`Bqq}wtA#S@6#I6II7?o+pTA<_oeGIG6X?H&{x~3YuOzi8yg%`aGW?D z9=XUmDf{U~>tnel*bTuEfhln^Wu{xKU*y8{R+iZu;6x8oJ&z?kfnMfZ=)1cYkg9n{ z0UJ2zZ1@C9TV(+}Lv59>t_Z&k)!C4R7IvP348-yKHtSLlH=M*Yp z(tS&^y|iE|&1TH8*UMZXV(vQIZ*D}k6V zfA{|Y3pw*DWrZ0-v) z5HmzHXc|-K_>gmtojjc9t)JCM+AvzD(D@dkj%YB8MW$i2<@pMy%}1DDljjR1oA)!{ zp66vb8Vm(LU_*VjMgAN-!aNr8XynmR!nfwisJSebWi+Ns?h0HC=VjbX%SxPSdy9** zD9X5*2L9GzC}%Xvcqu#m&UrTG0GAVa(ZX2aQgd^ivJrgS_f+kvkW@_NM39D!|w{jQOP%pP}0vqTk zI_PC=q}Q;CPGYlIgsq}JjULf}Ua&MHf-mI@EoIf9(~6V_hW!_^9?GIVC1E8&cGleKR;p{ zu>qLx$*vGmOT16d3Stg@Plw*u#3a-&5jI)M{>vRzlj9j=u=hN8FP{U372nQIsaf{x= zK|I8_dWes_h{!aG$w6`s^-vfn@F}RdO93-%gmZk$-v6xd)5SZZ_LGz2lOC{4bOb2; z1JWHX7`g)wTc$q|zGJ`r_AxUU*4sj#&!^AQr2L=b`g?#u`#d(sd3lnZ7kn*G@vO4= S2#;fUjya9d^LT*^(EJOYIy;&G diff --git a/src/com/company/Joueur.java b/src/com/company/Joueur.java index 031303b..df0c564 100644 --- a/src/com/company/Joueur.java +++ b/src/com/company/Joueur.java @@ -3,18 +3,7 @@ import java.util.*; public class Joueur { public static void main() { - // tour joueur - boolean joueur = true; - double nombre; - nombre = Math.random(); - nombre = nombre * 2; - int premier = (int) nombre; - if(premier == 0){ - joueur = true; - } - else if(premier == 1){ - joueur = false; - } + //le choix du pseudo: On demande le nom des deux joueurs et on les rentre dans leur variables respectives // (pseudo1 pour le joueur 1 et pseudo2 pour le joueur 2) @@ -36,6 +25,21 @@ else if(premier == 1){ System.out.println("Pseudo du joueur 1 trop long. Choisissez un autre pseudo."); pseudo1 = verif1.next(); } + + // Joueur qui commence + boolean joueur = true; + double nombre; + nombre = Math.random(); + nombre = nombre * 2; + int premier = (int) nombre; + if(premier == 0){ + String pseudoJouer1 = pseudo1; + joueur = true; + } + else if(premier == 1){ + String pseudoJouer2 = pseudo2; + joueur = false; + } // Création des pions 1 et 2 en fonction de leurs coordonnées x et y. int pion1x = 4; int pion1y = 5; @@ -60,12 +64,13 @@ else if(premier == 1){ // Afficher le tableau dans la console. // (k et l servant a naviguer verticalement et horizontalement dans le tableau.) - for(int k = 0; k < 10; k++){ + for(int k = 0; k < 10; k++) { String ligne = ""; - for(int l = 0; l < 11; l++) { + for (int l = 0; l < 11; l++) { ligne += grille[k][l]; } System.out.println(ligne); + } //On demande au joueur la direction dans laquelle il souhaite aller // puis on la stocke dans la variable direction. @@ -115,7 +120,7 @@ else if(premier == 1){ } break; } - } + } From faef82d965cf5b0fb13558b9923c14596d766c50 Mon Sep 17 00:00:00 2001 From: Killian Vendewinkele Date: Wed, 22 Sep 2021 12:06:15 +0200 Subject: [PATCH 07/17] Sert a detruire une case. --- .../Destruct-Chess/com/company/Joueur.class | Bin 3172 -> 3260 bytes src/com/company/DestructCase.java | 45 ++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 src/com/company/DestructCase.java diff --git a/out/production/Destruct-Chess/com/company/Joueur.class b/out/production/Destruct-Chess/com/company/Joueur.class index 14b3b7a7162044d0d5bd8638b987eb754f429d4d..9b31a617bf33f7a025e155dfc76fd5256ccd8128 100644 GIT binary patch delta 1079 zcmYk4OH7N)!!MV^TwcAub!;86Syu(~T<^t!JhSU3};K{^y>1zjMyL zzgK-7@&0gUHd`DcO`{fVf@7pv;ZcFGEPwE+CiLAu|`+}omQ@@|5s1>YKBAbfOjwij;aL~^o z2JOEbJLGA*)cIbMe=eKMkI#0`=98HwA>4C3aWc^`lSofC4CFFX>B&cg|K~K@A38VM z>&_noXT7|_t8QK^RC><7Qu6(#Hv}W18}_Bs$xM7Ek{3^y{gEpqZ`+@_ z>NgBwv`N$oCAicM+qYd64?Ux?f&wQaYW+nn;V`4BJUn|Z7fM<*LkDHf*sbnQH~1fj zS^RYgd2A zGF6elGS#tQBpB{oP!$Y!El{SedjYSyp37{zj(d0s&zA&afhEG>-v72O-d&3XV<8hQ zi-eZxvwyYfTRN8+xJ1+uEnB295(;+}^-gC&Z&lr0)Du#0b~e0w&h^FNWZa#BombKv$i}xsThzNs!1t@w1--zG%+ZZ#5i79#b>fi>w!>ZCYaGx zVTT#vgvJbwrkAwF99)!J%rd7XT#`R{j*LFM1^J1rp5o?)Tqmbwu_|AYSMsnnC|__= z(aX9laZ1U@O}WDJI%2uNXK6@NfC zf6yDRJlv2Nqa=*PE5T&MDTD;W1u~G$#hq4&G3EJzvc(ot59ln;wU({T~z|C>(ohEyDi3zm;C;p!c9!F>B z*D$AT(f8G+fII2Fj1%{{zrbrd{YSd@W)n_4*b@(RWnIZ|JRA*PBpFMkBCcdK9*u@B z(w2zmlyFZx+Otld{nEet$*0$7O@!BIPel@uSpTY8B$ioavxb3Hf*J-dvHd%I6ITgb zBa#YVB^EnkCD1Cvwk^=r+rP&17f8C2n=jLyh{iHa-{o%jBkBW9Z}Budsy?W0&jc2I zdUXktwtogDmanjjYdp$2k8z#7++-iO=;AirY|zWE?B_m7{?PcB`U4J#i#~BUEG_g) z8)?}|M)qqwz<{JRKg6(%b5tf7kvyZaLRLOuOwKbdpL5c5Gij1cnLehM%^_w?KY24q z!Hh6xj!`mW%$pOG%`_D=%c40&)s(53Ds@xmZ1cT-CeA2fPV%z8&x+DylkTyNDPCa{ zKk2ommBO-(c5+HlEq4zy%o33ZDe^4qFd;KfK^H@-nc|cV3p-4fIn5cm%>YHsxi~Ms zQ{q)U?ttFpmsy0wq%@+}o5KR0EK1*HJD1g4~v`d0i>QhOAQM2^<-h z?J;V4NLca`W2sRWb^9RH;pq^U_-(tBk%#T9)7yDki!;2zn;QLE-doz1c~32<^gbW* H5sCi*)n2ww diff --git a/src/com/company/DestructCase.java b/src/com/company/DestructCase.java new file mode 100644 index 0000000..d4b1672 --- /dev/null +++ b/src/com/company/DestructCase.java @@ -0,0 +1,45 @@ +package com.company; + +import java.util.Scanner; + +public class DestructCase { + + static int verifCaseX(){ + Scanner destructX = new Scanner(System.in); + System.out.println("Choisissez la coordonnée x de la case à détruire."); + int detruitCaseX = destructX.nextInt(); + return detruitCaseX; + } + static int verifCaseY(){ + Scanner destructY = new Scanner(System.in); + System.out.println("Choisissez la coordonnée y de la case à détruire."); + int detruitCaseY = destructY.nextInt(); + return detruitCaseY; + } + + public static void main() { + Scanner destructX = new Scanner(System.in); + System.out.println("Choisissez la coordonnée x de la case à détruire."); + int destructCaseX = destructX.nextInt(); + Scanner destructY = new Scanner(System.in); + System.out.println("Choisissez la coordonnée y de la case à détruire."); + int destructCaseY = destructY.nextInt(); + + while(grille[destructCaseX][destructCaseY] == grille[pion1x][pion1y] || grille[destructCaseX][destructCaseY] == grille[pion2x][pion2y]){ + verifCaseX(); + verifCaseY(); + } + + while(destructCaseX > 10 || destructCaseX < 0 || destructCaseY > 9 || destructCaseY < 0 ) { + verifCaseX(); + verifCaseY(); + } + + while(grille[destructCaseX][destructCaseY] == "[x]"){ + verifCaseX(); + verifCaseY(); + } + + grille[destructCaseX][destructCaseY] == "[x]"; + } +} From 7f212a3ea8751048de9919c6f31f805f5fc6ab74 Mon Sep 17 00:00:00 2001 From: Gaetan Peronnet Date: Wed, 22 Sep 2021 12:07:54 +0200 Subject: [PATCH 08/17] merge branche --- .../Destruct-Chess/com/company/Joueur.class | Bin 3172 -> 3222 bytes src/com/company/Joueur.java | 16 ++++++++-------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/out/production/Destruct-Chess/com/company/Joueur.class b/out/production/Destruct-Chess/com/company/Joueur.class index 14b3b7a7162044d0d5bd8638b987eb754f429d4d..408d498ee41479c007aed3bf7f29b25cbf29f56e 100644 GIT binary patch delta 1238 zcmYk4ZA_b06vuz}w$O*Rv|XXlZj86d98Babc2GB_P+m7T1{-q%+lrKz!3t8?bUHfU zaT*hS&;+AKO@w78Gh37xjK*Y!1jFY=znQ3s?#sUTMH4sA(=E~5oO}M~+;h+UpL@=) z!FNN>A8xOH3+(2NtIkjLR$E`qfWaPxt*=(VUIl(Re$-79&E~2;YHv|Am;qZwaeHx9 zag#`!NVK@zpiQCLos`kxrjvcauTJr<@ zW^=>dWcoAaJt-#_c;3Ma7U>twOBvs9d0C;Al1m+lM0~n=B9=_XlMdz;WoC9}zWHIM zPhB)W&#cTjik5njU6Dbi?8nSonR#_jh|jVRZ=dY$d$^wgv9dURH&%|Tuv>qo=gfM? zzq`j4_5?gW=O={yjb@h-RF9Zr z#*S2Ug<#0DLSe)k^7>m>Xn&77LHpCFT+o3uDiYL{MuBVi{oVgvTfVa%@BEKtHCrF<;6m$;A5WWKJjovYl>7wlk_a=xL0@2KQD53)v8igkHngF0@oi=V0I zCJp>4`fqkg2OE`B20NFiDx^h~(yAVi+1(?$nGUs2{D)**2k269nb!#ps|Ajz_vuwj z^y_+#>qbuKD1*9GNa?qWpuGNz9)uKP)y)`KMUC{uczX`Nt3&oHacaaNyaEGhY;w(+cF a(mcm`(T0>XC-M@nh~*UYDzEW6p??7&3E;~B delta 1155 zcmXAnSxlT&6vuz(e%~z2OlPK3hB6Q~f!0zn6D*^l*aeVHiY<$6X+gFrAPAI!x}o51 zj4{!VG~vbACY>hji_{1a)7qw{4@MIbeKKh@O?~yrmzr2TGv?;r^Z%cF?%D1+AG@FL z`{Ci{4WOP6)_j+YpNNvD103L>^P@R#9~N4i-By+JlU4M%mqx)JA6l6A@{Hgf8(J6{ zPkL!lJUTZsF|W8yu!e_HUY>QXSWSgT0(7!R@Qx3q#v5lwlRhdr8sHdR&RMI>^3dZL z`?EZm5Jca~yzVK%H8n9dopdhPJDuO`1|v;QiR+`_Yd&6Q(Zd^=1mAQvT;CTi3r0i; zv`tSZ=NhMmQmJIh!#hHybIV=qtLT`SnOvCl@SbzSUA?0lqXnX;#=xy-uk+BI_r&w6 z%P_Dxu4f>NU7X;gvK;#Uw*^-~EwoAIoYUgDvMt9>*p~@JJ@yy49oyR;-`gDvM13_; ze|5K&2u6cp-$fFUy1I~+2uH(V|3wO7AvFosM8h?k)H}=GN1r;hPJS%7PH|l*7K${a zm4zZrX|}6qPUBP2dWo`c@tnLy&IX~n;58zVcIS6*{&2@tO_4F(_F74KCg1k2kAC-u z$~t5*S7jgZTPIXj#ln$>b)H)#VI{U-Ca%0G%XirsUaGt~%kx|r9#-C}-091iUD6gw zkVbXm!>?!JWX4Q6)s{x}7lE(-;nOCc2VthyepHRrB6thAptCVqp zM@XxOt5mSYE;iWBCRJQlk2iUY+f;K$J#VpZiC?MZJ_-I*`4{{6oBd)@F98lq9t~2U z<5@wI)T-Q1voxx{jSlJMi1gDbqjbqK-SRO#vO=$X&M6b8-y|3?^$ePW44Vc&8Vs==5(Q3Q23#T}(!?CQWKa1{C!~id7 zkABv=1{DRRNUI-G6xMY2FsvO4Nk~6xG;@pJOp?^MkZ%S!qqjo2>DJFZy`(c6H_eQz z(qcvKF~N%(ZdL9w$&^lWTDEve-FUbz-!QGn%S~BlMo|v8A%{4+k Date: Wed, 22 Sep 2021 16:58:04 +0200 Subject: [PATCH 09/17] =?UTF-8?q?optimisation=20et=20r=C3=A9glage=20de=20b?= =?UTF-8?q?ug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .DS_Store | Bin 6148 -> 6148 bytes .../com/company/DestructionCase.class | Bin 0 -> 294 bytes .../Destruct-Chess/com/company/Joueur.class | Bin 0 -> 3114 bytes .../Destruct-Chess/com/company/Main.class | Bin 1444 -> 1613 bytes src/com/company/DestructCase.java | 45 ----------------- src/com/company/DestructionCase.java | 43 ++++++++++++++++ src/com/company/Joueur.java | 46 ++++++++---------- src/com/company/Main.java | 8 +-- 8 files changed, 69 insertions(+), 73 deletions(-) create mode 100644 out/production/Destruct-Chess/com/company/DestructionCase.class create mode 100644 out/production/Destruct-Chess/com/company/Joueur.class delete mode 100644 src/com/company/DestructCase.java create mode 100644 src/com/company/DestructionCase.java diff --git a/.DS_Store b/.DS_Store index 3c54ba1ac41556450f123da6bb351a6e05787845..56c7d7f3c3c9c24b72b7429b4f64eb7e22c34d87 100644 GIT binary patch delta 22 dcmZoMXfc?Ouvw9LHREJ%CQ(L)&5BHqMFCMJ24DaH delta 19 acmZoMXfc?Oz{t2UaX%v?<7P#s$D#l};RXEw diff --git a/out/production/Destruct-Chess/com/company/DestructionCase.class b/out/production/Destruct-Chess/com/company/DestructionCase.class new file mode 100644 index 0000000000000000000000000000000000000000..174bb97a81c3b424707e2b0155dc6063928a30c0 GIT binary patch literal 294 zcmaJ+Jx{|h5Pg^Cql7>z)U9IZRv7RPpkfJPieLbBcU-G=mD(tAkoZ|lNDTY{eiY(d zF)?tbdw1_yzK^f(k52$gOmajRWrzzTNC}gje37D+b|W5|omQTZE{!$*hA>)OtTK!V zGv)Sz<5}8QajSdZ4ays5E7@y8T)8!;vNl%V5Bo-UPqJxQIjfzL?Mikg@Lw_ZThkNH z>wkJ)6Y@tlbV}cu&}jN+=2ci4b7Xu=Fk}5V0|%1JchDOP5pu@x4E}P=SRCqv M^9eJ;DPx542ZNkJT>t<8 literal 0 HcmV?d00001 diff --git a/out/production/Destruct-Chess/com/company/Joueur.class b/out/production/Destruct-Chess/com/company/Joueur.class new file mode 100644 index 0000000000000000000000000000000000000000..51a98326cc167d2132f625469f8fca9c78e9cb70 GIT binary patch literal 3114 zcma)8T~Hg>75?rD{jFB~D9D)FCL0I40>{Y64z9uY2e1toVjH>Gfw;*c)@VW6h1JRd zH*MO6rcKi({hLmmrw)B!rjv)%52WMH_}SCROy4r?^d%2{%Tu4)bc*SBR|4b0WV+J5 z_ndRjJ^%OY{^{|9hX79F7b+A4!l=;@L`a~1*0^J&3x++DzA`my<~)JWY0I{}GXjBB z+jtZaM8i-u#GpOJo?R+=W|3S@nTL`iz97p;aj zjcqQ{!^TwGPTdh4{89%qbg&hN!Z@tqt4KW^K;L}E+gvCch0^~xSII_C+k_O*uHgt? zAZx+2XS}?hnxP0f1jeqG%<{A&V>(-jX+|$uMXO*~uBjVa)K1+g>z?b(>jlT2>CpT0 zj#aWsCG)Ocw#mnQ>GQs*jtGtkoZ2C`^Zz`qB7@^$oY3$hx&&&U6xgUCO%J(-J?+TC zNwp1x&ao=x6Gr!DaQx_x`AjNKAt0w-4QFtcl^}C5WHTK#siC$ZnfUV>`p{3gGpl4sZ+ zQ}nf6>TjpAT?^$JgF0Z?C4E6&hiRrK=UI-e-*L(X^X^eDCEcI{u6|Ze>4SP&@8h_{ zF`&0akQESv5qzD?r3h|t8HnIzE`1S93iOVfW$FH1J?CfEWm?T`T2guDn6jpf66YDC zoXeX8rd`MK%r;qLw={f1)>tHOl<4xbDX->h@?IL1Xpc)mPQ$e98^PO!aw#9iZGpu0 z>sGngJRl_q)QwoS`BJ$!WxCgmDVd$bh?6r4ez4`mhoJFHde zQ)+NKrJyI3RqX@<+j%k!j>W+=3l@wh(CUIUW77yRC!302?vzx8$RDcQAu>!5VXvBU z$<6j-7A?~yX`UJDT-*efsz7Fwk|8C!m0E##)-!T*qsDyIPc`e5-JE&Rl97m2V$~tt zVD0xgj#u(rV}8{1^3HUrE`+yL`~W`;;~iO-KN4tt;<07lapuf)#qmn1UNmx^TzS4{X9TxVo;rAaY2Mt0efve*Y*;%*^s}t9EHl0ie#}-Z z1oJc`yKjHNU#5L`i0@*RD`x4Q8ca#mO*u*s6%V!6D!@mWppAJ946)`*jH!)@<% z1(U%K5Nq!a)%32SHW{q>4I)RnLxJ8u;?&C@qo-b7!|ATjCKi)ecoXyYBAb}M7Y%g9 zlCgSq1+9TDHL2FeR?v7K=aR8ZQcVnGmsPR4@%eI$^WP*nlu3pY7qb$KWRlUuV0KHu z$;5EC7U+s6<5I}JX00kFo_T-~pj%sxQ_9~Ng=UQ|`Z6EMm|Wd*xI5MyON{y9J3;8W z5495-_aU9oO&{7L&rNJQx4QADIo7QyU2!S=mESRSe!}~>4suLX@!{$!i=msNy;<`W z-a{8nU&S%vQtdq)u93J-Tq?hZJwb`r6PG63LntI&m5Oe2$S1&YfTN4!635N`%ud5{ zXoJQkLu+_-6{nUX8>=`jH=@g7f~n;w=Yv&(SVhxvlygIc5F!{_jtB}^!<4Mo0A#&B z##zpBexcQ(j=v`M=N9(slW62l5<{d+U@xZlSyZ4+HotLP=vd^%cmoIVT|AFvcK)|< z2=Cx9-sdOE&ym6}@d8$G6d$1j4|!QW!Et~ zpE$(V@JX({xF9Z&ei2 zUm1ycEI`Gd>5)q)CR*r!iBO!@w!v@_=I-0&faGi-2>xlD+_%~Yqh4?y4 xfLQlBUX;YTx;m{T5me>x3wjX1_o!XLTZ|WIpTPGy-o;Odsf6CcPZ_`F{{qzJ;otxO literal 0 HcmV?d00001 diff --git a/out/production/Destruct-Chess/com/company/Main.class b/out/production/Destruct-Chess/com/company/Main.class index 573032a836ef6d52f7ebc26addb26fc51715368f..ec3ee268497b739fdd6c3482ec5cf2d7a41ae954 100644 GIT binary patch delta 735 zcmYL_-Afc<6vlt=?5?{zJEg53`H^LrrD^U(8rE)_R+hT<;rfwU;Id6Jv5YW|A#~wQ z5ClQ67lBt1)q-~_s1$V9P0-)a|51{icg38SIp_U2&w0-Ce2o3H%pZThd;?NEUN?u0 zK9dMnEUuDN1np(Vm()7cHW}fXq9%Rbc74ybo9sou$#HWFo@eKLlRmD8>9-gtyf99U zMdf_c;ueDnV=B*YSH5W@cf@%h`iY-d03MvyR)TSvW0lLlhaJL`INZ zME8;$L=mD)Vp>iK$x3qQ!ZvDMHU^^-^|Ow5C0hFh+~dBSq71|j&}xD}iRE+QS75w0 z^Off54O+HoOSf;)k*r@609}QVVB<kk1NtfKDsAhl~hB+=0YMBts9QD{V@RCMeagx_G@rEbrz* z-?}M*Yl~xn)DFE3!S{QA4u!>$7T_w1U*)uCZLPViOS}xXMNl z1VOmqQdES13!z!GrGguGg8z`#)-%b%#eDP4%sF$;nfaCaoJ{=O-~A5cxwDxlIBuMa zQPmkbnIrErlVX+*L(f`uBdhVWTzQc#mDeibyBWmS7@>lM{h8^BerX%$#M z+7a25beX;MQxm_pbBpd~wBjucEPZ3_ev{+doGPB)Vlp@QMIg>ZyWU8>zd?G3a}By0 zBrWfPc#VUvR@-f9KVU$8K%4|!BuUG`u)1-&nWTql4(Y9W<>xR3ofhe1nGCD+6N>wi zL0&P$Yesm(5#BON#4+CKhWB+&@R5mDu#C*FD$aFoC{U4m%yU!Hw>0_)_9&Y89#cMJ zF(>By#&_gun%nL4JQCd%wA0PIGdo-w_C6f^`5z;rS5|0&&f 10 || destructCaseX < 0 || destructCaseY > 9 || destructCaseY < 0 ) { - verifCaseX(); - verifCaseY(); - } - - while(grille[destructCaseX][destructCaseY] == "[x]"){ - verifCaseX(); - verifCaseY(); - } - - grille[destructCaseX][destructCaseY] == "[x]"; - } -} diff --git a/src/com/company/DestructionCase.java b/src/com/company/DestructionCase.java new file mode 100644 index 0000000..d81fbac --- /dev/null +++ b/src/com/company/DestructionCase.java @@ -0,0 +1,43 @@ +package com.company; + +import java.util.Scanner; + +import com.company.Main; + +public class DestructionCase { + + static int verifCaseX(){ + + return detruitCaseX; + } + static int verifCaseY(){ + + return detruitCaseY; + } + + public static void main() { + Scanner destructX = new Scanner(System.in); + System.out.println("Choisissez la coordonnée x de la case à détruire."); + int destructCaseX = destructX.nextInt(); + Scanner destructY = new Scanner(System.in); + System.out.println("Choisissez la coordonnée y de la case à détruire."); + int destructCaseY = destructY.nextInt(); + + while(Main.grille[destructCaseX][destructCaseY] == Main.grille[pion1x][pion1y] || Main.grille[destructCaseX][destructCaseY] == Main.grille[pion2x][pion2y]){ + destructCaseX =verifCaseX(); + destructCaseY = verifCaseY(); + } + + while(destructCaseX > 10 || destructCaseX < 0 || destructCaseY > 9 || destructCaseY < 0 ) { + destructCaseX =verifCaseX(); + verifCaseY(); + } + + while(Main.grille[destructCaseX][destructCaseY] == "[x]"){ + destructCaseX =verifCaseX(); + verifCaseY(); + } + + Main.grille[destructCaseX][destructCaseY] = "[x]"; + } +} diff --git a/src/com/company/Joueur.java b/src/com/company/Joueur.java index 9f78ab6..019d578 100644 --- a/src/com/company/Joueur.java +++ b/src/com/company/Joueur.java @@ -2,29 +2,27 @@ import java.lang.*; import java.sql.SQLOutput; import java.util.*; +import com.company.Main; public class Joueur { public static void main() { //le choix du pseudo: On demande le nom des deux joueurs et on les rentre dans leur variables respectives // (pseudo1 pour le joueur 1 et pseudo2 pour le joueur 2) - Scanner joueur1 = new Scanner(System.in); + System.out.println("Quel est le nom du Joueur 1?"); - String pseudo1 = joueur1.next(); - Scanner joueur2 = new Scanner(System.in); + String pseudo1 = Main.sc.next(); System.out.println("Quel est le nom du Joueur 2?"); - String pseudo2 = joueur2.next(); + String pseudo2 = Main.sc.next(); //On vérifie que les joueurs aient deux pseudos distinct entre 2 et 10 caractères. - while((pseudo1 == pseudo2) ||(pseudo2.length() > 10) || (pseudo2.length() < 2)){ - Scanner verif2 = new Scanner(System.in); + while(pseudo2.equals(pseudo1) ||(pseudo2.length() > 10) || (pseudo2.length() < 2)){ System.out.println("Pseudo du joueur 2 similaire au joueur 1 ou trop long. Choisissez un autre pseudo."); - pseudo2 = verif2.next(); + pseudo2 = Main.sc.next(); } while(pseudo1.length() > 10 || pseudo1.length() < 2){ - Scanner verif1 = new Scanner(System.in); System.out.println("Pseudo du joueur 1 trop long. Choisissez un autre pseudo."); - pseudo1 = verif1.next(); + pseudo1 = Main.sc.next(); } // Joueur qui commence @@ -42,25 +40,23 @@ else if(premier == 1){ joueur = false; } // Création des pions 1 et 2 en fonction de leurs coordonnées x et y. - int pion1x = 4; - int pion1y = 5; - int pion2x = 5; - int pion2y = 5; - // Création du plateau de jeu avec grille un tableau en 2 dimensions de taille 11x10. - String[][] grille = new String[10][11]; + int pion1x = new Random().nextInt(10); + int pion1y = new Random().nextInt(11); + int pion2x = new Random().nextInt(10); + int pion2y = new Random().nextInt(11); // Utilisation d'une boucle for pour remplir la grille de cases. t étant la coordonnée x et i étant la coordonnée y. int i; for(int t = 0; t < 10; ++t) { for(i = 0; i < 11; ++i) { - grille[t][i] = "[ ]"; + Main.grille[t][i] = "[ ]"; } } // Ajout des pions 1 et 2 sur le plateau de jeu grâce à leurs coordonnées. - grille [pion1x][pion1y] = "[1]"; - grille [pion2x][pion2y] = "[2]"; + Main.grille [pion1x][pion1y] = "[1]"; + Main.grille [pion2x][pion2y] = "[2]"; // Afficher le tableau dans la console. // (k et l servant a naviguer verticalement et horizontalement dans le tableau.) @@ -68,7 +64,7 @@ else if(premier == 1){ for(int k = 0; k < 10; k++) { String ligne = ""; for (int l = 0; l < 11; l++) { - ligne += grille[k][l]; + ligne += Main.grille[k][l]; } System.out.println(ligne); } @@ -76,14 +72,14 @@ else if(premier == 1){ //On demande au joueur la direction dans laquelle il souhaite aller // puis on la stocke dans la variable direction. - Scanner dir = new Scanner(System.in); + System.out.println("Dans quel direction voulez-vous aller ? ( H / B / G / D )"); - String direction = dir.next(); + String direction = Main.sc.next(); //On vérifie que la réponse est bien une direction sinon on redemande au joueur la direction. while(!direction.equals("H") && !direction.equals("G") && !direction.equals("D") && !direction.equals("B")){ System.out.println("Veuillez choisir une direction (haut / bas / gauche / droite)"); - direction = dir.next(); + direction = Main.sc.next(); } //On utilise un switch pour avancer le pion dans la direction souhaitée @@ -93,6 +89,7 @@ else if(premier == 1){ case "H": if (joueur == true) { pion1x--; + System.out.println(pion1x); } else { pion2x--; @@ -119,9 +116,8 @@ else if(premier == 1){ pion2x++; } break; - } - - + } + System.out.flush(); } } diff --git a/src/com/company/Main.java b/src/com/company/Main.java index 95ca15a..1fa6c2e 100644 --- a/src/com/company/Main.java +++ b/src/com/company/Main.java @@ -4,6 +4,9 @@ public class Main { + static Scanner sc = new Scanner(System.in); + // Création du plateau de jeu avec grille un tableau en 2 dimensions de taille 11x10. + static String[][] grille = new String[10][11]; public static void menuJeu(){ System.out.println(" DestroyChesss "); @@ -31,6 +34,7 @@ public static void menuJeu(){ RegleDuJeu.main(); break; case 4: + System.exit(0); break; default: System.out.println("L'entree est incorrect"); @@ -38,14 +42,12 @@ public static void menuJeu(){ } } - } - public static void main(String[] args) { + public static void main(String[] args) { - int entree = 0; boolean retourMenu = false; do { From 6b5ae1828ec26fb0af3d665802070fb927e2cc45 Mon Sep 17 00:00:00 2001 From: Gaetan Peronnet Date: Thu, 23 Sep 2021 10:19:21 +0200 Subject: [PATCH 10/17] =?UTF-8?q?cr=C3=A9ation=20du=20systeme=20de=20tour?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .DS_Store | Bin 6148 -> 6148 bytes .../Destruct-Chess/com/company/Joueur.class | Bin 3114 -> 3194 bytes src/com/company/DestructionCase.java | 11 +- src/com/company/Joueur.java | 142 ++++++++++-------- 4 files changed, 82 insertions(+), 71 deletions(-) diff --git a/.DS_Store b/.DS_Store index 56c7d7f3c3c9c24b72b7429b4f64eb7e22c34d87..d34dc9c68ef5b921a1f88a08d0aa040917f8108d 100644 GIT binary patch delta 66 zcmZoMXfc=|#>B`mF;Q%yo+2aL#DLw5Y?FDIu5MOge$2A5z?pF~I|n}pP{n3N=I_jt U`9&-_7=VD0fq`jrfXEhR07wrH#Q*>R delta 124 zcmZoMXfc=|#>B)qF;Q%yo+2ar#DLw4KQJ;fvQOq=ylTnMP|A?UP{NQ2#5oM93@HqT z3lj~B z-HMk$BJG zQG+)qQmi%cD%KISc=SY~EuNU&)#gGWT1~9S2K$j%T(yay>@Pc@<24DEF=&^dfx#96 z{9M2`6Wg)Fu2pt<{UGd=<}N}-rQNN(SiFZon{@1BwNb}@R;@Y?uv(|%b^B+fwIE{R zP1F+f-pFuo%V1AbLyz61_7zf$)7p4(Z8Sh|48)GaqxN@dQGoghuAbOX^iU!;80U)m zq9dHtW#>Ce?G=ty_Nb%TJ8mF_a~j^06`i;5IqrGhCkP@P7YSjq&nu07g4q_2M~7Ml zBE!ScVGWn;YtCx*GNHtN>?pDSbehRS5PVOtRX^2x$t3@GA!j0 zmgZ~%dJ$vGg}%AX>JzBQW5zGl)igswKF;kKOW zH8_+erna0JG~UIUeYcQo@);R4hqPI<$>)}qK4;}(t~o0gGn9~NnLc9*_ z6x>9MWj0uD|HjUgo6^}oQYOnErCV#Tbbni?gsuk5@Ne#%Cs^h0NQOO1$ZL5e%fg`N zIghvD4z>bePs+mcA8(zL0WkS)7-~WJj4q8gq8RmA^gSqDce~dR|cBMLJO6mm6l*V)nNlQvtEx))WQBv zbkH6iJl)tzz1T*>*g>P{q;c$|i#%h#LKofTA#)!Qu{VhxaR5G7`lj0&yi_178KEqitfiZC%<06f7xj*t0ci<69(2oJQ@jYMb zC?k_9_~vm&UM{y9gWL%Z1+W@#u`g-T9%{!BJ531j1%{E}*5-?=+^l0f8Or$B{s&F~WaRU2!I*f@5oMaj&rfCMJ7-_gok8zrjj{Ed0&Mo=JAM-A2FQYNO$c3EzfPZsv8HA7UF+M@?ABEdYZ~y=R delta 1663 zcmYjRT~HHO6#nkrWV6}bn2@qc1__90`O%`NVF;iiAcC=4sDB{E2mt~yfg~txZBuJ% zYi-eXJMG|8hdyM6u`|j;?ARHf`rve&>6_C|UwrV*r}m}OPBlGuBi7yAbH4AKz2Cj( z~B zWd(0Aw3s7uOQnJV26jNfQF1*Bj+5(BaFX0U1w-azsjGQd$6MIKpiG8SlbwmNhzbu* z>v#p>;%<(Kz^INf$PD)J*j#GTfpN3VHg!m!Nk!(y5`BreNOC)aH)ItW3&$rK2hz!C ze4>@%(pEfGJE9b0W4n*_MY5Ye;c^1rDz( z5BCa;JjxFWx`C*#$U_bFd2GCa(uO?hJnDDQ8qDhsBNNIMex*z?B!GPhhM3#^Gp*2W4A(4r>g%?OP}fL0M}55iKY0pw*-1(H4+bnI@QH zm03BZ$TF=SE9sO1nxT2rCDcd()lfa!5=vLF*U*{_)!Q|YRavg^B&(7AU4-Q(!{OaO zAfVD@IK2l3UI;XM`+~X@a2YNkQts2A%eb2EA_N5Wtcz40Q;j}7KLWQUdS8@$OrS}W!azBDgaxbM?~IuE!=9jDA~&W4O`Ni8BkyUJmk zPqzdYvDqeg6>%ZEh_!aXJ;a6hB4k-qu}pvXI1O=0G%9EWX!OuHv7S0#l9daz4MWaj zB!`x)QpjP4NI0_&g0-2flU()l2+Ltz)=9Rc7?26dS%r~89%sbqlORstGwdPjf26`znh%%gkk4|F+;;2LtRhXw^egW0Eh>ggi2A7f9ge%yLYj_o3 zq849a3zo1Ix9}S7(b<219e9YHc!XVeLjDipf6*t4qm{X^m#sqwE5|;z37xE&d^@^X zH^mPk#0GGP4dDp8MBkgM=x1N!1h2&)--;o=4X1c3M)>Xw!n^~cd_Tr`2;=-PCV4-m z_;F10VVvcsk>I14<&#MAIMRF;^ZY#CvEI9zD4{Ai&Qg6cZJ#4yq2H(%Gnj>nU#O%c zA&vQ|11Ul-+HO74^qkH-XhmjDq~YdKoTDJ%=Yu#;h#}5ZYS`N(o8&Srd7PSmf&Ghj zX@(t3>>;&smKMIn?&Cc|4%}mR@jf9157zXm6do( zo^8N-CNZ^uAhcqbsJO&8r9dAO&6M=IE;p&y1fOCTIp%h|b-&lHiu-Tco`ercn&T36 W1GG59M>MYDb7Cr?1ze}@`2GVOFG8>Y diff --git a/src/com/company/DestructionCase.java b/src/com/company/DestructionCase.java index d81fbac..d1fc101 100644 --- a/src/com/company/DestructionCase.java +++ b/src/com/company/DestructionCase.java @@ -6,7 +6,7 @@ public class DestructionCase { - static int verifCaseX(){ + /*static int verifCaseX(){ return detruitCaseX; } @@ -16,12 +16,11 @@ static int verifCaseY(){ } public static void main() { - Scanner destructX = new Scanner(System.in); System.out.println("Choisissez la coordonnée x de la case à détruire."); - int destructCaseX = destructX.nextInt(); - Scanner destructY = new Scanner(System.in); + int destructCaseX = Main.sc.nextInt(); + System.out.println("Choisissez la coordonnée y de la case à détruire."); - int destructCaseY = destructY.nextInt(); + int destructCaseY = Main.sc.nextInt(); while(Main.grille[destructCaseX][destructCaseY] == Main.grille[pion1x][pion1y] || Main.grille[destructCaseX][destructCaseY] == Main.grille[pion2x][pion2y]){ destructCaseX =verifCaseX(); @@ -39,5 +38,5 @@ public static void main() { } Main.grille[destructCaseX][destructCaseY] = "[x]"; - } + }*/ } diff --git a/src/com/company/Joueur.java b/src/com/company/Joueur.java index 019d578..b4c0085 100644 --- a/src/com/company/Joueur.java +++ b/src/com/company/Joueur.java @@ -5,7 +5,7 @@ import com.company.Main; public class Joueur { public static void main() { - + boolean jeu = true; //le choix du pseudo: On demande le nom des deux joueurs et on les rentre dans leur variables respectives // (pseudo1 pour le joueur 1 et pseudo2 pour le joueur 2) @@ -32,13 +32,14 @@ public static void main() { nombre = nombre * 2; int premier = (int) nombre; if(premier == 0){ - String pseudoJouer1 = pseudo1; + joueur = true; } else if(premier == 1){ - String pseudoJouer2 = pseudo2; + joueur = false; } + System.out.println(premier); // Création des pions 1 et 2 en fonction de leurs coordonnées x et y. int pion1x = new Random().nextInt(10); @@ -46,78 +47,89 @@ else if(premier == 1){ int pion2x = new Random().nextInt(10); int pion2y = new Random().nextInt(11); - // Utilisation d'une boucle for pour remplir la grille de cases. t étant la coordonnée x et i étant la coordonnée y. - int i; - for(int t = 0; t < 10; ++t) { - for(i = 0; i < 11; ++i) { - Main.grille[t][i] = "[ ]"; + do{ + // Utilisation d'une boucle for pour remplir la grille de cases. t étant la coordonnée x et i étant la coordonnée y. + int i; + for(int t = 0; t < 10; ++t) { + for(i = 0; i < 11; ++i) { + Main.grille[t][i] = "[ ]"; + } } - } - // Ajout des pions 1 et 2 sur le plateau de jeu grâce à leurs coordonnées. - Main.grille [pion1x][pion1y] = "[1]"; - Main.grille [pion2x][pion2y] = "[2]"; - // Afficher le tableau dans la console. - // (k et l servant a naviguer verticalement et horizontalement dans le tableau.) - for(int k = 0; k < 10; k++) { - String ligne = ""; - for (int l = 0; l < 11; l++) { - ligne += Main.grille[k][l]; - } - System.out.println(ligne); - } - - //On demande au joueur la direction dans laquelle il souhaite aller - // puis on la stocke dans la variable direction. + // Ajout des pions 1 et 2 sur le plateau de jeu grâce à leurs coordonnées. + Main.grille [pion1x][pion1y] = "[1]"; + Main.grille [pion2x][pion2y] = "[2]"; + // Afficher le tableau dans la console. + // (k et l servant a naviguer verticalement et horizontalement dans le tableau.) - System.out.println("Dans quel direction voulez-vous aller ? ( H / B / G / D )"); - String direction = Main.sc.next(); - //On vérifie que la réponse est bien une direction sinon on redemande au joueur la direction. + for(int k = 0; k < 10; k++) { + String ligne = ""; + for (int l = 0; l < 11; l++) { + ligne += Main.grille[k][l]; + } + System.out.println(ligne); + } - while(!direction.equals("H") && !direction.equals("G") && !direction.equals("D") && !direction.equals("B")){ - System.out.println("Veuillez choisir une direction (haut / bas / gauche / droite)"); - direction = Main.sc.next(); - } + //On demande au joueur la direction dans laquelle il souhaite aller + // puis on la stocke dans la variable direction. + String direction =""; + if(joueur == true){ + System.out.println(pseudo1+" Dans quel direction voulez-vous aller ? ( H / B / G / D )"); + direction = Main.sc.next(); + } + else if(joueur == false){ + System.out.println(pseudo2+" Dans quel direction voulez-vous aller ? ( H / B / G / D )"); + direction = Main.sc.next(); + } - //On utilise un switch pour avancer le pion dans la direction souhaitée - // en prenant en compte quel joueur est actuellement en train de jouer. + //On vérifie que la réponse est bien une direction sinon on redemande au joueur la direction. - switch(direction) { - case "H": - if (joueur == true) { - pion1x--; - System.out.println(pion1x); + while(!direction.equals("H") && !direction.equals("G") && !direction.equals("D") && !direction.equals("B")){ + System.out.println("Veuillez choisir une direction (haut / bas / gauche / droite)"); + direction = Main.sc.next(); + } - } else { - pion2x--; - } - break; - case "G": - if (joueur == true) { - pion1y--; - } else { - pion2y--; - } - break; - case "D": - if (joueur == true) { - pion1y++; - } else { - pion2y++; - } - break; - case "B": - if (joueur == true) { - pion1x++; - } else { - pion2x++; - } - break; - } - System.out.flush(); + //On utilise un switch pour avancer le pion dans la direction souhaitée + // en prenant en compte quel joueur est actuellement en train de jouer. + + switch(direction) { + + case "H": + if (joueur == true) { + pion1x--; + + + } else { + pion2x--; + } + break; + case "G": + if (joueur == true) { + pion1y--; + } else { + pion2y--; + } + break; + case "D": + if (joueur == true) { + pion1y++; + } else { + pion2y++; + } + break; + case "B": + if (joueur == true) { + pion1x++; + } else { + pion2x++; + } + break; + } + joueur = !joueur; + }while (jeu); } } From cc73969493bcb6e0d2a21b687d4c5019f583cfe5 Mon Sep 17 00:00:00 2001 From: Eddy Muz Date: Thu, 23 Sep 2021 11:21:31 +0200 Subject: [PATCH 11/17] Fonction permettant de verifier si une case est libre ou pas --- .DS_Store | Bin 6148 -> 6148 bytes out/production/.DS_Store | Bin 0 -> 6148 bytes .../Destruct-Chess/com/company/Joueur.class | Bin 3114 -> 4041 bytes .../Destruct-Chess/com/company/Main.class | Bin 1613 -> 1643 bytes src/.DS_Store | Bin 6148 -> 6148 bytes src/com/company/DestructionCase.java | 43 ---- src/com/company/Joueur.java | 231 +++++++++++++----- src/com/company/Main.java | 8 +- 8 files changed, 167 insertions(+), 115 deletions(-) create mode 100644 out/production/.DS_Store delete mode 100644 src/com/company/DestructionCase.java diff --git a/.DS_Store b/.DS_Store index 56c7d7f3c3c9c24b72b7429b4f64eb7e22c34d87..e13935ba7cee058521bafa8baf51bdf1d109acfc 100644 GIT binary patch delta 254 zcmZoMXffDuiK#xRytp7KCqIdSf#GCQK~83IiGjg&MkZz!RyKAH4lWKZUar{SjQsN8 zlEjkIVyDESXb>+Tu_Pl2$_~lT&w;ZOlfp7n%i{$^ob&Ta5;OBsi@=&QQ&NFSV!|`? zQu524@=Nnlioxat=RjmQI5;^t;{_zDtBuXgbQFw?%xiTNsx6HSbQDaC&1!2oImA^B zZ9NlmE32w&YU^eKT?+(^j1ZcEA4^p-~I delta 93 zcmZoMXffDuiOHiZxF|0tKQEnufq@Z-`58(X@)$}OGJ!aUA(bJ8!H~g#!Gu8%D3Z&N m`EE5ZsZ)WHC%MSo*#v3gF diff --git a/out/production/.DS_Store b/out/production/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..190a0bbb28512714cf7f98d9b3f70f633b383704 GIT binary patch literal 6148 zcmeHK%Sr=55Ukc50)ph|aelyqe=x-L3-SYkiXJ3FVm$B3@5-m8`hgfWf)_7R4c#@< z+cm@1VS5{ZEq9MMzyiRW?ubthQ}gHU6FaMn5$QZ*gB>35j%(abs!u1Jdx-&0*pm01 z{}Q?F$7-{FeOo{09j6abRtiV~DIf);fE4((0^WOR^NU19DIf);z?TC4eQ0#YUN|Pk zr-LCz0OE}4Fs@^kAU01Bd*PVK49${COsdt0VM%AcRb4L}6O#_B;lt`?s|m&8cAnp& z9M%&RrGOMTR^U9h3-AAT^dIK`W0H1KKnnaT1#C8~h9zIAdh6unyw^7RJ>6^ebT_Vp n!VvA4810xFZ^u_rly%M5eBKMk#Go@DbfSI+To;)X_-h3YROA+w literal 0 HcmV?d00001 diff --git a/out/production/Destruct-Chess/com/company/Joueur.class b/out/production/Destruct-Chess/com/company/Joueur.class index 51a98326cc167d2132f625469f8fca9c78e9cb70..22ee07f2f34013791b7bfa6f5fe69583e17ff9c9 100644 GIT binary patch literal 4041 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 diff --git a/out/production/Destruct-Chess/com/company/Main.class b/out/production/Destruct-Chess/com/company/Main.class index ec3ee268497b739fdd6c3482ec5cf2d7a41ae954..ff93aa663e680db72b39e33745bc41bdd21b2f1e 100644 GIT binary patch delta 481 zcmX|-TPt-@7=@p?*4hWlW;>rn-$%4_xS=Gu_(Trd*|wc2ajX1+T~bOZwJww^Dek%8 z%Y`4H{1X3w?J(vN7i+xlTyu$X9P@`0sZMDnpp7%yIVZ&>om^>qyI_@;*wUm0`8K3;tZ0lVCZ7zQJQj8)A4C|qE;|p-$J753+ delta 426 zcmX|-+e!jq6otQ;(bCC^EUn3s$c*Sf7ai!rf`X#+Q7g5;n|gp=z#Ab5f?zI!t|aII z?8YeQ0fL^SN9ed_gl1sxfA4?owg0s~BJUCV?dSOw$Z%S-zfIS%il(vVURafaNr+`u zbQxlURpkH%L7EgdRZS`z%E8e(MokBkEk*Czi`$Bk27n!QRfSn<47;U3z3gGnaeP#W zR@(G;(M}&73=w6VPNvn#5Yt?ob-J~-hn!|g^m0am3jJJ?)i(s=uF}Hp|x*l?5;* zz^sgz!)EcHTO%B5-18yKF?kVYRmqPpOhYCX8tT=X5uf)tFQoF1r0clzO)B)qu~2NHo+2aj!~pA!4;mPOj2?sfr1Ii|q@4UD1_p+cNd-BX#U%y? z*BP0ZSylF*d8M<>U}oHMI3i$gQlZuBok?33M$GFfu}D27V|Fqh@W~^o?aR hI|n}p(Ayg?erKM{FJdSFQr!T=KpL!ZbAZSeW&i`*P3Qms delta 66 zcmZoMXfc=|#>CJ*u~2NHo+2aD!~pBb1|lqz`I&S#OEbS=+3dg^&$OAHgP#MaXtN>n Wcjn3bB8H3%lWlmUH^+#qU 10 || destructCaseX < 0 || destructCaseY > 9 || destructCaseY < 0 ) { - destructCaseX =verifCaseX(); - verifCaseY(); - } - - while(Main.grille[destructCaseX][destructCaseY] == "[x]"){ - destructCaseX =verifCaseX(); - verifCaseY(); - } - - Main.grille[destructCaseX][destructCaseY] = "[x]"; - } -} diff --git a/src/com/company/Joueur.java b/src/com/company/Joueur.java index 019d578..8166d03 100644 --- a/src/com/company/Joueur.java +++ b/src/com/company/Joueur.java @@ -4,8 +4,63 @@ import java.util.*; import com.company.Main; public class Joueur { + + static boolean caseLibro; + +// Fonction permettant de savoir si il y a encore des case librre autour du joueur + public static boolean pasDeCase (int pi,int ti){ + + boolean gameOver = false;// declare la variable qui va etre retourner + + int haut = ti--; // declaration des variable pour les case autour du joueur + int bas = ti++; + int gauche = pi--; + int droite = pi++; + + boolean pasHaut = false;// declaration des variable boolean qui vont verifie si il y a des case libre + boolean pasBas = false; + boolean pasDroite = false; + boolean pasGauche = false; + + if(verifCaseLibre(pi,haut)){ // verification de si il y a des case libre autour du joueur + pasHaut = true; + } + if (verifCaseLibre(pi,bas)){ + pasBas = true; + } + if (verifCaseLibre(gauche,ti)){ + pasGauche = true; + } + if ((verifCaseLibre(droite,ti))){ + pasDroite = true; + } + if (pasHaut == true && pasBas == true && pasDroite == true && pasGauche == true){ // verification que toute les case sont occupé + gameOver = true; + } + return gameOver; // on retourne la variable pour savoir si il y a des case libres + } + + // Fonction permettant de verifié si case est libre avec comme parametre les coordoné x et y du tab + public static boolean verifCaseLibre(int fi, int gi){ + + boolean caseLibre = false; + String a = Main.grille[fi][gi]; // On range la valeur contenu dans le tab au coord x et y + if (a.equals("[ ]")) { // On la compare avec le caractère qui défini une place vide dans le tab + + caseLibre = true; // Si c'est le bon caractère alors on renvoie la valeur true + + } else { + + caseLibre = false; + } + return caseLibre; // On renvoie soit la valeur true si case libre et false si occupé + } + + public static void main() { + + boolean retourMenu = false; //le choix du pseudo: On demande le nom des deux joueurs et on les rentre dans leur variables respectives // (pseudo1 pour le joueur 1 et pseudo2 pour le joueur 2) @@ -46,78 +101,122 @@ else if(premier == 1){ int pion2x = new Random().nextInt(10); int pion2y = new Random().nextInt(11); - // Utilisation d'une boucle for pour remplir la grille de cases. t étant la coordonnée x et i étant la coordonnée y. - int i; - for(int t = 0; t < 10; ++t) { - for(i = 0; i < 11; ++i) { - Main.grille[t][i] = "[ ]"; - } - } - // Ajout des pions 1 et 2 sur le plateau de jeu grâce à leurs coordonnées. - Main.grille [pion1x][pion1y] = "[1]"; - Main.grille [pion2x][pion2y] = "[2]"; - - // Afficher le tableau dans la console. - // (k et l servant a naviguer verticalement et horizontalement dans le tableau.) - - for(int k = 0; k < 10; k++) { - String ligne = ""; - for (int l = 0; l < 11; l++) { - ligne += Main.grille[k][l]; + // Utilisation d'une boucle for pour remplir la grille de cases. t étant la coordonnée x et i étant la coordonnée y. + int i; + for (int t = 0; t < 10; ++t) { + for (i = 0; i < 11; ++i) { + Main.grille[t][i] = "[ ]"; + } + } + + + // Ajout des pions 1 et 2 sur le plateau de jeu grâce à leurs coordonnées. + Main.grille[pion1x][pion1y] = "[1]"; + Main.grille[pion2x][pion2y] = "[2]"; + + // Afficher le tableau dans la console. + // (k et l servant a naviguer verticalement et horizontalement dans le tableau.) + + for (int k = 0; k < 10; k++) { + String ligne = ""; + for (int l = 0; l < 11; l++) { + ligne += Main.grille[k][l]; + } + System.out.println(ligne); + } + + //On demande au joueur la direction dans laquelle il souhaite aller + // puis on la stocke dans la variable direction. + + + System.out.println("Dans quel direction voulez-vous aller ? ( H / B / G / D )"); + String direction = Main.sc.next(); + //On vérifie que la réponse est bien une direction sinon on redemande au joueur la direction. + + while (!direction.equals("H") && !direction.equals("G") && !direction.equals("D") && !direction.equals("B")) { + System.out.println("Veuillez choisir une direction (haut / bas / gauche / droite)"); + direction = Main.sc.next(); + } + + //On utilise un switch pour avancer le pion dans la direction souhaitée + // en prenant en compte quel joueur est actuellement en train de jouer. + + switch (direction) { + case "H": + if (joueur == true) { + pion1x--; + System.out.println(pion1x); + + } else { + pion2x--; + } + break; + case "G": + if (joueur == true) { + pion1y--; + } else { + pion2y--; + } + break; + case "D": + if (joueur == true) { + pion1y++; + } else { + pion2y++; + } + break; + case "B": + if (joueur == true) { + pion1x++; + } else { + pion2x++; + } + break; + } + + + + do { + Scanner xo = new Scanner(System.in); + System.out.println("Rentrer une coordonné x : "); + Main.corX = xo.nextInt(); + Scanner yo = new Scanner(System.in); + System.out.println("Rentrer une coordonné y : "); + Main.corY = yo.nextInt(); + + if (Main.corX > 10 || Main.corX < 0 || Main.corY > 9 || Main.corY < 0) { + System.out.println("Entre incorrect"); + } + + } while (Main.corX > 10 || Main.corX < 0 || Main.corY > 9 || Main.corY < 0); + + caseLibro = verifCaseLibre(Main.corX, Main.corY); + System.out.println(caseLibro); + + + if (caseLibro == true){ + + Main.grille[Main.corX][Main.corY] = "[X]"; + } + + + + while (retourMenu != true) { + + System.out.println("Pour revenir au menu taper 1"); + Scanner a = new Scanner(System.in); + int b = a.nextInt(); + if (b == 1) { + retourMenu = true; + } + else { + System.out.println("entre incorrect"); } - System.out.println(ligne); } - //On demande au joueur la direction dans laquelle il souhaite aller - // puis on la stocke dans la variable direction. - - System.out.println("Dans quel direction voulez-vous aller ? ( H / B / G / D )"); - String direction = Main.sc.next(); - //On vérifie que la réponse est bien une direction sinon on redemande au joueur la direction. - while(!direction.equals("H") && !direction.equals("G") && !direction.equals("D") && !direction.equals("B")){ - System.out.println("Veuillez choisir une direction (haut / bas / gauche / droite)"); - direction = Main.sc.next(); - } - - //On utilise un switch pour avancer le pion dans la direction souhaitée - // en prenant en compte quel joueur est actuellement en train de jouer. - - switch(direction) { - case "H": - if (joueur == true) { - pion1x--; - System.out.println(pion1x); - - } else { - pion2x--; - } - break; - case "G": - if (joueur == true) { - pion1y--; - } else { - pion2y--; - } - break; - case "D": - if (joueur == true) { - pion1y++; - } else { - pion2y++; - } - break; - case "B": - if (joueur == true) { - pion1x++; - } else { - pion2x++; - } - break; - } - System.out.flush(); } } diff --git a/src/com/company/Main.java b/src/com/company/Main.java index 1fa6c2e..014666b 100644 --- a/src/com/company/Main.java +++ b/src/com/company/Main.java @@ -7,6 +7,8 @@ public class Main { static Scanner sc = new Scanner(System.in); // Création du plateau de jeu avec grille un tableau en 2 dimensions de taille 11x10. static String[][] grille = new String[10][11]; + static int corX; + static int corY; public static void menuJeu(){ System.out.println(" DestroyChesss "); @@ -41,18 +43,12 @@ public static void menuJeu(){ break; } } - } - - public static void main(String[] args) { - - boolean retourMenu = false; do { menuJeu(); - }while (retourMenu != true); From c11e97dd09525473c0c9a46ded1bd0998bdf570a Mon Sep 17 00:00:00 2001 From: Gaetan Peronnet Date: Thu, 23 Sep 2021 13:09:50 +0200 Subject: [PATCH 12/17] debug --- .idea/.gitignore | 2 +- src/com/company/DestructionCase.java | 4 ++-- src/com/company/Joueur.java | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.idea/.gitignore b/.idea/.gitignore index 5a1d582..676fcb5 100644 --- a/.idea/.gitignore +++ b/.idea/.gitignore @@ -2,4 +2,4 @@ /shelf/ /workspace.xml *.iml -*.DS_STORE \ No newline at end of file +*.DS_STORE diff --git a/src/com/company/DestructionCase.java b/src/com/company/DestructionCase.java index d1fc101..f68233d 100644 --- a/src/com/company/DestructionCase.java +++ b/src/com/company/DestructionCase.java @@ -6,7 +6,7 @@ public class DestructionCase { - /*static int verifCaseX(){ + static int verifCaseX(){ return detruitCaseX; } @@ -38,5 +38,5 @@ public static void main() { } Main.grille[destructCaseX][destructCaseY] = "[x]"; - }*/ + } } diff --git a/src/com/company/Joueur.java b/src/com/company/Joueur.java index b4c0085..424ee00 100644 --- a/src/com/company/Joueur.java +++ b/src/com/company/Joueur.java @@ -88,7 +88,7 @@ else if(joueur == false){ //On vérifie que la réponse est bien une direction sinon on redemande au joueur la direction. while(!direction.equals("H") && !direction.equals("G") && !direction.equals("D") && !direction.equals("B")){ - System.out.println("Veuillez choisir une direction (haut / bas / gauche / droite)"); + System.out.println("Veuillez choisir une direction (H / B / G / D)"); direction = Main.sc.next(); } From 65e58a17c4c51b2801d7f99648662c5323c49b8f Mon Sep 17 00:00:00 2001 From: Killian Vendewinkele Date: Thu, 23 Sep 2021 14:16:31 +0200 Subject: [PATCH 13/17] Ajout d'un tableau des scores --- .DS_Store | Bin 6148 -> 0 bytes .../Destruct-Chess/com/company/Joueur.class | Bin 3194 -> 3352 bytes .../Destruct-Chess/com/company/Main.class | Bin 1613 -> 1716 bytes .../Destruct-Chess/com/company/Score.class | Bin 0 -> 1150 bytes src/com/company/Joueur.java | 10 ++++++ src/com/company/Main.java | 2 ++ src/com/company/Score.java | 29 ++++++++++++++++++ 7 files changed, 41 insertions(+) delete mode 100644 .DS_Store create mode 100644 out/production/Destruct-Chess/com/company/Score.class create mode 100644 src/com/company/Score.java diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index d34dc9c68ef5b921a1f88a08d0aa040917f8108d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHK%Sr<=6g{z{6xMTZTxsEOBjz+3ROA>|$J$@zNW{DOQD_MYYLD;R6Q2%foJ z&N5ewOfy!?G3uO!PqJ?JSs(Mw+WGa8QJJNhDxeCe0;+&2a9DwKQjE_JQ#7Iqr~*f- zfb0*JMX*fRM+{pBKj8^LEa(o#x?FiB$0jTj_7NGOnV3q9sU|%!OiZWWCSIAaj~LTo z(&NLVk#~<56GmtMHqc?pi279pRDoQ9QEX1+{D0&xGx*5QQ?#WDr~>~?0aH}-YQ{yS zvvqHIa@JawXBIKx^-`g+o?QaikbUGb1Y_JvoxCz(A5nS{e@G|lMIZ>GA64KN6!-?O CDMI-G diff --git a/out/production/Destruct-Chess/com/company/Joueur.class b/out/production/Destruct-Chess/com/company/Joueur.class index 209e71645869d917797a5e535ce3d552f01862e4..aebcae3aca2a8b6c21f64e465c865a75b07e9008 100644 GIT binary patch delta 770 zcmXw#Nk|l66vuz>>C8Bb6Bd;PsnLoRLW>=gB*?_jN~TcMl5ujk8B<5iv?-U|(yVFo z+(D2c%tIS_3WK2K5OfQ=b+1bW*>j?gkN^MwmhXGZuk`yHJ#YWKSOoI9H}Ab_H`?i9}kW zZEU6iwXQG}95@Y|%*rtqV@LK=WIhpYHe3m>V2h#eUjnV1H_J`<|6@l5$*i&;KP;Se z&FcQ7T<;S?YrT7ya1VK9cKOGq8B!CjU4dCV3AH=0QY8tiBHJmBul9su2lzrR-#Ey3 zL#C2F;TIz2GC z7}8mWb&hMgz=%F)OkXjsZ=p|w3FFHL8}mIEwl@2)iMZzT3FXa2_k>MeYjEwXQztWC zz0)>rj6m^bL^{3CN<0~5&W`q@dW;3J4Lefkl31bl(cMBIt5|##b zak1L%lS7P|7ee(VS84KkL%CLq%9~U(u33#3E7+6MRlLm|^IX$+ Jxz7XE{R7VcY|a1x diff --git a/out/production/Destruct-Chess/com/company/Main.class b/out/production/Destruct-Chess/com/company/Main.class index ec3ee268497b739fdd6c3482ec5cf2d7a41ae954..ea101ca845325104de85f6b90400891d8734cc31 100644 GIT binary patch delta 823 zcmZuuOHUJF6g}Te%e2E3YI#}&gGdBKOB56-K4?V+$0u5>1?>P6Qc_!kXmr&LiHV7c z$s{gJOx&13;|4I$h`MuQ;vZ5Xo^K4A7-w?7`#sJ*_ug~A8Sg{-*PkCg0~mz8tRGgQ zJEn_wVzj$f;ZbaCx;Ss^IEF(S2AsIk+%Rb1I8F%o?1#Apx{i^~Q~;-(qS6#hAgSTB zfnmo{S_283HE<3i&PS!WbY7q~lQHM42UaX^6=q{&3-h_cY&?hrE*Q870xD+bbNRfj z;j%#ZU!(+HH86&20-*(KDsNl&z3T1>)cl8-r6r3qwm`L+E7(p%U3A{5M@k7O>{UfT zR>oaGruICU>3tCJqk`*oo?`TZ-ruzjvCNHv6j%8y*Kw}KZvbu}%~KG=+reUjX=JiD zE6^gLHB{3(Y2QdGwSl(u3fkAvY3^S`cRc!*FdU^xULUQ6wwKmL>nWqhMN1idE*i_| zcM(y`h`Xqi#3xDYZn?5J)hlieQSL+Rtcrg%Y7xdRL`YYIZk~EesN=Bfsb>R5(FhYe z*=!V9G{Gixk=Y+(H=dvsPq7Ej80w%M&#@0L(1Dk%>NO5viSkGV>e*$Mecz;@f^3t> zV1oCPv^oSgVT!;e4r*xg`~4N)QPLFZ)Qek0OOeMJFLkO^2g?|0^1a&n@wc0ZCr2Lv z{hZ4HbR_>IWe9G2QQSR|B5Ii5`@f(lG+4+BF~M}Dmv7}^$p6=%YFxbh1|l~tHw d{Sz*&;)={IJSD5V7>!y6DU;6IX}&3#`32sWh|K^1 delta 697 zcmYL`%WG3n5XOJ^+`MyRYfREdtf;Ztn6?r6pqglGeYVC|W2$Ks+C>^7rHfL;T{eQC z2;yA`u0+s4H_}$ypy1Ap;NCw)G+5_cX}y=3IrrR|@0)`*WQ2GHx+pzgLHRInG;L;G+FQ^`tHvM9Ss- z{rLy;>Bae_YPztpTwAJU{N$LjxPl~js>`*-#frUPzObjwnElfnt>;kEfWoJdaO!ullFf69=U1A5sj))x-8)$N(LA*g{laU5tv&mS4 zphnLMdSiQ4cW62tF3=@sOU4SZN8Si+>}RiFh3RLXa73tQiAuXMrs$AqJ1I)h9Nkoi z^N1cE3;h!g@{GegCxJ~bFFDF9`glW%w+uKE#AM7lLAohQYTag;rXcjU#G?3HOHUI~6#h2^N7B}Wbj9%;{gjX_uI`Os7$XKUCN9DJ2VU<6TDBOaIvg}zi-;U$z49GT z*R?N2t2~U$gyqutw=4EtDLRFQ3<`m*d>Nd(N*Rn}!a&x@eayix-*zHaK*$N<~dzkwJdIJ;dQMY;c(ojj&rC-@~rb_kSEKfx@zJY@`Txz zXv(VcY@uH}`jBUV7M>0WE5+@>(A7bcfdXNoKa)tCkgBSNB#hM@Prm51_N5=yhmfr) zTey3|cfwqI#*{vESaq^Cz*J_cRC2(-=Zh&Ni-!fx(}b}v3tR~_G$TaL?`nJ9(z zu*O`aXG-Zn`=Y%g^`UA6V`*3!Y~YT8&9Dr235$R4iQ^rsrnKUk$CcRIrjH9PI{V43&z6Sw4Z09sPo_WF>ck>9dc>=R(_j>MbvG zo2SSD?0!e|>G$_gCy7ue4}<$Ov+%R#*FDAjGdx@6xy8z%{tSD=*$RrBNdoKaEwX)$ m8~;Fl@~?n?Fk2G0*pk3)lz1Fw>^ir5co5+T5Ahgf%>4nWm>O*W literal 0 HcmV?d00001 diff --git a/src/com/company/Joueur.java b/src/com/company/Joueur.java index b4c0085..c37a1cf 100644 --- a/src/com/company/Joueur.java +++ b/src/com/company/Joueur.java @@ -130,6 +130,16 @@ else if(joueur == false){ } joueur = !joueur; }while (jeu); + int numScore = 0; + while(Main.tableauScores[numScore] != null){ + numScore++; + } + if(joueur){ + Main.tableauScores[numScore] = pseudo1; + } + else{ + Main.tableauScores[numScore] = pseudo2; + } } } diff --git a/src/com/company/Main.java b/src/com/company/Main.java index 1fa6c2e..542c720 100644 --- a/src/com/company/Main.java +++ b/src/com/company/Main.java @@ -7,6 +7,7 @@ public class Main { static Scanner sc = new Scanner(System.in); // Création du plateau de jeu avec grille un tableau en 2 dimensions de taille 11x10. static String[][] grille = new String[10][11]; + static String[] tableauScores = new String[10]; public static void menuJeu(){ System.out.println(" DestroyChesss "); @@ -29,6 +30,7 @@ public static void menuJeu(){ Joueur.main(); break; case 2: + Score.main(); break; case 3: RegleDuJeu.main(); diff --git a/src/com/company/Score.java b/src/com/company/Score.java new file mode 100644 index 0000000..5212f80 --- /dev/null +++ b/src/com/company/Score.java @@ -0,0 +1,29 @@ +package com.company; +import com.company.Main; + +import java.util.Scanner; + +public class Score { + public static void main() { + + boolean retourMenu = false; + + int j = 0; + System.out.println("----------Tableau des scores----------"); + for(int i = 0; i < Main.tableauScores.length; i++){ + j = i; + System.out.println((j + 1) + " - " + Main.tableauScores[i]); + } + + while (retourMenu != true) { + + System.out.println("Pour revenir au menu, tapez 1"); + Scanner a = new Scanner(System.in); + if (a.nextInt() == 1) { + retourMenu = true; + } + else { + System.out.println("Entrée incorrecte"); + } + } +} From a72b666d8784eed5d799f8aa3213d97c4ce18f14 Mon Sep 17 00:00:00 2001 From: Gaetan Peronnet Date: Fri, 24 Sep 2021 11:23:50 +0200 Subject: [PATCH 14/17] =?UTF-8?q?correction=20de=20la=20majorit=C3=A9=20de?= =?UTF-8?q?s=20bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Destruct-Chess/com/company/Joueur.class | Bin 4776 -> 5148 bytes src/com/company/DestructionCase.java | 42 ------ src/com/company/Joueur.java | 124 +++++++++++------- 3 files changed, 73 insertions(+), 93 deletions(-) delete mode 100644 src/com/company/DestructionCase.java diff --git a/out/production/Destruct-Chess/com/company/Joueur.class b/out/production/Destruct-Chess/com/company/Joueur.class index 17749c03725f772ac3eec9f27c845aca05935686..3ae39e34a2d06372b34f666f858607cacd0fc39c 100644 GIT binary patch literal 5148 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 NkK;G-Hr_?~e*tZwa_Im7 diff --git a/src/com/company/DestructionCase.java b/src/com/company/DestructionCase.java deleted file mode 100644 index 406a9e8..0000000 --- a/src/com/company/DestructionCase.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.company; - -import java.util.Scanner; - -import com.company.Main; - -public class DestructionCase { - -/* static int verifCaseX(){ - - return detruitCaseX; - } - static int verifCaseY(){ - - return detruitCaseY; - } - - public static void main() { - System.out.println("Choisissez la coordonnée x de la case à détruire."); - int destructCaseX = Main.sc.nextInt(); - - System.out.println("Choisissez la coordonnée y de la case à détruire."); - int destructCaseY = Main.sc.nextInt(); - - while(Main.grille[destructCaseX][destructCaseY] == Main.grille[pion1x][pion1y] || Main.grille[destructCaseX][destructCaseY] == Main.grille[pion2x][pion2y]){ - destructCaseX =verifCaseX(); - destructCaseY = verifCaseY(); - } - - while(destructCaseX > 10 || destructCaseX < 0 || destructCaseY > 9 || destructCaseY < 0 ) { - destructCaseX =verifCaseX(); - verifCaseY(); - } - - while(Main.grille[destructCaseX][destructCaseY] == "[x]"){ - destructCaseX =verifCaseX(); - verifCaseY(); - } - - Main.grille[destructCaseX][destructCaseY] = "[x]"; - }*/ -} diff --git a/src/com/company/Joueur.java b/src/com/company/Joueur.java index f28f231..f2ab170 100644 --- a/src/com/company/Joueur.java +++ b/src/com/company/Joueur.java @@ -4,7 +4,7 @@ import java.util.*; import com.company.Main; public class Joueur { - + static boolean jeu = true; static boolean caseLibro; // Fonction permettant de savoir si il y a encore des case librre autour du joueur @@ -34,8 +34,10 @@ public static boolean pasDeCase (int pi,int ti){ if ((verifCaseLibre(droite,ti))){ pasDroite = true; } - if (pasHaut == true && pasBas == true && pasDroite == true && pasGauche == true){ // verification que toute les case sont occupé + if (pasHaut == false && pasBas == false && pasDroite == false && pasGauche == false){ // verification que toute les case sont occupé gameOver = true; + jeu = false; + } return gameOver; // on retourne la variable pour savoir si il y a des case libres } @@ -44,25 +46,30 @@ public static boolean pasDeCase (int pi,int ti){ public static boolean verifCaseLibre(int fi, int gi){ boolean caseLibre = false; - String a = Main.grille[fi][gi]; // On range la valeur contenu dans le tab au coord x et y - if (a.equals("[ ]")) { // On la compare avec le caractère qui défini une place vide dans le tab + if((fi < 10 && gi >=0)&&(fi < 11 && gi >=0)){ + String a = Main.grille[fi][gi]; // On range la valeur contenu dans le tab au coord x et y + if (a.equals("[ ]")) { // On la compare avec le caractère qui défini une place vide dans le tab + + caseLibre = true; // Si c'est le bon caractère alors on renvoie la valeur true - caseLibre = true; // Si c'est le bon caractère alors on renvoie la valeur true + } else { - } else { + caseLibre = false; + + + } + }else{ + System.out.println("Le joueur ne peut pas avancer"); caseLibre = false; } + return caseLibre; // On renvoie soit la valeur true si case libre et false si occupé } public static void main() { - boolean jeu = true; - - - boolean retourMenu = false; //le choix du pseudo: On demande le nom des deux joueurs et on les rentre dans leur variables respectives @@ -105,16 +112,16 @@ else if(premier == 1){ int pion1y = new Random().nextInt(11); int pion2x = new Random().nextInt(10); int pion2y = new Random().nextInt(11); - +// Utilisation d'une boucle for pour remplir la grille de cases. t étant la coordonnée x et i étant la coordonnée y. + int i; + for(int t = 0; t < 10; ++t) { + for(i = 0; i < 11; ++i) { + Main.grille[t][i] = "[ ]"; + } + } do{ - // Utilisation d'une boucle for pour remplir la grille de cases. t étant la coordonnée x et i étant la coordonnée y. - int i; - for(int t = 0; t < 10; ++t) { - for(i = 0; i < 11; ++i) { - Main.grille[t][i] = "[ ]"; - } - } + @@ -132,7 +139,8 @@ else if(premier == 1){ } System.out.println(ligne); } - + Main.grille [pion1x][pion1y] = "[ ]"; + Main.grille [pion2x][pion2y] = "[ ]"; //On demande au joueur la direction dans laquelle il souhaite aller // puis on la stocke dans la variable direction. String direction =""; @@ -152,44 +160,80 @@ else if(joueur == false){ direction = Main.sc.next(); } + + //On utilise un switch pour avancer le pion dans la direction souhaitée // en prenant en compte quel joueur est actuellement en train de jouer. - switch(direction) { - + switch (direction) { case "H": - if (joueur == true) { + + if (joueur == true && verifCaseLibre((pion1x-1),pion1y) == true) { // On verifie pour quel joueur c'est le tour et si la case chosit es libre + pion1x--; + } else if (joueur == false && verifCaseLibre((pion2x-1),pion2y) == true) { - } else { pion2x--; } break; case "G": - if (joueur == true) { + if (joueur == true && verifCaseLibre(pion1x,(pion1y-1)) == true) { pion1y--; - } else { + System.out.println("o"+pion1y); + } else if (joueur == false && verifCaseLibre(pion2x,(pion2y-1)) == true){ pion2y--; + System.out.println("P"+pion2y); } break; case "D": - if (joueur == true) { + if (joueur == true && verifCaseLibre(pion1x,(pion1y+1)) == true ) { pion1y++; - } else { + } else if (joueur == false && verifCaseLibre(pion2x,(pion2y+1)) == true) { pion2y++; } break; case "B": - if (joueur == true) { + if (joueur == true&& verifCaseLibre((pion1x+1),pion1y ) == true) { pion1x++; - } else { + } else if (joueur == false && verifCaseLibre((pion2x+1),pion2y) == true ){ + pion2x++; } break; } + + if(joueur == true){ + pasDeCase(pion1x, pion1y); + + } + else{ + pasDeCase(pion2x, pion2y); + } + do { + + System.out.println("Rentrer une coordonné x : "); + Main.corX = Main.sc.nextInt(); + + System.out.println("Rentrer une coordonné y : "); + Main.corY = Main.sc.nextInt(); + + if (Main.corX > 10 || Main.corX < 0 || Main.corY > 9 || Main.corY < 0) { + System.out.println("Entre incorrect"); + } + + } while (Main.corX > 10 || Main.corX < 0 || Main.corY > 9 || Main.corY < 0); + + caseLibro = verifCaseLibre(Main.corX, Main.corY); + + if (caseLibro == true){ + + Main.grille[Main.corX][Main.corY] = "[X]"; + } joueur = !joueur; }while (jeu); + + int numScore = 0; while(Main.tableauScores[numScore] != null){ numScore++; @@ -202,28 +246,6 @@ else if(joueur == false){ } - do { - Scanner xo = new Scanner(System.in); - System.out.println("Rentrer une coordonné x : "); - Main.corX = xo.nextInt(); - Scanner yo = new Scanner(System.in); - System.out.println("Rentrer une coordonné y : "); - Main.corY = yo.nextInt(); - - if (Main.corX > 10 || Main.corX < 0 || Main.corY > 9 || Main.corY < 0) { - System.out.println("Entre incorrect"); - } - - } while (Main.corX > 10 || Main.corX < 0 || Main.corY > 9 || Main.corY < 0); - - caseLibro = verifCaseLibre(Main.corX, Main.corY); - System.out.println(caseLibro); - - - if (caseLibro == true){ - - Main.grille[Main.corX][Main.corY] = "[X]"; - } From 5ca28104c91dbc02460255fb7581acee5cf2e87b Mon Sep 17 00:00:00 2001 From: Killian Vendewinkele Date: Fri, 24 Sep 2021 12:19:01 +0200 Subject: [PATCH 15/17] Ajout de la javadoc --- com/company/DestructionCase.html | 160 ++++ com/company/Joueur.html | 160 ++++ com/company/Main.html | 169 ++++ com/company/RegleDuJeu.html | 160 ++++ com/company/package-summary.html | 80 ++ com/company/package-tree.html | 72 ++ doc/allclasses-index.html | 74 ++ doc/allpackages-index.html | 66 ++ doc/com/company/Joueur.html | 182 ++++ doc/com/company/Main.html | 169 ++++ doc/com/company/RegleDuJeu.html | 163 ++++ doc/com/company/Score.html | 163 ++++ doc/com/company/package-summary.html | 80 ++ doc/com/company/package-tree.html | 72 ++ doc/element-list | 1 + doc/help-doc.html | 144 +++ doc/index-all.html | 117 +++ doc/index.html | 27 + doc/jquery-ui.overrides.css | 34 + doc/member-search-index.js | 1 + doc/module-search-index.js | 1 + doc/overview-tree.html | 76 ++ doc/package-search-index.js | 1 + doc/resources/glass.png | Bin 0 -> 499 bytes doc/resources/x.png | Bin 0 -> 394 bytes .../images/ui-bg_glass_55_fbf9ee_1x400.png | Bin 0 -> 335 bytes .../images/ui-bg_glass_65_dadada_1x400.png | Bin 0 -> 262 bytes .../images/ui-bg_glass_75_dadada_1x400.png | Bin 0 -> 262 bytes .../images/ui-bg_glass_75_e6e6e6_1x400.png | Bin 0 -> 262 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 0 -> 332 bytes .../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 0 -> 280 bytes .../images/ui-icons_222222_256x240.png | Bin 0 -> 6922 bytes .../images/ui-icons_2e83ff_256x240.png | Bin 0 -> 4549 bytes .../images/ui-icons_454545_256x240.png | Bin 0 -> 6992 bytes .../images/ui-icons_888888_256x240.png | Bin 0 -> 6999 bytes .../images/ui-icons_cd0a0a_256x240.png | Bin 0 -> 4549 bytes doc/script-dir/jquery-3.5.1.min.js | 2 + doc/script-dir/jquery-ui.min.css | 7 + doc/script-dir/jquery-ui.min.js | 6 + doc/script-dir/jquery-ui.structure.min.css | 5 + doc/script.js | 132 +++ doc/search.js | 354 ++++++++ doc/stylesheet.css | 827 ++++++++++++++++++ doc/tag-search-index.js | 1 + doc/type-search-index.js | 1 + resources/glass.png | Bin 0 -> 499 bytes resources/x.png | Bin 0 -> 394 bytes .../images/ui-bg_glass_55_fbf9ee_1x400.png | Bin 0 -> 335 bytes .../images/ui-bg_glass_65_dadada_1x400.png | Bin 0 -> 262 bytes .../images/ui-bg_glass_75_dadada_1x400.png | Bin 0 -> 262 bytes .../images/ui-bg_glass_75_e6e6e6_1x400.png | Bin 0 -> 262 bytes .../images/ui-bg_glass_95_fef1ec_1x400.png | Bin 0 -> 332 bytes .../ui-bg_highlight-soft_75_cccccc_1x100.png | Bin 0 -> 280 bytes script-dir/images/ui-icons_222222_256x240.png | Bin 0 -> 6922 bytes script-dir/images/ui-icons_2e83ff_256x240.png | Bin 0 -> 4549 bytes script-dir/images/ui-icons_454545_256x240.png | Bin 0 -> 6992 bytes script-dir/images/ui-icons_888888_256x240.png | Bin 0 -> 6999 bytes script-dir/images/ui-icons_cd0a0a_256x240.png | Bin 0 -> 4549 bytes script-dir/jquery-3.5.1.min.js | 2 + script-dir/jquery-ui.min.css | 7 + script-dir/jquery-ui.min.js | 6 + script-dir/jquery-ui.structure.min.css | 5 + src/com/company/Joueur.java | 16 +- src/com/company/Main.java | 7 + src/com/company/RegleDuJeu.java | 3 + src/com/company/Score.java | 3 + 66 files changed, 3554 insertions(+), 2 deletions(-) create mode 100644 com/company/DestructionCase.html create mode 100644 com/company/Joueur.html create mode 100644 com/company/Main.html create mode 100644 com/company/RegleDuJeu.html create mode 100644 com/company/package-summary.html create mode 100644 com/company/package-tree.html create mode 100644 doc/allclasses-index.html create mode 100644 doc/allpackages-index.html create mode 100644 doc/com/company/Joueur.html create mode 100644 doc/com/company/Main.html create mode 100644 doc/com/company/RegleDuJeu.html create mode 100644 doc/com/company/Score.html create mode 100644 doc/com/company/package-summary.html create mode 100644 doc/com/company/package-tree.html create mode 100644 doc/element-list create mode 100644 doc/help-doc.html create mode 100644 doc/index-all.html create mode 100644 doc/index.html create mode 100644 doc/jquery-ui.overrides.css create mode 100644 doc/member-search-index.js create mode 100644 doc/module-search-index.js create mode 100644 doc/overview-tree.html create mode 100644 doc/package-search-index.js create mode 100644 doc/resources/glass.png create mode 100644 doc/resources/x.png create mode 100644 doc/script-dir/images/ui-bg_glass_55_fbf9ee_1x400.png create mode 100644 doc/script-dir/images/ui-bg_glass_65_dadada_1x400.png create mode 100644 doc/script-dir/images/ui-bg_glass_75_dadada_1x400.png create mode 100644 doc/script-dir/images/ui-bg_glass_75_e6e6e6_1x400.png create mode 100644 doc/script-dir/images/ui-bg_glass_95_fef1ec_1x400.png create mode 100644 doc/script-dir/images/ui-bg_highlight-soft_75_cccccc_1x100.png create mode 100644 doc/script-dir/images/ui-icons_222222_256x240.png create mode 100644 doc/script-dir/images/ui-icons_2e83ff_256x240.png create mode 100644 doc/script-dir/images/ui-icons_454545_256x240.png create mode 100644 doc/script-dir/images/ui-icons_888888_256x240.png create mode 100644 doc/script-dir/images/ui-icons_cd0a0a_256x240.png create mode 100644 doc/script-dir/jquery-3.5.1.min.js create mode 100644 doc/script-dir/jquery-ui.min.css create mode 100644 doc/script-dir/jquery-ui.min.js create mode 100644 doc/script-dir/jquery-ui.structure.min.css create mode 100644 doc/script.js create mode 100644 doc/search.js create mode 100644 doc/stylesheet.css create mode 100644 doc/tag-search-index.js create mode 100644 doc/type-search-index.js create mode 100644 resources/glass.png create mode 100644 resources/x.png create mode 100644 script-dir/images/ui-bg_glass_55_fbf9ee_1x400.png create mode 100644 script-dir/images/ui-bg_glass_65_dadada_1x400.png create mode 100644 script-dir/images/ui-bg_glass_75_dadada_1x400.png create mode 100644 script-dir/images/ui-bg_glass_75_e6e6e6_1x400.png create mode 100644 script-dir/images/ui-bg_glass_95_fef1ec_1x400.png create mode 100644 script-dir/images/ui-bg_highlight-soft_75_cccccc_1x100.png create mode 100644 script-dir/images/ui-icons_222222_256x240.png create mode 100644 script-dir/images/ui-icons_2e83ff_256x240.png create mode 100644 script-dir/images/ui-icons_454545_256x240.png create mode 100644 script-dir/images/ui-icons_888888_256x240.png create mode 100644 script-dir/images/ui-icons_cd0a0a_256x240.png create mode 100644 script-dir/jquery-3.5.1.min.js create mode 100644 script-dir/jquery-ui.min.css create mode 100644 script-dir/jquery-ui.min.js create mode 100644 script-dir/jquery-ui.structure.min.css diff --git a/com/company/DestructionCase.html b/com/company/DestructionCase.html new file mode 100644 index 0000000..f765a01 --- /dev/null +++ b/com/company/DestructionCase.html @@ -0,0 +1,160 @@ + + + + + +DestructionCase + + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package com.company
+

Class DestructionCase

+
+
java.lang.Object +
com.company.DestructionCase
+
+
+
+
public class DestructionCase +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      DestructionCase

      +
      public DestructionCase()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      main

      +
      public static void main()
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/company/Joueur.html b/com/company/Joueur.html new file mode 100644 index 0000000..bb94aac --- /dev/null +++ b/com/company/Joueur.html @@ -0,0 +1,160 @@ + + + + + +Joueur + + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package com.company
+

Class Joueur

+
+
java.lang.Object +
com.company.Joueur
+
+
+
+
public class Joueur +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Joueur

      +
      public Joueur()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      main

      +
      public static void main()
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/company/Main.html b/com/company/Main.html new file mode 100644 index 0000000..24b82cb --- /dev/null +++ b/com/company/Main.html @@ -0,0 +1,169 @@ + + + + + +Main + + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package com.company
+

Class Main

+
+
java.lang.Object +
com.company.Main
+
+
+
+
public class Main +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Main

      +
      public Main()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • + +
    • +
    • +
      +

      main

      +
      public static void main(String[] args)
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/company/RegleDuJeu.html b/com/company/RegleDuJeu.html new file mode 100644 index 0000000..b8393a0 --- /dev/null +++ b/com/company/RegleDuJeu.html @@ -0,0 +1,160 @@ + + + + + +RegleDuJeu + + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package com.company
+

Class RegleDuJeu

+
+
java.lang.Object +
com.company.RegleDuJeu
+
+
+
+
public class RegleDuJeu +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      RegleDuJeu

      +
      public RegleDuJeu()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      main

      +
      public static void main()
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/com/company/package-summary.html b/com/company/package-summary.html new file mode 100644 index 0000000..103cfdb --- /dev/null +++ b/com/company/package-summary.html @@ -0,0 +1,80 @@ + + + + + +com.company + + + + + + + + + + + + + + + +
+ +
+
+
+

Package com.company

+
+
+
package com.company
+
+ +
+
+
+
+ + diff --git a/com/company/package-tree.html b/com/company/package-tree.html new file mode 100644 index 0000000..89b6ada --- /dev/null +++ b/com/company/package-tree.html @@ -0,0 +1,72 @@ + + + + + +com.company Class Hierarchy + + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package com.company

+
+
+

Class Hierarchy

+ +
+
+
+
+ + diff --git a/doc/allclasses-index.html b/doc/allclasses-index.html new file mode 100644 index 0000000..ea8cd83 --- /dev/null +++ b/doc/allclasses-index.html @@ -0,0 +1,74 @@ + + + + + +All Classes + + + + + + + + + + + + + + + +
+ +
+
+
+

All Classes

+
+
+
Class Summary
+
+
Class
+
Description
+ +
 
+ +
 
+ +
 
+ +
 
+
+
+
+
+
+ + diff --git a/doc/allpackages-index.html b/doc/allpackages-index.html new file mode 100644 index 0000000..178f654 --- /dev/null +++ b/doc/allpackages-index.html @@ -0,0 +1,66 @@ + + + + + +All Packages + + + + + + + + + + + + + + + +
+ +
+
+
+

All Packages

+
+
Package Summary
+
+
Package
+
Description
+ +
 
+
+
+
+
+ + diff --git a/doc/com/company/Joueur.html b/doc/com/company/Joueur.html new file mode 100644 index 0000000..3db2b53 --- /dev/null +++ b/doc/com/company/Joueur.html @@ -0,0 +1,182 @@ + + + + + +Joueur + + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package com.company
+

Class Joueur

+
+
java.lang.Object +
com.company.Joueur
+
+
+
+
public class Joueur +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Joueur

      +
      public Joueur()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      pasDeCase

      +
      public static boolean pasDeCase(int pi, + int ti)
      +
      +
    • +
    • +
      +

      verifCaseLibre

      +
      public static boolean verifCaseLibre(int fi, + int gi)
      +
      +
    • +
    • +
      +

      main

      +
      public static void main()
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/doc/com/company/Main.html b/doc/com/company/Main.html new file mode 100644 index 0000000..3a47ceb --- /dev/null +++ b/doc/com/company/Main.html @@ -0,0 +1,169 @@ + + + + + +Main + + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package com.company
+

Class Main

+
+
java.lang.Object +
com.company.Main
+
+
+
+
public class Main +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Main

      +
      public Main()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • + +
    • +
    • +
      +

      main

      +
      public static void main(String[] args)
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/doc/com/company/RegleDuJeu.html b/doc/com/company/RegleDuJeu.html new file mode 100644 index 0000000..a5da119 --- /dev/null +++ b/doc/com/company/RegleDuJeu.html @@ -0,0 +1,163 @@ + + + + + +RegleDuJeu + + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package com.company
+

Class RegleDuJeu

+
+
java.lang.Object +
com.company.RegleDuJeu
+
+
+
+
public class RegleDuJeu +extends Object
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      RegleDuJeu

      +
      public RegleDuJeu()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      main

      +
      public static void main()
      +
      Cette classe permet d'afficher les règles du jeu.
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/doc/com/company/Score.html b/doc/com/company/Score.html new file mode 100644 index 0000000..cf7dc74 --- /dev/null +++ b/doc/com/company/Score.html @@ -0,0 +1,163 @@ + + + + + +Score + + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package com.company
+

Class Score

+
+
java.lang.Object +
com.company.Score
+
+
+
+
public class Score +extends Object
+
+
+
    + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    + +
     
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    static void
    + +
    +
    Cette classe permet d'afficher le tableau des scores.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Score

      +
      public Score()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      main

      +
      public static void main()
      +
      Cette classe permet d'afficher le tableau des scores.
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/doc/com/company/package-summary.html b/doc/com/company/package-summary.html new file mode 100644 index 0000000..e262725 --- /dev/null +++ b/doc/com/company/package-summary.html @@ -0,0 +1,80 @@ + + + + + +com.company + + + + + + + + + + + + + + + +
+ +
+
+
+

Package com.company

+
+
+
package com.company
+
+ +
+
+
+
+ + diff --git a/doc/com/company/package-tree.html b/doc/com/company/package-tree.html new file mode 100644 index 0000000..8a33426 --- /dev/null +++ b/doc/com/company/package-tree.html @@ -0,0 +1,72 @@ + + + + + +com.company Class Hierarchy + + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package com.company

+
+
+

Class Hierarchy

+ +
+
+
+
+ + diff --git a/doc/element-list b/doc/element-list new file mode 100644 index 0000000..b635621 --- /dev/null +++ b/doc/element-list @@ -0,0 +1 @@ +com.company diff --git a/doc/help-doc.html b/doc/help-doc.html new file mode 100644 index 0000000..35ce985 --- /dev/null +++ b/doc/help-doc.html @@ -0,0 +1,144 @@ + + + + + +API Help + + + + + + + + + + + + + + + +
+ +
+
+
+

How This API Document Is Organized

+
This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.
+
+
+

Package

+

Each package has a page that contains a list of its classes and interfaces, with a summary for each. These pages may contain six categories:

+
    +
  • Interfaces
  • +
  • Classes
  • +
  • Enum Classes
  • +
  • Exceptions
  • +
  • Errors
  • +
  • Annotation Interfaces
  • +
+
+
+

Class or Interface

+

Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:

+
    +
  • Class Inheritance Diagram
  • +
  • Direct Subclasses
  • +
  • All Known Subinterfaces
  • +
  • All Known Implementing Classes
  • +
  • Class or Interface Declaration
  • +
  • Class or Interface Description
  • +
+
+
    +
  • Nested Class Summary
  • +
  • Field Summary
  • +
  • Property Summary
  • +
  • Constructor Summary
  • +
  • Method Summary
  • +
+
+
    +
  • Field Details
  • +
  • Property Details
  • +
  • Constructor Details
  • +
  • Method Details
  • +
+

The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.

+
+
+

Annotation Interface

+

Each annotation interface has its own separate page with the following sections:

+
    +
  • Annotation Interface Declaration
  • +
  • Annotation Interface Description
  • +
  • Required Element Summary
  • +
  • Optional Element Summary
  • +
  • Element Details
  • +
+
+
+

Enum Class

+

Each enum class has its own separate page with the following sections:

+
    +
  • Enum Declaration
  • +
  • Enum Description
  • +
  • Enum Constant Summary
  • +
  • Enum Constant Details
  • +
+
+
+

Tree (Class Hierarchy)

+

There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. Classes are organized by inheritance structure starting with java.lang.Object. Interfaces do not inherit from java.lang.Object.

+
    +
  • When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.
  • +
  • When viewing a particular package, class or interface page, clicking on "Tree" displays the hierarchy for only that package.
  • +
+
+
+

Index

+

The Index contains an alphabetic index of all classes, interfaces, constructors, methods, and fields, as well as lists of all packages and all classes.

+
+
+

Search

+

You can search for definitions of modules, packages, types, fields, methods, system properties and other terms defined in the API, using some or all of the name, optionally using "camel-case" abbreviations. For example:

+
    +
  • j.l.obj will match "java.lang.Object"
  • +
  • InpStr will match "java.io.InputStream"
  • +
  • HM.cK will match "java.util.HashMap.containsKey(Object)"
  • +
+

Refer to the Javadoc Search Specification for a full description of search features.

+
+
+This help file applies to API documentation generated by the standard doclet.
+
+
+ + diff --git a/doc/index-all.html b/doc/index-all.html new file mode 100644 index 0000000..f0b1dc7 --- /dev/null +++ b/doc/index-all.html @@ -0,0 +1,117 @@ + + + + + +Index + + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+C J M P R S V 
All Classes|All Packages +

C

+
+
com.company - package com.company
+
 
+
+

J

+
+
Joueur - Class in com.company
+
 
+
Joueur() - Constructor for class com.company.Joueur
+
 
+
+

M

+
+
main() - Static method in class com.company.Joueur
+
 
+
main() - Static method in class com.company.RegleDuJeu
+
+
Cette classe permet d'afficher les règles du jeu.
+
+
main() - Static method in class com.company.Score
+
+
Cette classe permet d'afficher le tableau des scores.
+
+
main(String[]) - Static method in class com.company.Main
+
 
+
Main - Class in com.company
+
 
+
Main() - Constructor for class com.company.Main
+
 
+
menuJeu() - Static method in class com.company.Main
+
 
+
+

P

+
+
pasDeCase(int, int) - Static method in class com.company.Joueur
+
 
+
+

R

+
+
RegleDuJeu - Class in com.company
+
 
+
RegleDuJeu() - Constructor for class com.company.RegleDuJeu
+
 
+
+

S

+
+
Score - Class in com.company
+
 
+
Score() - Constructor for class com.company.Score
+
 
+
+

V

+
+
verifCaseLibre(int, int) - Static method in class com.company.Joueur
+
 
+
+C J M P R S V 
All Classes|All Packages
+
+
+ + diff --git a/doc/index.html b/doc/index.html new file mode 100644 index 0000000..e69a428 --- /dev/null +++ b/doc/index.html @@ -0,0 +1,27 @@ + + + + + +Generated Documentation (Untitled) + + + + + + + + + + + +
+ +

com/company/package-summary.html

+
+ + diff --git a/doc/jquery-ui.overrides.css b/doc/jquery-ui.overrides.css new file mode 100644 index 0000000..f89acb6 --- /dev/null +++ b/doc/jquery-ui.overrides.css @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +.ui-state-active, +.ui-widget-content .ui-state-active, +.ui-widget-header .ui-state-active, +a.ui-button:active, +.ui-button:active, +.ui-button.ui-state-active:hover { + /* Overrides the color of selection used in jQuery UI */ + background: #F8981D; +} diff --git a/doc/member-search-index.js b/doc/member-search-index.js new file mode 100644 index 0000000..213878f --- /dev/null +++ b/doc/member-search-index.js @@ -0,0 +1 @@ +memberSearchIndex = [{"p":"com.company","c":"Joueur","l":"Joueur()","u":"%3Cinit%3E()"},{"p":"com.company","c":"Joueur","l":"main()"},{"p":"com.company","c":"RegleDuJeu","l":"main()"},{"p":"com.company","c":"Score","l":"main()"},{"p":"com.company","c":"Main","l":"Main()","u":"%3Cinit%3E()"},{"p":"com.company","c":"Main","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"com.company","c":"Main","l":"menuJeu()"},{"p":"com.company","c":"Joueur","l":"pasDeCase(int, int)","u":"pasDeCase(int,int)"},{"p":"com.company","c":"RegleDuJeu","l":"RegleDuJeu()","u":"%3Cinit%3E()"},{"p":"com.company","c":"Score","l":"Score()","u":"%3Cinit%3E()"},{"p":"com.company","c":"Joueur","l":"verifCaseLibre(int, int)","u":"verifCaseLibre(int,int)"}];updateSearchResults(); \ No newline at end of file diff --git a/doc/module-search-index.js b/doc/module-search-index.js new file mode 100644 index 0000000..0d59754 --- /dev/null +++ b/doc/module-search-index.js @@ -0,0 +1 @@ +moduleSearchIndex = [];updateSearchResults(); \ No newline at end of file diff --git a/doc/overview-tree.html b/doc/overview-tree.html new file mode 100644 index 0000000..0ef39bb --- /dev/null +++ b/doc/overview-tree.html @@ -0,0 +1,76 @@ + + + + + +Class Hierarchy + + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For All Packages

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+
+
+
+ + diff --git a/doc/package-search-index.js b/doc/package-search-index.js new file mode 100644 index 0000000..81f1059 --- /dev/null +++ b/doc/package-search-index.js @@ -0,0 +1 @@ +packageSearchIndex = [{"l":"All Packages","u":"allpackages-index.html"},{"l":"com.company"}];updateSearchResults(); \ No newline at end of file diff --git a/doc/resources/glass.png b/doc/resources/glass.png new file mode 100644 index 0000000000000000000000000000000000000000..a7f591f467a1c0c949bbc510156a0c1afb860a6e GIT binary patch literal 499 zcmVJoRsvExf%rEN>jUL}qZ_~k#FbE+Q;{`;0FZwVNX2n-^JoI; zP;4#$8DIy*Yk-P>VN(DUKmPse7mx+ExD4O|;?E5D0Z5($mjO3`*anwQU^s{ZDK#Lz zj>~{qyaIx5K!t%=G&2IJNzg!ChRpyLkO7}Ry!QaotAHAMpbB3AF(}|_f!G-oI|uK6 z`id_dumai5K%C3Y$;tKS_iqMPHg<*|-@e`liWLAggVM!zAP#@l;=c>S03;{#04Z~5 zN_+ss=Yg6*hTr59mzMwZ@+l~q!+?ft!fF66AXT#wWavHt30bZWFCK%!BNk}LN?0Hg z1VF_nfs`Lm^DjYZ1(1uD0u4CSIr)XAaqW6IT{!St5~1{i=i}zAy76p%_|w8rh@@c0Axr!ns=D-X+|*sY6!@wacG9%)Qn*O zl0sa739kT-&_?#oVxXF6tOnqTD)cZ}2vi$`ZU8RLAlo8=_z#*P3xI~i!lEh+Pdu-L zx{d*wgjtXbnGX_Yf@Tc7Q3YhLhPvc8noGJs2DA~1DySiA&6V{5JzFt ojAY1KXm~va;tU{v7C?Xj0BHw!K;2aXV*mgE07*qoM6N<$f;4TDA^-pY literal 0 HcmV?d00001 diff --git a/doc/script-dir/images/ui-bg_glass_55_fbf9ee_1x400.png b/doc/script-dir/images/ui-bg_glass_55_fbf9ee_1x400.png new file mode 100644 index 0000000000000000000000000000000000000000..34abd18f32d3a55a297fdcf93409bd033ae573e7 GIT binary patch literal 335 zcmeAS@N?(olHy`uVBq!ia0vp^j6gI&fCnc6a#?2AmP!?*K(O3p^r= zfwTu0yPeFo12TF&T^vI^j=w#x$i?I+((tf;UXnmgbH|3oY>pC!)f}(GR!16S-u+#{ ze6YEqRkW=8vGl=5qArKM<9}TC-}iEvB{zdaTcX5$wyRTK&ALRXUCGx5b?-VBQkUm|IuXOmYJrBRJgj{Vx zMbNnqUkncy+qa2-mWYc>swkcIuvGK#>(0d)B7)5f`@$Ei28nH~0h*~=;u=wsl30>z zm0Xkxq!^403@vmGjdTsnLJUl-Obo4zO|=aStPBhe<(7X!(U6;;l9^VCTf=69^L{`L N44$rjF6*2UngDu&PXPb` literal 0 HcmV?d00001 diff --git a/doc/script-dir/images/ui-bg_glass_75_e6e6e6_1x400.png b/doc/script-dir/images/ui-bg_glass_75_e6e6e6_1x400.png new file mode 100644 index 0000000000000000000000000000000000000000..a90afb8bf8028404d206114965669b023dcb85ea GIT binary patch literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^j6gI&0LWmFTHNUZq?nSt-Ch3w7g=q17Rci)@Q5r1 z(jH*!b~4)z#PD=+46!(!TrvH)L6@80)r*_cdCvDr%)6ghVL16=s@mbz7H!uRdGeDa z?kzLg)16i!f8fKx84s0>4hES%`s&m5HI1v5B^Uft7(lid2moiiX_$l+3hB+!{pPkNg5^ OVDNPHb6Mw<&;$T*0!_~V literal 0 HcmV?d00001 diff --git a/doc/script-dir/images/ui-bg_glass_95_fef1ec_1x400.png b/doc/script-dir/images/ui-bg_glass_95_fef1ec_1x400.png new file mode 100644 index 0000000000000000000000000000000000000000..dbe091f6dc036fc1dc11b005738e951e27a43f7a GIT binary patch literal 332 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�_j6WK+Gj+xJRxVvl#lh7y-4uY);t)n47k4ot z9YsU`HVk7fg4;r{;)FHk7ZHyZJ+W|$aKwj=g&_$VCVFn5%XzSA`|z}+4ItZ|`hB}R z>h-6Be`d>nmv8;kQHJg!HMr^cCGG=T5;3HhZ_JRq0_4a3TsY7Pz{V+}z>;!R^U4*c zJ>wRI59B-)92Vi?b&EWvH(`<(G5A?W)z>EuDMG@VENAb7aHa`I#tKw{0uUc3(#J8& z*_S%A_ZxCIY385{%qN-b1K)TWmCjUA4nWKx_ZnKLSvEf0($&_0@DS~ zN8JOXJXXcaFm^OCYrz(R7N5DQkXKGnnt}yzfw^8s%=A?7hxza;ylJ;XQ&XtC`pM%b z6$5Ff0{(ALcSlTKvIbr@mR`0Z)*iM`2EfO|E5OMk$jQsE!^mat*drqV literal 0 HcmV?d00001 diff --git a/doc/script-dir/images/ui-icons_2e83ff_256x240.png b/doc/script-dir/images/ui-icons_2e83ff_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..1f5f49756ca64bd20a1048bd7a3a584457d4bf00 GIT binary patch literal 4549 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 literal 0 HcmV?d00001 diff --git a/doc/script-dir/images/ui-icons_888888_256x240.png b/doc/script-dir/images/ui-icons_888888_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..ee5e33f27235d1b5cf0259f63f3894a6be33c679 GIT binary patch literal 6999 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 literal 0 HcmV?d00001 diff --git a/doc/script-dir/images/ui-icons_cd0a0a_256x240.png b/doc/script-dir/images/ui-icons_cd0a0a_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..7e8ebc180a2d2a74739059799407b8b7b57a9092 GIT binary patch literal 4549 zcmeHK2U8PFw@yL`geFb85=9ZD1*F$df}vOGyaXvKy$K2df>fnT5l|3bse%xZCPhLK zq(s2bG?a)Sy-1T5a?x+*n|uGmeP(CR*`0mn>^?hl=A6f-#y6Q6_!s~H0J9!S#~c6v zp1FW6dYZF&QcwTzY=gzr&=N^tVEF&>Uj<|d!K-Hi*#?;#TL5@jZ-D7d+aKjhUB2ay za7XiT$P6-HQsvS@8Ne>u30;%65Ra9O$98#q8tPF*3bZzTz*N?kB)u+wBUmd+0T!5D z*<^r#Xj1>ZovB|~<30Q0ri+GeWcuAh#6Q2zf&gzD+|&Ui&|W~DEuelV+rTsX$43El z`#jYFfOD>TI+~UbzO6elx{w;!AbqIU%Q;US-y3k0y&ZS`{PXJ9%GKuT? zA=YB~_}-7h}grk~UMM~1{IJu5z36&nH&VPs=tlLlQ$TWf}@j0@_1Mr{7PN}kZ@ zU@9N%V%HL9eSE z*BdLzdW%d9Pf1SA5`lAsx?6C@pGL*pIra&^83Gx%WYG^8aT%R?OG4Ou=0P3R5)KZ5 z2&PGFszDp$u%zsXBYLrEImJ}xFS--_mkY=#l)@OKCnEoMOo8S*eqcoB^(_J&4tmM< zs4&xp4^NNgy&HVP!O(^_6JQclp)V-Ib9=q9aWcaz*Gx~fED_HM%LFsYU%*S)OnQwc zjLYYoLk)hxsCi6qp^!9HRp8G%b|f68yfB?n<^DBz9!E*WgJ2gV*g5_E7alHp*g2_wbc8Pw7*-B9ToxV53c2rO-Vs4Px{7M!NqIXUcMSHv1cqfD&&RnMQs) z8771gCX+j09M{&*+~vB&SSU^b{}8I6?+$$T9I*OL*{LYxAHX;*iW?dX43jc> zp~TZQLjbC#e#FPvV$ou|K+q=`%KR&iGq0m)&%Qcc{(18s?cH)B<=dn&oKq#&CVm$KVlo#Io;OGBX$ckfqw0sl%9n2giktQ~NFXr`I; z@h650el?%I!6y~!d;+G2vdswoOkzni?&A=OT9T`SipWyQFEyIunl_G*e?HE^ zx7hkb*WF(Q-{^pB`|k8FH76TXH6UL4I}2h>bLnbqDDskSJx^zYBqL{y$Sn($8Qire zMAVY2aEEb~T~WwSd>Zm#SF3TtfRem42m@SaPkNC3#AX)UgT%TW=5u7S=dxp|3h~tk+8yZee}?!M9HI@f1WTU?%HqiNq#8O^RmBZ`M8nW z4|fZvl;5BN{Lb=BYDGdiZ)y8 zAJE}UL0VRg6Y7k--*#>qd}SW1`t(XXl);%iKi{ne!56tAR#KrNk#?YdO;$EPr~Ghg zL?F4G51g8yyaYA|gz0Frg48>AICegIAO6!sUwFPVn!UV}NVFIh?iYutyf9vPz5yy( z6DHSbg~R&3N2@w%ro3d+aztG`xPRDrWGn*Y&;syq!6%Nw=lpy*v1>S; zz{fdE9!dF+My~C&wlU5dQQi|liohaCEU{7=clSmk*wsDU+doSXunDD0ppEf~z7_WK zr+{Ip?==2A3sWeggPH~cD#9z$y`Scm$bJE%)>E|H9P>`Q=3WWq&5Gckv?(2+idix- z=}@U*Mw5z1u`6g?w5skq?WtvLzqBse`dg0I`$C5Hc0=;s zkPHED_%Qv>At$X$ZQoAYc=|i@^yMF^9@eeSh=MAFRi5FHuyr-LC*Z!C9W%qiV99!$ z+O4V2zvRN1wsMwg1WGvGv~LqgOA2pQZi~E#pY5Lj`j`sW1jcRidq&GPu(oq7&iz*W zKqyJ$uZ1uC=#zeW>zJF-nx-gt-}Ak+qN{)H+eFKjl(8fvzoS10rN}hbM=2ZHn7&EW z&8^#HYV0+@3zAc}_pVhH22dU+MW5s4HwjodZU|T(EZaZ2D1Vuc&fO1}CSck5&kdJ% zi5gTPGKuKSk8XiGTl>tjIdMWO%>rJ^?&*|Ie1H+ zQLN{pqOrow2FVb%V>X_jBIhzH6s6~oS_oYp;iE>C%Z8w|lf!Ev?jfhYkP?FOAJ=__ zr3Ndn*>IP;iK|Ccxw##$W6H7snuYuHC7o)bP}ir&X4B|!Zd3cDm`a244dW*}1CN%5 zXbw16r3xZMsYF85zpYIaVr} z?@&!YCHZY9Dhmzcwq`}f17^3P{$})GtY|@wRkgs2TGgSwUV|As8%gAY&4}SLTG6V7 zW4_tEA;9}Q!A@(ZaEcrzDlf2bSL%{R)ka6gH9z06;tUEGAxQhi>~Q}sg1^506i46bzM;PHOzX~mY*`jhIiS}ZN2&$pmjO9S=Mj>^wMj=hEu zl~8}2{%}WDK+?okXRZA{H+!LjL{Qw9wi7vK1jiPkap+~_ak9^lCE_h!OeGWGGC-f1 zVRpAm`}*sOCzi+Ga`RF(!KxOX_nSKFZ%-ou%u?^0ue8}s6S?Xo-QGlc{EYuH{+mQ} z>M!OEuy)pxcgz<<{Cz|GC0u}FhbpDfLsov{TnAe9J`HN1 za$1aaKcULuO}iD`>6xOm$wW+_K_~{}#cJyGb!F&r_u_WE*8>}sUhJ6ueSj+chaBTO z_5$EOo-Ic;$S9Ktg;7Yrv0}eqi8w*$7sq2td!fj=Cb#w8?(xBoqj;W#K&Bk`$}tA3 z9AGH_)V?G6ZC=jUdQlN6RDFWODgd0RQQ;0q(jfFwegfKM0~6S+>;@7olQV~&k49?f4c6ReTPQa($S^cob|b_kZ$#iX{C8Kz*x0%0 zo>cBW9N_VWlazSRa?1##MXSou-fxeD!_&QLemU3-p!Hs?V4m6Uct-_K_|&bHnK!W$ zV;63=dGgzIvcKFCOuQk~(75AeyWPI#G+g@N6{x%iJmUeHX;4Zap?8EBjG*?Rg>>ai z2KP;zLI>J)rrvOVNW5NFP3LK%e~$B;2#8-H>%?dKvqQey7_%N$0BA{1=_#M`>JpGj zx^=X=@Ue4rw&8wAx+E@QbDpFk)D;j9<|OP%PJua#2WVcDDKfA63c=(IOQ-ItOLyLj z#xi9OEcg{vTTL1PH0YM4?khk(&TzrkU^aY+ypr5 z{jp4uL+LRby+u5hgmq)J$>w4X_2hrqq;M%gOnCFRl<7qk=J7~NV(r#;uVaI=;k)yH z3s|;iNg&Le8;yH+`qw4sWA#bWtE1?ftr!s26wPW{TB4{eZ7}vcT{CttS+z#yeHZD` z!Dm{7xPVwM1jvxV5cImPfv~WUzB0lD0V?KmAfl1#yl9`E3o(FJ-W+yQ`0C&D)y6G7Fqei&raMZE$9ts7fa z4f4?J_L;XiwLe#tFZPq{Hi=d2HL_a#J6156HfF@TAh; z*?Y}c7mP70lKYjiy#yEAjAE=?L_%I!DCR2DHw8zdS^Oe`Q{pKe%3AToxCN@8lKi~y z{NBUBt1t6X6V9;2e1t)uN}rcE_dBkxip3*do}=#z;&-%u?-?GxK;Dbzs!>Q^*6ptj zm^eD>*BoA?nOOnx9cmrMao0O|mq-wu>SauA6^XMeyN#cZXde*AQjDKU-aV#`nCYM! zK93Mnh)oEUJD3C2u*7fg1Z6u(rIWt=TFIqI@vO6HP*2{$Nfzqqt)jply2Pr`P1<{K zAJze>9Iexn7%VzWXJ<9dI_s1qgpT?U{aFjU?#mtfXwP1}`wno0q-!-Ch4te$o&7NO zv0K{_tOX8j$%GwNi1XUiA4V4r(b+)i-C0MYc`g)V`!_Vllu=)fmSLWy3MWmjV{~>( z2}Qmx;l8gN7vOQhu1Ct|e;v2u<}Z#5f0Ri`pg-r)`~A!ONc0I6kHauS0UE#sMlq4I z%K6CTTyOG<7_>u(<5A(mz`ps}+2ji&AfFQ+KjMEIGm>t=ebp$kBvqJzq Mq_Ix57W&cu0AIB!=l}o! literal 0 HcmV?d00001 diff --git a/doc/script-dir/jquery-3.5.1.min.js b/doc/script-dir/jquery-3.5.1.min.js new file mode 100644 index 0000000..b061403 --- /dev/null +++ b/doc/script-dir/jquery-3.5.1.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.5.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.5.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,j=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function qe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=$e(y.pixelPosition,function(e,t){if(t)return t=Be(e,n),Me.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0a;a++)for(s in o[a])n=o[a][s],o[a].hasOwnProperty(s)&&void 0!==n&&(e[s]=t.isPlainObject(n)?t.isPlainObject(e[s])?t.widget.extend({},e[s],n):t.widget.extend({},n):n);return e},t.widget.bridge=function(e,s){var n=s.prototype.widgetFullName||e;t.fn[e]=function(o){var a="string"==typeof o,r=i.call(arguments,1),l=this;return a?this.length||"instance"!==o?this.each(function(){var i,s=t.data(this,n);return"instance"===o?(l=s,!1):s?t.isFunction(s[o])&&"_"!==o.charAt(0)?(i=s[o].apply(s,r),i!==s&&void 0!==i?(l=i&&i.jquery?l.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+o+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+o+"'")}):l=void 0:(r.length&&(o=t.widget.extend.apply(null,[o].concat(r))),this.each(function(){var e=t.data(this,n);e?(e.option(o||{}),e._init&&e._init()):t.data(this,n,new s(o,this))})),l}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"
",options:{classes:{},disabled:!1,create:null},_createWidget:function(i,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=e++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),i),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var l=s.match(/^([\w:-]*)\s*(.*)$/),h=l[1]+o.eventNamespace,c=l[2];c?n.on(h,c,r):i.on(h,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,function(){function e(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)]}function i(e,i){return parseInt(t.css(e,i),10)||0}function s(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}var n,o=Math.max,a=Math.abs,r=/left|center|right/,l=/top|center|bottom/,h=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,u=/%$/,d=t.fn.position;t.position={scrollbarWidth:function(){if(void 0!==n)return n;var e,i,s=t("
"),o=s.children()[0];return t("body").append(s),e=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,e===i&&(i=s[0].clientWidth),s.remove(),n=e-i},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.widthi?"left":e>0?"right":"center",vertical:0>r?"top":s>0?"bottom":"middle"};h>p&&p>a(e+i)&&(u.horizontal="center"),c>f&&f>a(s+r)&&(u.vertical="middle"),u.important=o(a(e),a(i))>o(a(s),a(r))?"horizontal":"vertical",n.using.call(this,t,u)}),l.offset(t.extend(D,{using:r}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,l=n-r,h=r+e.collisionWidth-a-n;e.collisionWidth>a?l>0&&0>=h?(i=t.left+l+e.collisionWidth-a-n,t.left+=l-i):t.left=h>0&&0>=l?n:l>h?n+a-e.collisionWidth:n:l>0?t.left+=l:h>0?t.left-=h:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,l=n-r,h=r+e.collisionHeight-a-n;e.collisionHeight>a?l>0&&0>=h?(i=t.top+l+e.collisionHeight-a-n,t.top+=l-i):t.top=h>0&&0>=l?n:l>h?n+a-e.collisionHeight:n:l>0?t.top+=l:h>0?t.top-=h:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,r=n.width,l=n.isWindow?n.scrollLeft:n.offset.left,h=t.left-e.collisionPosition.marginLeft,c=h-l,u=h+e.collisionWidth-r-l,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-r-o,(0>i||a(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-l,(s>0||u>a(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,r=n.height,l=n.isWindow?n.scrollTop:n.offset.top,h=t.top-e.collisionPosition.marginTop,c=h-l,u=h+e.collisionHeight-r-l,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,g=-2*e.offset[1];0>c?(s=t.top+p+f+g+e.collisionHeight-r-o,(0>s||a(c)>s)&&(t.top+=p+f+g)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+g-l,(i>0||u>a(i))&&(t.top+=p+f+g))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position,t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.fn.extend({uniqueId:function(){var t=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.ui.safeActiveElement=function(t){var e;try{e=t.activeElement}catch(i){e=t.body}return e||(e=t.body),e.nodeName||(e=t.body),e},t.widget("ui.menu",{version:"1.12.1",defaultElement:"
    ",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(t){t.preventDefault()},"click .ui-menu-item":function(e){var i=t(e.target),s=t(t.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.select(e),e.isPropagationStopped()||(this.mouseHandled=!0),i.has(".ui-menu").length?this.expand(e):!this.element.is(":focus")&&s.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(e){if(!this.previousFilter){var i=t(e.target).closest(".ui-menu-item"),s=t(e.currentTarget);i[0]===s[0]&&(this._removeClass(s.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(e,s))}},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this.element.find(this.options.items).eq(0);e||this.focus(t,i)},blur:function(e){this._delay(function(){var i=!t.contains(this.element[0],t.ui.safeActiveElement(this.document[0]));i&&this.collapseAll(e)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){this._closeOnDocumentClick(t)&&this.collapseAll(t),this.mouseHandled=!1}})},_destroy:function(){var e=this.element.find(".ui-menu-item").removeAttr("role aria-disabled"),i=e.children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),i.children().each(function(){var e=t(this);e.data("ui-menu-submenu-caret")&&e.remove()})},_keydown:function(e){var i,s,n,o,a=!0;switch(e.keyCode){case t.ui.keyCode.PAGE_UP:this.previousPage(e);break;case t.ui.keyCode.PAGE_DOWN:this.nextPage(e);break;case t.ui.keyCode.HOME:this._move("first","first",e);break;case t.ui.keyCode.END:this._move("last","last",e);break;case t.ui.keyCode.UP:this.previous(e);break;case t.ui.keyCode.DOWN:this.next(e);break;case t.ui.keyCode.LEFT:this.collapse(e);break;case t.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(e);break;case t.ui.keyCode.ENTER:case t.ui.keyCode.SPACE:this._activate(e);break;case t.ui.keyCode.ESCAPE:this.collapse(e);break;default:a=!1,s=this.previousFilter||"",o=!1,n=e.keyCode>=96&&105>=e.keyCode?""+(e.keyCode-96):String.fromCharCode(e.keyCode),clearTimeout(this.filterTimer),n===s?o=!0:n=s+n,i=this._filterMenuItems(n),i=o&&-1!==i.index(this.active.next())?this.active.nextAll(".ui-menu-item"):i,i.length||(n=String.fromCharCode(e.keyCode),i=this._filterMenuItems(n)),i.length?(this.focus(e,i),this.previousFilter=n,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}a&&e.preventDefault()},_activate:function(t){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var e,i,s,n,o,a=this,r=this.options.icons.submenu,l=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),s=l.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var e=t(this),i=e.prev(),s=t("").data("ui-menu-submenu-caret",!0);a._addClass(s,"ui-menu-icon","ui-icon "+r),i.attr("aria-haspopup","true").prepend(s),e.attr("aria-labelledby",i.attr("id"))}),this._addClass(s,"ui-menu","ui-widget ui-widget-content ui-front"),e=l.add(this.element),i=e.find(this.options.items),i.not(".ui-menu-item").each(function(){var e=t(this);a._isDivider(e)&&a._addClass(e,"ui-menu-divider","ui-widget-content")}),n=i.not(".ui-menu-item, .ui-menu-divider"),o=n.children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(n,"ui-menu-item")._addClass(o,"ui-menu-item-wrapper"),i.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!t.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){if("icons"===t){var i=this.element.find(".ui-menu-icon");this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,e.submenu)}this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t+""),this._toggleClass(null,"ui-state-disabled",!!t)},focus:function(t,e){var i,s,n;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),s=this.active.children(".ui-menu-item-wrapper"),this._addClass(s,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),n=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(n,null,"ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),i=e.children(".ui-menu"),i.length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(e){var i,s,n,o,a,r;this._hasScroll()&&(i=parseFloat(t.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(t.css(this.activeMenu[0],"paddingTop"))||0,n=e.offset().top-this.activeMenu.offset().top-i-s,o=this.activeMenu.scrollTop(),a=this.activeMenu.height(),r=e.outerHeight(),0>n?this.activeMenu.scrollTop(o+n):n+r>a&&this.activeMenu.scrollTop(o+n-a+r))},blur:function(t,e){e||clearTimeout(this.timer),this.active&&(this._removeClass(this.active.children(".ui-menu-item-wrapper"),null,"ui-state-active"),this._trigger("blur",t,{item:this.active}),this.active=null)},_startOpening:function(t){clearTimeout(this.timer),"true"===t.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(t)},this.delay))},_open:function(e){var i=t.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(e.parents(".ui-menu")).hide().attr("aria-hidden","true"),e.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(e,i){clearTimeout(this.timer),this.timer=this._delay(function(){var s=i?this.element:t(e&&e.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(e),this._removeClass(s.find(".ui-state-active"),null,"ui-state-active"),this.activeMenu=s},this.delay)},_close:function(t){t||(t=this.active?this.active.parent():this.element),t.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false")},_closeOnDocumentClick:function(e){return!t(e.target).closest(".ui-menu").length},_isDivider:function(t){return!/[^\-\u2014\u2013\s]/.test(t.text())},collapse:function(t){var e=this.active&&this.active.parent().closest(".ui-menu-item",this.element);e&&e.length&&(this._close(),this.focus(t,e))},expand:function(t){var e=this.active&&this.active.children(".ui-menu ").find(this.options.items).first();e&&e.length&&(this._open(e.parent()),this._delay(function(){this.focus(t,e)}))},next:function(t){this._move("next","first",t)},previous:function(t){this._move("prev","last",t)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(t,e,i){var s;this.active&&(s="first"===t||"last"===t?this.active["first"===t?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[t+"All"](".ui-menu-item").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.find(this.options.items)[e]()),this.focus(i,s)},nextPage:function(e){var i,s,n;return this.active?(this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return i=t(this),0>i.offset().top-s-n}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items)[this.active?"last":"first"]())),void 0):(this.next(e),void 0)},previousPage:function(e){var i,s,n;return this.active?(this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return i=t(this),i.offset().top-s+n>0}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items).first())),void 0):(this.next(e),void 0)},_hasScroll:function(){return this.element.outerHeight()",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var e,i,s,n=this.element[0].nodeName.toLowerCase(),o="textarea"===n,a="input"===n;this.isMultiLine=o||!a&&this._isContentEditable(this.element),this.valueMethod=this.element[o||a?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(n){if(this.element.prop("readOnly"))return e=!0,s=!0,i=!0,void 0;e=!1,s=!1,i=!1;var o=t.ui.keyCode;switch(n.keyCode){case o.PAGE_UP:e=!0,this._move("previousPage",n);break;case o.PAGE_DOWN:e=!0,this._move("nextPage",n);break;case o.UP:e=!0,this._keyEvent("previous",n);break;case o.DOWN:e=!0,this._keyEvent("next",n);break;case o.ENTER:this.menu.active&&(e=!0,n.preventDefault(),this.menu.select(n));break;case o.TAB:this.menu.active&&this.menu.select(n);break;case o.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}},keypress:function(s){if(e)return e=!1,(!this.isMultiLine||this.menu.element.is(":visible"))&&s.preventDefault(),void 0;if(!i){var n=t.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s)}}},input:function(t){return s?(s=!1,t.preventDefault(),void 0):(this._searchTimeout(t),void 0)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){return this.cancelBlur?(delete this.cancelBlur,void 0):(clearTimeout(this.searching),this.close(t),this._change(t),void 0)}}),this._initSource(),this.menu=t("
      ").appendTo(this._appendTo()).menu({role:null}).hide().menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function(e){e.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,this.element[0]!==t.ui.safeActiveElement(this.document[0])&&this.element.trigger("focus")})},menufocus:function(e,i){var s,n;return this.isNewMenu&&(this.isNewMenu=!1,e.originalEvent&&/^mouse/.test(e.originalEvent.type))?(this.menu.blur(),this.document.one("mousemove",function(){t(e.target).trigger(e.originalEvent)}),void 0):(n=i.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",e,{item:n})&&e.originalEvent&&/^key/.test(e.originalEvent.type)&&this._value(n.value),s=i.item.attr("aria-label")||n.value,s&&t.trim(s).length&&(this.liveRegion.children().hide(),t("
      ").text(s).appendTo(this.liveRegion)),void 0)},menuselect:function(e,i){var s=i.item.data("ui-autocomplete-item"),n=this.previous;this.element[0]!==t.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=n,this._delay(function(){this.previous=n,this.selectedItem=s})),!1!==this._trigger("select",e,{item:s})&&this._value(s.value),this.term=this._value(),this.close(e),this.selectedItem=s}}),this.liveRegion=t("
      ",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(t,e){this._super(t,e),"source"===t&&this._initSource(),"appendTo"===t&&this.menu.element.appendTo(this._appendTo()),"disabled"===t&&e&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(e){var i=this.menu.element[0];return e.target===this.element[0]||e.target===i||t.contains(i,e.target)},_closeOnClickOutside:function(t){this._isEventTargetInWidget(t)||this.close()},_appendTo:function(){var e=this.options.appendTo;return e&&(e=e.jquery||e.nodeType?t(e):this.document.find(e).eq(0)),e&&e[0]||(e=this.element.closest(".ui-front, dialog")),e.length||(e=this.document[0].body),e},_initSource:function(){var e,i,s=this;t.isArray(this.options.source)?(e=this.options.source,this.source=function(i,s){s(t.ui.autocomplete.filter(e,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(e,n){s.xhr&&s.xhr.abort(),s.xhr=t.ajax({url:i,data:e,dataType:"json",success:function(t){n(t)},error:function(){n([])}})}):this.source=this.options.source},_searchTimeout:function(t){clearTimeout(this.searching),this.searching=this._delay(function(){var e=this.term===this._value(),i=this.menu.element.is(":visible"),s=t.altKey||t.ctrlKey||t.metaKey||t.shiftKey;(!e||e&&!i&&!s)&&(this.selectedItem=null,this.search(null,t))},this.options.delay)},search:function(t,e){return t=null!=t?t:this._value(),this.term=this._value(),t.length").append(t("
      ").text(i.label)).appendTo(e)},_move:function(t,e){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(t)||this.menu.isLastItem()&&/^next/.test(t)?(this.isMultiLine||this._value(this.term),this.menu.blur(),void 0):(this.menu[t](e),void 0):(this.search(null,e),void 0)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(t,e){(!this.isMultiLine||this.menu.element.is(":visible"))&&(this._move(t,e),e.preventDefault())},_isContentEditable:function(t){if(!t.length)return!1;var e=t.prop("contentEditable");return"inherit"===e?this._isContentEditable(t.parent()):"true"===e}}),t.extend(t.ui.autocomplete,{escapeRegex:function(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(e,i){var s=RegExp(t.ui.autocomplete.escapeRegex(i),"i");return t.grep(e,function(t){return s.test(t.label||t.value||t)})}}),t.widget("ui.autocomplete",t.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(t){return t+(t>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(e){var i;this._superApply(arguments),this.options.disabled||this.cancelSearch||(i=e&&e.length?this.options.messages.results(e.length):this.options.messages.noResults,this.liveRegion.children().hide(),t("
      ").text(i).appendTo(this.liveRegion))}}),t.ui.autocomplete}); \ No newline at end of file diff --git a/doc/script-dir/jquery-ui.structure.min.css b/doc/script-dir/jquery-ui.structure.min.css new file mode 100644 index 0000000..e880892 --- /dev/null +++ b/doc/script-dir/jquery-ui.structure.min.css @@ -0,0 +1,5 @@ +/*! jQuery UI - v1.12.1 - 2018-12-06 +* http://jqueryui.com +* Copyright jQuery Foundation and other contributors; Licensed MIT */ + +.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:0}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{margin:0;cursor:pointer;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-item-wrapper{position:relative;padding:3px 1em 3px .4em}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0} \ No newline at end of file diff --git a/doc/script.js b/doc/script.js new file mode 100644 index 0000000..864989c --- /dev/null +++ b/doc/script.js @@ -0,0 +1,132 @@ +/* + * Copyright (c) 2013, 2020, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +var moduleSearchIndex; +var packageSearchIndex; +var typeSearchIndex; +var memberSearchIndex; +var tagSearchIndex; +function loadScripts(doc, tag) { + createElem(doc, tag, 'search.js'); + + createElem(doc, tag, 'module-search-index.js'); + createElem(doc, tag, 'package-search-index.js'); + createElem(doc, tag, 'type-search-index.js'); + createElem(doc, tag, 'member-search-index.js'); + createElem(doc, tag, 'tag-search-index.js'); +} + +function createElem(doc, tag, path) { + var script = doc.createElement(tag); + var scriptElement = doc.getElementsByTagName(tag)[0]; + script.src = pathtoroot + path; + scriptElement.parentNode.insertBefore(script, scriptElement); +} + +function show(tableId, selected, columns) { + if (tableId !== selected) { + document.querySelectorAll('div.' + tableId + ':not(.' + selected + ')') + .forEach(function(elem) { + elem.style.display = 'none'; + }); + } + document.querySelectorAll('div.' + selected) + .forEach(function(elem, index) { + elem.style.display = ''; + var isEvenRow = index % (columns * 2) < columns; + elem.classList.remove(isEvenRow ? oddRowColor : evenRowColor); + elem.classList.add(isEvenRow ? evenRowColor : oddRowColor); + }); + updateTabs(tableId, selected); +} + +function updateTabs(tableId, selected) { + document.querySelector('div#' + tableId +' .summary-table') + .setAttribute('aria-labelledby', selected); + document.querySelectorAll('button[id^="' + tableId + '"]') + .forEach(function(tab, index) { + if (selected === tab.id || (tableId === selected && index === 0)) { + tab.className = activeTableTab; + tab.setAttribute('aria-selected', true); + tab.setAttribute('tabindex',0); + } else { + tab.className = tableTab; + tab.setAttribute('aria-selected', false); + tab.setAttribute('tabindex',-1); + } + }); +} + +function switchTab(e) { + var selected = document.querySelector('[aria-selected=true]'); + if (selected) { + if ((e.keyCode === 37 || e.keyCode === 38) && selected.previousSibling) { + // left or up arrow key pressed: move focus to previous tab + selected.previousSibling.click(); + selected.previousSibling.focus(); + e.preventDefault(); + } else if ((e.keyCode === 39 || e.keyCode === 40) && selected.nextSibling) { + // right or down arrow key pressed: move focus to next tab + selected.nextSibling.click(); + selected.nextSibling.focus(); + e.preventDefault(); + } + } +} + +var updateSearchResults = function() {}; + +function indexFilesLoaded() { + return moduleSearchIndex + && packageSearchIndex + && typeSearchIndex + && memberSearchIndex + && tagSearchIndex; +} + +// Workaround for scroll position not being included in browser history (8249133) +document.addEventListener("DOMContentLoaded", function(e) { + var contentDiv = document.querySelector("div.flex-content"); + window.addEventListener("popstate", function(e) { + if (e.state !== null) { + contentDiv.scrollTop = e.state; + } + }); + window.addEventListener("hashchange", function(e) { + history.replaceState(contentDiv.scrollTop, document.title); + }); + contentDiv.addEventListener("scroll", function(e) { + var timeoutID; + if (!timeoutID) { + timeoutID = setTimeout(function() { + history.replaceState(contentDiv.scrollTop, document.title); + timeoutID = null; + }, 100); + } + }); + if (!location.hash) { + history.replaceState(contentDiv.scrollTop, document.title); + } +}); diff --git a/doc/search.js b/doc/search.js new file mode 100644 index 0000000..2c2ced0 --- /dev/null +++ b/doc/search.js @@ -0,0 +1,354 @@ +/* + * Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +var noResult = {l: "No results found"}; +var loading = {l: "Loading search index..."}; +var catModules = "Modules"; +var catPackages = "Packages"; +var catTypes = "Classes and Interfaces"; +var catMembers = "Members"; +var catSearchTags = "Search Tags"; +var highlight = "$&"; +var searchPattern = ""; +var fallbackPattern = ""; +var RANKING_THRESHOLD = 2; +var NO_MATCH = 0xffff; +var MIN_RESULTS = 3; +var MAX_RESULTS = 500; +var UNNAMED = ""; +function escapeHtml(str) { + return str.replace(//g, ">"); +} +function getHighlightedText(item, matcher, fallbackMatcher) { + var escapedItem = escapeHtml(item); + var highlighted = escapedItem.replace(matcher, highlight); + if (highlighted === escapedItem) { + highlighted = escapedItem.replace(fallbackMatcher, highlight) + } + return highlighted; +} +function getURLPrefix(ui) { + var urlPrefix=""; + var slash = "/"; + if (ui.item.category === catModules) { + return ui.item.l + slash; + } else if (ui.item.category === catPackages && ui.item.m) { + return ui.item.m + slash; + } else if (ui.item.category === catTypes || ui.item.category === catMembers) { + if (ui.item.m) { + urlPrefix = ui.item.m + slash; + } else { + $.each(packageSearchIndex, function(index, item) { + if (item.m && ui.item.p === item.l) { + urlPrefix = item.m + slash; + } + }); + } + } + return urlPrefix; +} +function createSearchPattern(term) { + var pattern = ""; + var isWordToken = false; + term.replace(/,\s*/g, ", ").trim().split(/\s+/).forEach(function(w, index) { + if (index > 0) { + // whitespace between identifiers is significant + pattern += (isWordToken && /^\w/.test(w)) ? "\\s+" : "\\s*"; + } + var tokens = w.split(/(?=[A-Z,.()<>[\/])/); + for (var i = 0; i < tokens.length; i++) { + var s = tokens[i]; + if (s === "") { + continue; + } + pattern += $.ui.autocomplete.escapeRegex(s); + isWordToken = /\w$/.test(s); + if (isWordToken) { + pattern += "([a-z0-9_$<>\\[\\]]*?)"; + } + } + }); + return pattern; +} +function createMatcher(pattern, flags) { + var isCamelCase = /[A-Z]/.test(pattern); + return new RegExp(pattern, flags + (isCamelCase ? "" : "i")); +} +var watermark = 'Search'; +$(function() { + var search = $("#search"); + var reset = $("#reset"); + search.val(''); + search.prop("disabled", false); + reset.prop("disabled", false); + search.val(watermark).addClass('watermark'); + search.blur(function() { + if ($(this).val().length === 0) { + $(this).val(watermark).addClass('watermark'); + } + }); + search.on('click keydown paste', function() { + if ($(this).val() === watermark) { + $(this).val('').removeClass('watermark'); + } + }); + reset.click(function() { + search.val('').focus(); + }); + search.focus()[0].setSelectionRange(0, 0); +}); +$.widget("custom.catcomplete", $.ui.autocomplete, { + _create: function() { + this._super(); + this.widget().menu("option", "items", "> :not(.ui-autocomplete-category)"); + }, + _renderMenu: function(ul, items) { + var rMenu = this; + var currentCategory = ""; + rMenu.menu.bindings = $(); + $.each(items, function(index, item) { + var li; + if (item.category && item.category !== currentCategory) { + ul.append("
    • " + item.category + "
    • "); + currentCategory = item.category; + } + li = rMenu._renderItemData(ul, item); + if (item.category) { + li.attr("aria-label", item.category + " : " + item.l); + li.attr("class", "result-item"); + } else { + li.attr("aria-label", item.l); + li.attr("class", "result-item"); + } + }); + }, + _renderItem: function(ul, item) { + var label = ""; + var matcher = createMatcher(escapeHtml(searchPattern), "g"); + var fallbackMatcher = new RegExp(fallbackPattern, "gi") + if (item.category === catModules) { + label = getHighlightedText(item.l, matcher, fallbackMatcher); + } else if (item.category === catPackages) { + label = getHighlightedText(item.l, matcher, fallbackMatcher); + } else if (item.category === catTypes) { + label = (item.p && item.p !== UNNAMED) + ? getHighlightedText(item.p + "." + item.l, matcher, fallbackMatcher) + : getHighlightedText(item.l, matcher, fallbackMatcher); + } else if (item.category === catMembers) { + label = (item.p && item.p !== UNNAMED) + ? getHighlightedText(item.p + "." + item.c + "." + item.l, matcher, fallbackMatcher) + : getHighlightedText(item.c + "." + item.l, matcher, fallbackMatcher); + } else if (item.category === catSearchTags) { + label = getHighlightedText(item.l, matcher, fallbackMatcher); + } else { + label = item.l; + } + var li = $("
    • ").appendTo(ul); + var div = $("
      ").appendTo(li); + if (item.category === catSearchTags && item.h) { + if (item.d) { + div.html(label + " (" + item.h + ")
      " + + item.d + "
      "); + } else { + div.html(label + " (" + item.h + ")"); + } + } else { + if (item.m) { + div.html(item.m + "/" + label); + } else { + div.html(label); + } + } + return li; + } +}); +function rankMatch(match, category) { + if (!match) { + return NO_MATCH; + } + var index = match.index; + var input = match.input; + var leftBoundaryMatch = 2; + var periferalMatch = 0; + // make sure match is anchored on a left word boundary + if (index === 0 || /\W/.test(input[index - 1]) || "_" === input[index]) { + leftBoundaryMatch = 0; + } else if ("_" === input[index - 1] || (input[index] === input[index].toUpperCase() && !/^[A-Z0-9_$]+$/.test(input))) { + leftBoundaryMatch = 1; + } + var matchEnd = index + match[0].length; + var leftParen = input.indexOf("("); + var endOfName = leftParen > -1 ? leftParen : input.length; + // exclude peripheral matches + if (category !== catModules && category !== catSearchTags) { + var delim = category === catPackages ? "/" : "."; + if (leftParen > -1 && leftParen < index) { + periferalMatch += 2; + } else if (input.lastIndexOf(delim, endOfName) >= matchEnd) { + periferalMatch += 2; + } + } + var delta = match[0].length === endOfName ? 0 : 1; // rank full match higher than partial match + for (var i = 1; i < match.length; i++) { + // lower ranking if parts of the name are missing + if (match[i]) + delta += match[i].length; + } + if (category === catTypes) { + // lower ranking if a type name contains unmatched camel-case parts + if (/[A-Z]/.test(input.substring(matchEnd))) + delta += 5; + if (/[A-Z]/.test(input.substring(0, index))) + delta += 5; + } + return leftBoundaryMatch + periferalMatch + (delta / 200); + +} +function doSearch(request, response) { + var result = []; + searchPattern = createSearchPattern(request.term); + fallbackPattern = createSearchPattern(request.term.toLowerCase()); + if (searchPattern === "") { + return this.close(); + } + var camelCaseMatcher = createMatcher(searchPattern, ""); + var fallbackMatcher = new RegExp(fallbackPattern, "i"); + + function searchIndexWithMatcher(indexArray, matcher, category, nameFunc) { + if (indexArray) { + var newResults = []; + $.each(indexArray, function (i, item) { + item.category = category; + var ranking = rankMatch(matcher.exec(nameFunc(item)), category); + if (ranking < RANKING_THRESHOLD) { + newResults.push({ranking: ranking, item: item}); + } + return newResults.length <= MAX_RESULTS; + }); + return newResults.sort(function(e1, e2) { + return e1.ranking - e2.ranking; + }).map(function(e) { + return e.item; + }); + } + return []; + } + function searchIndex(indexArray, category, nameFunc) { + var primaryResults = searchIndexWithMatcher(indexArray, camelCaseMatcher, category, nameFunc); + result = result.concat(primaryResults); + if (primaryResults.length <= MIN_RESULTS && camelCaseMatcher.flags.indexOf("i") === -1) { + var secondaryResults = searchIndexWithMatcher(indexArray, fallbackMatcher, category, nameFunc); + result = result.concat(secondaryResults.filter(function (item) { + return primaryResults.indexOf(item) === -1; + })); + } + } + + searchIndex(moduleSearchIndex, catModules, function(item) { return item.l; }); + searchIndex(packageSearchIndex, catPackages, function(item) { + return (item.m && request.term.indexOf("/") > -1) + ? (item.m + "/" + item.l) : item.l; + }); + searchIndex(typeSearchIndex, catTypes, function(item) { + return request.term.indexOf(".") > -1 ? item.p + "." + item.l : item.l; + }); + searchIndex(memberSearchIndex, catMembers, function(item) { + return request.term.indexOf(".") > -1 + ? item.p + "." + item.c + "." + item.l : item.l; + }); + searchIndex(tagSearchIndex, catSearchTags, function(item) { return item.l; }); + + if (!indexFilesLoaded()) { + updateSearchResults = function() { + doSearch(request, response); + } + result.unshift(loading); + } else { + updateSearchResults = function() {}; + } + response(result); +} +$(function() { + $("#search").catcomplete({ + minLength: 1, + delay: 300, + source: doSearch, + response: function(event, ui) { + if (!ui.content.length) { + ui.content.push(noResult); + } else { + $("#search").empty(); + } + }, + autoFocus: true, + focus: function(event, ui) { + return false; + }, + position: { + collision: "flip" + }, + select: function(event, ui) { + if (ui.item.category) { + var url = getURLPrefix(ui); + if (ui.item.category === catModules) { + url += "module-summary.html"; + } else if (ui.item.category === catPackages) { + if (ui.item.u) { + url = ui.item.u; + } else { + url += ui.item.l.replace(/\./g, '/') + "/package-summary.html"; + } + } else if (ui.item.category === catTypes) { + if (ui.item.u) { + url = ui.item.u; + } else if (ui.item.p === UNNAMED) { + url += ui.item.l + ".html"; + } else { + url += ui.item.p.replace(/\./g, '/') + "/" + ui.item.l + ".html"; + } + } else if (ui.item.category === catMembers) { + if (ui.item.p === UNNAMED) { + url += ui.item.c + ".html" + "#"; + } else { + url += ui.item.p.replace(/\./g, '/') + "/" + ui.item.c + ".html" + "#"; + } + if (ui.item.u) { + url += ui.item.u; + } else { + url += ui.item.l; + } + } else if (ui.item.category === catSearchTags) { + url += ui.item.u; + } + if (top !== window) { + parent.classFrame.location = pathtoroot + url; + } else { + window.location.href = pathtoroot + url; + } + $("#search").focus(); + } + } + }); +}); diff --git a/doc/stylesheet.css b/doc/stylesheet.css new file mode 100644 index 0000000..932e56c --- /dev/null +++ b/doc/stylesheet.css @@ -0,0 +1,827 @@ +/* + * Javadoc style sheet + */ + +@import url('resources/fonts/dejavu.css'); + +/* + * Styles for individual HTML elements. + * + * These are styles that are specific to individual HTML elements. Changing them affects the style of a particular + * HTML element throughout the page. + */ + +body { + background-color:#ffffff; + color:#353833; + font-family:'DejaVu Sans', Arial, Helvetica, sans-serif; + font-size:14px; + margin:0; + padding:0; + height:100%; + width:100%; +} +iframe { + margin:0; + padding:0; + height:100%; + width:100%; + overflow-y:scroll; + border:none; +} +a:link, a:visited { + text-decoration:none; + color:#4A6782; +} +a[href]:hover, a[href]:focus { + text-decoration:none; + color:#bb7a2a; +} +a[name] { + color:#353833; +} +pre { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; +} +h1 { + font-size:20px; +} +h2 { + font-size:18px; +} +h3 { + font-size:16px; +} +h4 { + font-size:13px; +} +h5 { + font-size:12px; +} +h6 { + font-size:11px; +} +ul { + list-style-type:disc; +} +code, tt { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + padding-top:4px; + margin-top:8px; + line-height:1.4em; +} +dt code { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + padding-top:4px; +} +.summary-table dt code { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + vertical-align:top; + padding-top:4px; +} +sup { + font-size:8px; +} +button { + font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif; + font-size: 14px; +} +/* + * Styles for HTML generated by javadoc. + * + * These are style classes that are used by the standard doclet to generate HTML documentation. + */ + +/* + * Styles for document title and copyright. + */ +.clear { + clear:both; + height:0; + overflow:hidden; +} +.about-language { + float:right; + padding:0 21px 8px 8px; + font-size:11px; + margin-top:-9px; + height:2.9em; +} +.legal-copy { + margin-left:.5em; +} +.tab { + background-color:#0066FF; + color:#ffffff; + padding:8px; + width:5em; + font-weight:bold; +} +/* + * Styles for navigation bar. + */ +@media screen { + .flex-box { + position:fixed; + display:flex; + flex-direction:column; + height: 100%; + width: 100%; + } + .flex-header { + flex: 0 0 auto; + } + .flex-content { + flex: 1 1 auto; + overflow-y: auto; + } +} +.top-nav { + background-color:#4D7A97; + color:#FFFFFF; + float:left; + padding:0; + width:100%; + clear:right; + min-height:2.8em; + padding-top:10px; + overflow:hidden; + font-size:12px; +} +.sub-nav { + background-color:#dee3e9; + float:left; + width:100%; + overflow:hidden; + font-size:12px; +} +.sub-nav div { + clear:left; + float:left; + padding:0 0 5px 6px; + text-transform:uppercase; +} +.sub-nav .nav-list { + padding-top:5px; +} +ul.nav-list { + display:block; + margin:0 25px 0 0; + padding:0; +} +ul.sub-nav-list { + float:left; + margin:0 25px 0 0; + padding:0; +} +ul.nav-list li { + list-style:none; + float:left; + padding: 5px 6px; + text-transform:uppercase; +} +.sub-nav .nav-list-search { + float:right; + margin:0 0 0 0; + padding:5px 6px; + clear:none; +} +.nav-list-search label { + position:relative; + right:-16px; +} +ul.sub-nav-list li { + list-style:none; + float:left; + padding-top:10px; +} +.top-nav a:link, .top-nav a:active, .top-nav a:visited { + color:#FFFFFF; + text-decoration:none; + text-transform:uppercase; +} +.top-nav a:hover { + text-decoration:none; + color:#bb7a2a; + text-transform:uppercase; +} +.nav-bar-cell1-rev { + background-color:#F8981D; + color:#253441; + margin: auto 5px; +} +.skip-nav { + position:absolute; + top:auto; + left:-9999px; + overflow:hidden; +} +/* + * Hide navigation links and search box in print layout + */ +@media print { + ul.nav-list, div.sub-nav { + display:none; + } +} +/* + * Styles for page header and footer. + */ +.title { + color:#2c4557; + margin:10px 0; +} +.sub-title { + margin:5px 0 0 0; +} +.header ul { + margin:0 0 15px 0; + padding:0; +} +.header ul li, .footer ul li { + list-style:none; + font-size:13px; +} +/* + * Styles for headings. + */ +body.class-declaration-page .summary h2, +body.class-declaration-page .details h2, +body.class-use-page h2, +body.module-declaration-page .block-list h2 { + font-style: italic; + padding:0; + margin:15px 0; +} +body.class-declaration-page .summary h3, +body.class-declaration-page .details h3, +body.class-declaration-page .summary .inherited-list h2 { + background-color:#dee3e9; + border:1px solid #d0d9e0; + margin:0 0 6px -8px; + padding:7px 5px; +} +/* + * Styles for page layout containers. + */ +main { + clear:both; + padding:10px 20px; + position:relative; +} +dl.notes > dt { + font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif; + font-size:12px; + font-weight:bold; + margin:10px 0 0 0; + color:#4E4E4E; +} +dl.notes > dd { + margin:5px 0 10px 0; + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; +} +dl.name-value > dt { + margin-left:1px; + font-size:1.1em; + display:inline; + font-weight:bold; +} +dl.name-value > dd { + margin:0 0 0 1px; + font-size:1.1em; + display:inline; +} +/* + * Styles for lists. + */ +li.circle { + list-style:circle; +} +ul.horizontal li { + display:inline; + font-size:0.9em; +} +div.inheritance { + margin:0; + padding:0; +} +div.inheritance div.inheritance { + margin-left:2em; +} +ul.block-list, +ul.details-list, +ul.member-list, +ul.summary-list { + margin:10px 0 10px 0; + padding:0; +} +ul.block-list > li, +ul.details-list > li, +ul.member-list > li, +ul.summary-list > li { + list-style:none; + margin-bottom:15px; + line-height:1.4; +} +.summary-table dl, .summary-table dl dt, .summary-table dl dd { + margin-top:0; + margin-bottom:1px; +} +/* + * Styles for tables. + */ +.summary-table { + width:100%; + border-spacing:0; + border-left:1px solid #EEE; + border-right:1px solid #EEE; + border-bottom:1px solid #EEE; +} +.summary-table { + padding:0; +} +.caption { + position:relative; + text-align:left; + background-repeat:no-repeat; + color:#253441; + font-weight:bold; + clear:none; + overflow:hidden; + padding:0px; + padding-top:10px; + padding-left:1px; + margin:0px; + white-space:pre; +} +.caption a:link, .caption a:visited { + color:#1f389c; +} +.caption a:hover, +.caption a:active { + color:#FFFFFF; +} +.caption span { + white-space:nowrap; + padding-top:5px; + padding-left:12px; + padding-right:12px; + padding-bottom:7px; + display:inline-block; + float:left; + background-color:#F8981D; + border: none; + height:16px; +} + +div.table-tabs > button { + border: none; + cursor: pointer; + padding: 5px 12px 7px 12px; + font-weight: bold; + margin-right: 3px; +} +div.table-tabs > button.active-table-tab { + background: #F8981D; + color: #253441; +} +div.table-tabs > button.table-tab { + background: #4D7A97; + color: #FFFFFF; +} +.two-column-summary { + display: grid; + grid-template-columns: minmax(15%, max-content) minmax(15%, auto); +} +.three-column-summary { + display: grid; + grid-template-columns: minmax(10%, max-content) minmax(15%, max-content) minmax(15%, auto); +} +.four-column-summary { + display: grid; + grid-template-columns: minmax(10%, max-content) minmax(10%, max-content) minmax(10%, max-content) minmax(10%, auto); +} +@media screen and (max-width: 600px) { + .two-column-summary { + display: grid; + grid-template-columns: 1fr; + } +} +@media screen and (max-width: 800px) { + .three-column-summary { + display: grid; + grid-template-columns: minmax(10%, max-content) minmax(25%, auto); + } + .three-column-summary .col-last { + grid-column-end: span 2; + } +} +@media screen and (max-width: 1000px) { + .four-column-summary { + display: grid; + grid-template-columns: minmax(15%, max-content) minmax(15%, auto); + } +} +.summary-table > div { + text-align:left; + padding: 8px 3px 3px 7px; +} +.col-first, .col-second, .col-last, .col-constructor-name, .col-deprecated-item-name { + vertical-align:top; + padding-right:0; + padding-top:8px; + padding-bottom:3px; +} +.table-header { + background:#dee3e9; + font-weight: bold; +} +.col-first, .col-first { + font-size:13px; +} +.col-second, .col-second, .col-last, .col-constructor-name, .col-deprecated-item-name, .col-last { + font-size:13px; +} +.col-first, .col-second, .col-constructor-name { + vertical-align:top; + overflow: auto; +} +.col-last { + white-space:normal; +} +.col-first a:link, .col-first a:visited, +.col-second a:link, .col-second a:visited, +.col-first a:link, .col-first a:visited, +.col-second a:link, .col-second a:visited, +.col-constructor-name a:link, .col-constructor-name a:visited, +.col-deprecated-item-name a:link, .col-deprecated-item-name a:visited, +.constant-values-container a:link, .constant-values-container a:visited, +.all-classes-container a:link, .all-classes-container a:visited, +.all-packages-container a:link, .all-packages-container a:visited { + font-weight:bold; +} +.table-sub-heading-color { + background-color:#EEEEFF; +} +.even-row-color, .even-row-color .table-header { + background-color:#FFFFFF; +} +.odd-row-color, .odd-row-color .table-header { + background-color:#EEEEEF; +} +/* + * Styles for contents. + */ +.deprecated-content { + margin:0; + padding:10px 0; +} +div.block { + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; +} +.col-last div { + padding-top:0; +} +.col-last a { + padding-bottom:3px; +} +.module-signature, +.package-signature, +.type-signature, +.member-signature { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + margin:14px 0; + white-space: pre-wrap; +} +.module-signature, +.package-signature, +.type-signature { + margin-top: 0; +} +.member-signature .type-parameters-long, +.member-signature .parameters, +.member-signature .exceptions { + display: inline-block; + vertical-align: top; + white-space: pre; +} +.member-signature .type-parameters { + white-space: normal; +} +/* + * Styles for formatting effect. + */ +.source-line-no { + color:green; + padding:0 30px 0 0; +} +h1.hidden { + visibility:hidden; + overflow:hidden; + font-size:10px; +} +.block { + display:block; + margin:0 10px 5px 0; + color:#474747; +} +.deprecated-label, .descfrm-type-label, .implementation-label, .member-name-label, .member-name-link, +.module-label-in-package, .module-label-in-type, .override-specify-label, .package-label-in-type, +.package-hierarchy-label, .type-name-label, .type-name-link, .search-tag-link { + font-weight:bold; +} +.deprecation-comment, .help-footnote, .interface-name { + font-style:italic; +} +.deprecation-block { + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; + border-style:solid; + border-width:thin; + border-radius:10px; + padding:10px; + margin-bottom:10px; + margin-right:10px; + display:inline-block; +} +div.block div.deprecation-comment, div.block div.block span.emphasized-phrase, +div.block div.block span.interface-name { + font-style:normal; +} +/* + * Styles specific to HTML5 elements. + */ +main, nav, header, footer, section { + display:block; +} +/* + * Styles for javadoc search. + */ +.ui-autocomplete-category { + font-weight:bold; + font-size:15px; + padding:7px 0 7px 3px; + background-color:#4D7A97; + color:#FFFFFF; +} +.result-item { + font-size:13px; +} +.ui-autocomplete { + max-height:85%; + max-width:65%; + overflow-y:scroll; + overflow-x:scroll; + white-space:nowrap; + box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23); +} +ul.ui-autocomplete { + position:fixed; + z-index:999999; +} +ul.ui-autocomplete li { + float:left; + clear:both; + width:100%; +} +.result-highlight { + font-weight:bold; +} +#search { + background-image:url('resources/glass.png'); + background-size:13px; + background-repeat:no-repeat; + background-position:2px 3px; + padding-left:20px; + position:relative; + right:-18px; + width:400px; +} +#reset { + background-color: rgb(255,255,255); + background-image:url('resources/x.png'); + background-position:center; + background-repeat:no-repeat; + background-size:12px; + border:0 none; + width:16px; + height:16px; + position:relative; + left:-4px; + top:-4px; + font-size:0px; +} +.watermark { + color:#545454; +} +.search-tag-desc-result { + font-style:italic; + font-size:11px; +} +.search-tag-holder-result { + font-style:italic; + font-size:12px; +} +.search-tag-result:target { + background-color:yellow; +} +.module-graph span { + display:none; + position:absolute; +} +.module-graph:hover span { + display:block; + margin: -100px 0 0 100px; + z-index: 1; +} +.inherited-list { + margin: 10px 0 10px 0; +} +section.description { + line-height: 1.4; +} +.summary section[class$="-summary"], .details section[class$="-details"], +.class-uses .detail, .serialized-class-details { + padding: 0px 20px 5px 10px; + border: 1px solid #ededed; + background-color: #f8f8f8; +} +.inherited-list, section[class$="-details"] .detail { + padding:0 0 5px 8px; + background-color:#ffffff; + border:none; +} +.vertical-separator { + padding: 0 5px; +} +ul.help-section-list { + margin: 0; +} +/* + * Indicator icon for external links. + */ +main a[href*="://"]::after { + content:""; + display:inline-block; + background-image:url('data:image/svg+xml; utf8, \ + \ + \ + '); + background-size:100% 100%; + width:7px; + height:7px; + margin-left:2px; + margin-bottom:4px; +} +main a[href*="://"]:hover::after, +main a[href*="://"]:focus::after { + background-image:url('data:image/svg+xml; utf8, \ + \ + \ + '); +} + +/* + * Styles for user-provided tables. + * + * borderless: + * No borders, vertical margins, styled caption. + * This style is provided for use with existing doc comments. + * In general, borderless tables should not be used for layout purposes. + * + * plain: + * Plain borders around table and cells, vertical margins, styled caption. + * Best for small tables or for complex tables for tables with cells that span + * rows and columns, when the "striped" style does not work well. + * + * striped: + * Borders around the table and vertical borders between cells, striped rows, + * vertical margins, styled caption. + * Best for tables that have a header row, and a body containing a series of simple rows. + */ + +table.borderless, +table.plain, +table.striped { + margin-top: 10px; + margin-bottom: 10px; +} +table.borderless > caption, +table.plain > caption, +table.striped > caption { + font-weight: bold; + font-size: smaller; +} +table.borderless th, table.borderless td, +table.plain th, table.plain td, +table.striped th, table.striped td { + padding: 2px 5px; +} +table.borderless, +table.borderless > thead > tr > th, table.borderless > tbody > tr > th, table.borderless > tr > th, +table.borderless > thead > tr > td, table.borderless > tbody > tr > td, table.borderless > tr > td { + border: none; +} +table.borderless > thead > tr, table.borderless > tbody > tr, table.borderless > tr { + background-color: transparent; +} +table.plain { + border-collapse: collapse; + border: 1px solid black; +} +table.plain > thead > tr, table.plain > tbody tr, table.plain > tr { + background-color: transparent; +} +table.plain > thead > tr > th, table.plain > tbody > tr > th, table.plain > tr > th, +table.plain > thead > tr > td, table.plain > tbody > tr > td, table.plain > tr > td { + border: 1px solid black; +} +table.striped { + border-collapse: collapse; + border: 1px solid black; +} +table.striped > thead { + background-color: #E3E3E3; +} +table.striped > thead > tr > th, table.striped > thead > tr > td { + border: 1px solid black; +} +table.striped > tbody > tr:nth-child(even) { + background-color: #EEE +} +table.striped > tbody > tr:nth-child(odd) { + background-color: #FFF +} +table.striped > tbody > tr > th, table.striped > tbody > tr > td { + border-left: 1px solid black; + border-right: 1px solid black; +} +table.striped > tbody > tr > th { + font-weight: normal; +} +/** + * Tweak font sizes and paddings for small screens. + */ +@media screen and (max-width: 1050px) { + #search { + width: 300px; + } +} +@media screen and (max-width: 800px) { + #search { + width: 200px; + } + .top-nav, + .bottom-nav { + font-size: 11px; + padding-top: 6px; + } + .sub-nav { + font-size: 11px; + } + .about-language { + padding-right: 16px; + } + ul.nav-list li, + .sub-nav .nav-list-search { + padding: 6px; + } + ul.sub-nav-list li { + padding-top: 5px; + } + main { + padding: 10px; + } + .summary section[class$="-summary"], .details section[class$="-details"], + .class-uses .detail, .serialized-class-details { + padding: 0 8px 5px 8px; + } + body { + -webkit-text-size-adjust: none; + } +} +@media screen and (max-width: 500px) { + #search { + width: 150px; + } + .top-nav, + .bottom-nav { + font-size: 10px; + } + .sub-nav { + font-size: 10px; + } + .about-language { + font-size: 10px; + padding-right: 12px; + } +} diff --git a/doc/tag-search-index.js b/doc/tag-search-index.js new file mode 100644 index 0000000..0367dae --- /dev/null +++ b/doc/tag-search-index.js @@ -0,0 +1 @@ +tagSearchIndex = [];updateSearchResults(); \ No newline at end of file diff --git a/doc/type-search-index.js b/doc/type-search-index.js new file mode 100644 index 0000000..5a40996 --- /dev/null +++ b/doc/type-search-index.js @@ -0,0 +1 @@ +typeSearchIndex = [{"l":"All Classes","u":"allclasses-index.html"},{"p":"com.company","l":"Joueur"},{"p":"com.company","l":"Main"},{"p":"com.company","l":"RegleDuJeu"},{"p":"com.company","l":"Score"}];updateSearchResults(); \ No newline at end of file diff --git a/resources/glass.png b/resources/glass.png new file mode 100644 index 0000000000000000000000000000000000000000..a7f591f467a1c0c949bbc510156a0c1afb860a6e GIT binary patch literal 499 zcmVJoRsvExf%rEN>jUL}qZ_~k#FbE+Q;{`;0FZwVNX2n-^JoI; zP;4#$8DIy*Yk-P>VN(DUKmPse7mx+ExD4O|;?E5D0Z5($mjO3`*anwQU^s{ZDK#Lz zj>~{qyaIx5K!t%=G&2IJNzg!ChRpyLkO7}Ry!QaotAHAMpbB3AF(}|_f!G-oI|uK6 z`id_dumai5K%C3Y$;tKS_iqMPHg<*|-@e`liWLAggVM!zAP#@l;=c>S03;{#04Z~5 zN_+ss=Yg6*hTr59mzMwZ@+l~q!+?ft!fF66AXT#wWavHt30bZWFCK%!BNk}LN?0Hg z1VF_nfs`Lm^DjYZ1(1uD0u4CSIr)XAaqW6IT{!St5~1{i=i}zAy76p%_|w8rh@@c0Axr!ns=D-X+|*sY6!@wacG9%)Qn*O zl0sa739kT-&_?#oVxXF6tOnqTD)cZ}2vi$`ZU8RLAlo8=_z#*P3xI~i!lEh+Pdu-L zx{d*wgjtXbnGX_Yf@Tc7Q3YhLhPvc8noGJs2DA~1DySiA&6V{5JzFt ojAY1KXm~va;tU{v7C?Xj0BHw!K;2aXV*mgE07*qoM6N<$f;4TDA^-pY literal 0 HcmV?d00001 diff --git a/script-dir/images/ui-bg_glass_55_fbf9ee_1x400.png b/script-dir/images/ui-bg_glass_55_fbf9ee_1x400.png new file mode 100644 index 0000000000000000000000000000000000000000..34abd18f32d3a55a297fdcf93409bd033ae573e7 GIT binary patch literal 335 zcmeAS@N?(olHy`uVBq!ia0vp^j6gI&fCnc6a#?2AmP!?*K(O3p^r= zfwTu0yPeFo12TF&T^vI^j=w#x$i?I+((tf;UXnmgbH|3oY>pC!)f}(GR!16S-u+#{ ze6YEqRkW=8vGl=5qArKM<9}TC-}iEvB{zdaTcX5$wyRTK&ALRXUCGx5b?-VBQkUm|IuXOmYJrBRJgj{Vx zMbNnqUkncy+qa2-mWYc>swkcIuvGK#>(0d)B7)5f`@$Ei28nH~0h*~=;u=wsl30>z zm0Xkxq!^403@vmGjdTsnLJUl-Obo4zO|=aStPBhe<(7X!(U6;;l9^VCTf=69^L{`L N44$rjF6*2UngDu&PXPb` literal 0 HcmV?d00001 diff --git a/script-dir/images/ui-bg_glass_75_e6e6e6_1x400.png b/script-dir/images/ui-bg_glass_75_e6e6e6_1x400.png new file mode 100644 index 0000000000000000000000000000000000000000..a90afb8bf8028404d206114965669b023dcb85ea GIT binary patch literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^j6gI&0LWmFTHNUZq?nSt-Ch3w7g=q17Rci)@Q5r1 z(jH*!b~4)z#PD=+46!(!TrvH)L6@80)r*_cdCvDr%)6ghVL16=s@mbz7H!uRdGeDa z?kzLg)16i!f8fKx84s0>4hES%`s&m5HI1v5B^Uft7(lid2moiiX_$l+3hB+!{pPkNg5^ OVDNPHb6Mw<&;$T*0!_~V literal 0 HcmV?d00001 diff --git a/script-dir/images/ui-bg_glass_95_fef1ec_1x400.png b/script-dir/images/ui-bg_glass_95_fef1ec_1x400.png new file mode 100644 index 0000000000000000000000000000000000000000..dbe091f6dc036fc1dc11b005738e951e27a43f7a GIT binary patch literal 332 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�_j6WK+Gj+xJRxVvl#lh7y-4uY);t)n47k4ot z9YsU`HVk7fg4;r{;)FHk7ZHyZJ+W|$aKwj=g&_$VCVFn5%XzSA`|z}+4ItZ|`hB}R z>h-6Be`d>nmv8;kQHJg!HMr^cCGG=T5;3HhZ_JRq0_4a3TsY7Pz{V+}z>;!R^U4*c zJ>wRI59B-)92Vi?b&EWvH(`<(G5A?W)z>EuDMG@VENAb7aHa`I#tKw{0uUc3(#J8& z*_S%A_ZxCIY385{%qN-b1K)TWmCjUA4nWKx_ZnKLSvEf0($&_0@DS~ zN8JOXJXXcaFm^OCYrz(R7N5DQkXKGnnt}yzfw^8s%=A?7hxza;ylJ;XQ&XtC`pM%b z6$5Ff0{(ALcSlTKvIbr@mR`0Z)*iM`2EfO|E5OMk$jQsE!^mat*drqV literal 0 HcmV?d00001 diff --git a/script-dir/images/ui-icons_2e83ff_256x240.png b/script-dir/images/ui-icons_2e83ff_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..1f5f49756ca64bd20a1048bd7a3a584457d4bf00 GIT binary patch literal 4549 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 literal 0 HcmV?d00001 diff --git a/script-dir/images/ui-icons_888888_256x240.png b/script-dir/images/ui-icons_888888_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..ee5e33f27235d1b5cf0259f63f3894a6be33c679 GIT binary patch literal 6999 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 literal 0 HcmV?d00001 diff --git a/script-dir/images/ui-icons_cd0a0a_256x240.png b/script-dir/images/ui-icons_cd0a0a_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..7e8ebc180a2d2a74739059799407b8b7b57a9092 GIT binary patch literal 4549 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 Mq_Ix57W&cu0AIB!=l}o! literal 0 HcmV?d00001 diff --git a/script-dir/jquery-3.5.1.min.js b/script-dir/jquery-3.5.1.min.js new file mode 100644 index 0000000..b061403 --- /dev/null +++ b/script-dir/jquery-3.5.1.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.5.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.5.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,j=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
      "],col:[2,"","
      "],tr:[2,"","
      "],td:[3,"","
      "],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function qe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="
      ",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=$e(y.pixelPosition,function(e,t){if(t)return t=Be(e,n),Me.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0a;a++)for(s in o[a])n=o[a][s],o[a].hasOwnProperty(s)&&void 0!==n&&(e[s]=t.isPlainObject(n)?t.isPlainObject(e[s])?t.widget.extend({},e[s],n):t.widget.extend({},n):n);return e},t.widget.bridge=function(e,s){var n=s.prototype.widgetFullName||e;t.fn[e]=function(o){var a="string"==typeof o,r=i.call(arguments,1),l=this;return a?this.length||"instance"!==o?this.each(function(){var i,s=t.data(this,n);return"instance"===o?(l=s,!1):s?t.isFunction(s[o])&&"_"!==o.charAt(0)?(i=s[o].apply(s,r),i!==s&&void 0!==i?(l=i&&i.jquery?l.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+o+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+o+"'")}):l=void 0:(r.length&&(o=t.widget.extend.apply(null,[o].concat(r))),this.each(function(){var e=t.data(this,n);e?(e.option(o||{}),e._init&&e._init()):t.data(this,n,new s(o,this))})),l}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"
      ",options:{classes:{},disabled:!1,create:null},_createWidget:function(i,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=e++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),i),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var l=s.match(/^([\w:-]*)\s*(.*)$/),h=l[1]+o.eventNamespace,c=l[2];c?n.on(h,c,r):i.on(h,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,function(){function e(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)]}function i(e,i){return parseInt(t.css(e,i),10)||0}function s(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}var n,o=Math.max,a=Math.abs,r=/left|center|right/,l=/top|center|bottom/,h=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,u=/%$/,d=t.fn.position;t.position={scrollbarWidth:function(){if(void 0!==n)return n;var e,i,s=t("
      "),o=s.children()[0];return t("body").append(s),e=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,e===i&&(i=s[0].clientWidth),s.remove(),n=e-i},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.widthi?"left":e>0?"right":"center",vertical:0>r?"top":s>0?"bottom":"middle"};h>p&&p>a(e+i)&&(u.horizontal="center"),c>f&&f>a(s+r)&&(u.vertical="middle"),u.important=o(a(e),a(i))>o(a(s),a(r))?"horizontal":"vertical",n.using.call(this,t,u)}),l.offset(t.extend(D,{using:r}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,l=n-r,h=r+e.collisionWidth-a-n;e.collisionWidth>a?l>0&&0>=h?(i=t.left+l+e.collisionWidth-a-n,t.left+=l-i):t.left=h>0&&0>=l?n:l>h?n+a-e.collisionWidth:n:l>0?t.left+=l:h>0?t.left-=h:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,l=n-r,h=r+e.collisionHeight-a-n;e.collisionHeight>a?l>0&&0>=h?(i=t.top+l+e.collisionHeight-a-n,t.top+=l-i):t.top=h>0&&0>=l?n:l>h?n+a-e.collisionHeight:n:l>0?t.top+=l:h>0?t.top-=h:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,r=n.width,l=n.isWindow?n.scrollLeft:n.offset.left,h=t.left-e.collisionPosition.marginLeft,c=h-l,u=h+e.collisionWidth-r-l,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-r-o,(0>i||a(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-l,(s>0||u>a(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,r=n.height,l=n.isWindow?n.scrollTop:n.offset.top,h=t.top-e.collisionPosition.marginTop,c=h-l,u=h+e.collisionHeight-r-l,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,g=-2*e.offset[1];0>c?(s=t.top+p+f+g+e.collisionHeight-r-o,(0>s||a(c)>s)&&(t.top+=p+f+g)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+g-l,(i>0||u>a(i))&&(t.top+=p+f+g))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position,t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.fn.extend({uniqueId:function(){var t=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.ui.safeActiveElement=function(t){var e;try{e=t.activeElement}catch(i){e=t.body}return e||(e=t.body),e.nodeName||(e=t.body),e},t.widget("ui.menu",{version:"1.12.1",defaultElement:"
        ",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(t){t.preventDefault()},"click .ui-menu-item":function(e){var i=t(e.target),s=t(t.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.select(e),e.isPropagationStopped()||(this.mouseHandled=!0),i.has(".ui-menu").length?this.expand(e):!this.element.is(":focus")&&s.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(e){if(!this.previousFilter){var i=t(e.target).closest(".ui-menu-item"),s=t(e.currentTarget);i[0]===s[0]&&(this._removeClass(s.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(e,s))}},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this.element.find(this.options.items).eq(0);e||this.focus(t,i)},blur:function(e){this._delay(function(){var i=!t.contains(this.element[0],t.ui.safeActiveElement(this.document[0]));i&&this.collapseAll(e)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){this._closeOnDocumentClick(t)&&this.collapseAll(t),this.mouseHandled=!1}})},_destroy:function(){var e=this.element.find(".ui-menu-item").removeAttr("role aria-disabled"),i=e.children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),i.children().each(function(){var e=t(this);e.data("ui-menu-submenu-caret")&&e.remove()})},_keydown:function(e){var i,s,n,o,a=!0;switch(e.keyCode){case t.ui.keyCode.PAGE_UP:this.previousPage(e);break;case t.ui.keyCode.PAGE_DOWN:this.nextPage(e);break;case t.ui.keyCode.HOME:this._move("first","first",e);break;case t.ui.keyCode.END:this._move("last","last",e);break;case t.ui.keyCode.UP:this.previous(e);break;case t.ui.keyCode.DOWN:this.next(e);break;case t.ui.keyCode.LEFT:this.collapse(e);break;case t.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(e);break;case t.ui.keyCode.ENTER:case t.ui.keyCode.SPACE:this._activate(e);break;case t.ui.keyCode.ESCAPE:this.collapse(e);break;default:a=!1,s=this.previousFilter||"",o=!1,n=e.keyCode>=96&&105>=e.keyCode?""+(e.keyCode-96):String.fromCharCode(e.keyCode),clearTimeout(this.filterTimer),n===s?o=!0:n=s+n,i=this._filterMenuItems(n),i=o&&-1!==i.index(this.active.next())?this.active.nextAll(".ui-menu-item"):i,i.length||(n=String.fromCharCode(e.keyCode),i=this._filterMenuItems(n)),i.length?(this.focus(e,i),this.previousFilter=n,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}a&&e.preventDefault()},_activate:function(t){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var e,i,s,n,o,a=this,r=this.options.icons.submenu,l=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),s=l.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var e=t(this),i=e.prev(),s=t("").data("ui-menu-submenu-caret",!0);a._addClass(s,"ui-menu-icon","ui-icon "+r),i.attr("aria-haspopup","true").prepend(s),e.attr("aria-labelledby",i.attr("id"))}),this._addClass(s,"ui-menu","ui-widget ui-widget-content ui-front"),e=l.add(this.element),i=e.find(this.options.items),i.not(".ui-menu-item").each(function(){var e=t(this);a._isDivider(e)&&a._addClass(e,"ui-menu-divider","ui-widget-content")}),n=i.not(".ui-menu-item, .ui-menu-divider"),o=n.children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(n,"ui-menu-item")._addClass(o,"ui-menu-item-wrapper"),i.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!t.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){if("icons"===t){var i=this.element.find(".ui-menu-icon");this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,e.submenu)}this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t+""),this._toggleClass(null,"ui-state-disabled",!!t)},focus:function(t,e){var i,s,n;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),s=this.active.children(".ui-menu-item-wrapper"),this._addClass(s,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),n=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(n,null,"ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),i=e.children(".ui-menu"),i.length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(e){var i,s,n,o,a,r;this._hasScroll()&&(i=parseFloat(t.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(t.css(this.activeMenu[0],"paddingTop"))||0,n=e.offset().top-this.activeMenu.offset().top-i-s,o=this.activeMenu.scrollTop(),a=this.activeMenu.height(),r=e.outerHeight(),0>n?this.activeMenu.scrollTop(o+n):n+r>a&&this.activeMenu.scrollTop(o+n-a+r))},blur:function(t,e){e||clearTimeout(this.timer),this.active&&(this._removeClass(this.active.children(".ui-menu-item-wrapper"),null,"ui-state-active"),this._trigger("blur",t,{item:this.active}),this.active=null)},_startOpening:function(t){clearTimeout(this.timer),"true"===t.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(t)},this.delay))},_open:function(e){var i=t.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(e.parents(".ui-menu")).hide().attr("aria-hidden","true"),e.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(e,i){clearTimeout(this.timer),this.timer=this._delay(function(){var s=i?this.element:t(e&&e.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(e),this._removeClass(s.find(".ui-state-active"),null,"ui-state-active"),this.activeMenu=s},this.delay)},_close:function(t){t||(t=this.active?this.active.parent():this.element),t.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false")},_closeOnDocumentClick:function(e){return!t(e.target).closest(".ui-menu").length},_isDivider:function(t){return!/[^\-\u2014\u2013\s]/.test(t.text())},collapse:function(t){var e=this.active&&this.active.parent().closest(".ui-menu-item",this.element);e&&e.length&&(this._close(),this.focus(t,e))},expand:function(t){var e=this.active&&this.active.children(".ui-menu ").find(this.options.items).first();e&&e.length&&(this._open(e.parent()),this._delay(function(){this.focus(t,e)}))},next:function(t){this._move("next","first",t)},previous:function(t){this._move("prev","last",t)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(t,e,i){var s;this.active&&(s="first"===t||"last"===t?this.active["first"===t?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[t+"All"](".ui-menu-item").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.find(this.options.items)[e]()),this.focus(i,s)},nextPage:function(e){var i,s,n;return this.active?(this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return i=t(this),0>i.offset().top-s-n}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items)[this.active?"last":"first"]())),void 0):(this.next(e),void 0)},previousPage:function(e){var i,s,n;return this.active?(this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return i=t(this),i.offset().top-s+n>0}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items).first())),void 0):(this.next(e),void 0)},_hasScroll:function(){return this.element.outerHeight()",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var e,i,s,n=this.element[0].nodeName.toLowerCase(),o="textarea"===n,a="input"===n;this.isMultiLine=o||!a&&this._isContentEditable(this.element),this.valueMethod=this.element[o||a?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(n){if(this.element.prop("readOnly"))return e=!0,s=!0,i=!0,void 0;e=!1,s=!1,i=!1;var o=t.ui.keyCode;switch(n.keyCode){case o.PAGE_UP:e=!0,this._move("previousPage",n);break;case o.PAGE_DOWN:e=!0,this._move("nextPage",n);break;case o.UP:e=!0,this._keyEvent("previous",n);break;case o.DOWN:e=!0,this._keyEvent("next",n);break;case o.ENTER:this.menu.active&&(e=!0,n.preventDefault(),this.menu.select(n));break;case o.TAB:this.menu.active&&this.menu.select(n);break;case o.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}},keypress:function(s){if(e)return e=!1,(!this.isMultiLine||this.menu.element.is(":visible"))&&s.preventDefault(),void 0;if(!i){var n=t.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s)}}},input:function(t){return s?(s=!1,t.preventDefault(),void 0):(this._searchTimeout(t),void 0)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){return this.cancelBlur?(delete this.cancelBlur,void 0):(clearTimeout(this.searching),this.close(t),this._change(t),void 0)}}),this._initSource(),this.menu=t("
          ").appendTo(this._appendTo()).menu({role:null}).hide().menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function(e){e.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,this.element[0]!==t.ui.safeActiveElement(this.document[0])&&this.element.trigger("focus")})},menufocus:function(e,i){var s,n;return this.isNewMenu&&(this.isNewMenu=!1,e.originalEvent&&/^mouse/.test(e.originalEvent.type))?(this.menu.blur(),this.document.one("mousemove",function(){t(e.target).trigger(e.originalEvent)}),void 0):(n=i.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",e,{item:n})&&e.originalEvent&&/^key/.test(e.originalEvent.type)&&this._value(n.value),s=i.item.attr("aria-label")||n.value,s&&t.trim(s).length&&(this.liveRegion.children().hide(),t("
          ").text(s).appendTo(this.liveRegion)),void 0)},menuselect:function(e,i){var s=i.item.data("ui-autocomplete-item"),n=this.previous;this.element[0]!==t.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=n,this._delay(function(){this.previous=n,this.selectedItem=s})),!1!==this._trigger("select",e,{item:s})&&this._value(s.value),this.term=this._value(),this.close(e),this.selectedItem=s}}),this.liveRegion=t("
          ",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(t,e){this._super(t,e),"source"===t&&this._initSource(),"appendTo"===t&&this.menu.element.appendTo(this._appendTo()),"disabled"===t&&e&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(e){var i=this.menu.element[0];return e.target===this.element[0]||e.target===i||t.contains(i,e.target)},_closeOnClickOutside:function(t){this._isEventTargetInWidget(t)||this.close()},_appendTo:function(){var e=this.options.appendTo;return e&&(e=e.jquery||e.nodeType?t(e):this.document.find(e).eq(0)),e&&e[0]||(e=this.element.closest(".ui-front, dialog")),e.length||(e=this.document[0].body),e},_initSource:function(){var e,i,s=this;t.isArray(this.options.source)?(e=this.options.source,this.source=function(i,s){s(t.ui.autocomplete.filter(e,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(e,n){s.xhr&&s.xhr.abort(),s.xhr=t.ajax({url:i,data:e,dataType:"json",success:function(t){n(t)},error:function(){n([])}})}):this.source=this.options.source},_searchTimeout:function(t){clearTimeout(this.searching),this.searching=this._delay(function(){var e=this.term===this._value(),i=this.menu.element.is(":visible"),s=t.altKey||t.ctrlKey||t.metaKey||t.shiftKey;(!e||e&&!i&&!s)&&(this.selectedItem=null,this.search(null,t))},this.options.delay)},search:function(t,e){return t=null!=t?t:this._value(),this.term=this._value(),t.length").append(t("
          ").text(i.label)).appendTo(e)},_move:function(t,e){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(t)||this.menu.isLastItem()&&/^next/.test(t)?(this.isMultiLine||this._value(this.term),this.menu.blur(),void 0):(this.menu[t](e),void 0):(this.search(null,e),void 0)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(t,e){(!this.isMultiLine||this.menu.element.is(":visible"))&&(this._move(t,e),e.preventDefault())},_isContentEditable:function(t){if(!t.length)return!1;var e=t.prop("contentEditable");return"inherit"===e?this._isContentEditable(t.parent()):"true"===e}}),t.extend(t.ui.autocomplete,{escapeRegex:function(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(e,i){var s=RegExp(t.ui.autocomplete.escapeRegex(i),"i");return t.grep(e,function(t){return s.test(t.label||t.value||t)})}}),t.widget("ui.autocomplete",t.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(t){return t+(t>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(e){var i;this._superApply(arguments),this.options.disabled||this.cancelSearch||(i=e&&e.length?this.options.messages.results(e.length):this.options.messages.noResults,this.liveRegion.children().hide(),t("
          ").text(i).appendTo(this.liveRegion))}}),t.ui.autocomplete}); \ No newline at end of file diff --git a/script-dir/jquery-ui.structure.min.css b/script-dir/jquery-ui.structure.min.css new file mode 100644 index 0000000..e880892 --- /dev/null +++ b/script-dir/jquery-ui.structure.min.css @@ -0,0 +1,5 @@ +/*! jQuery UI - v1.12.1 - 2018-12-06 +* http://jqueryui.com +* Copyright jQuery Foundation and other contributors; Licensed MIT */ + +.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:0}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{margin:0;cursor:pointer;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-item-wrapper{position:relative;padding:3px 1em 3px .4em}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0} \ No newline at end of file diff --git a/src/com/company/Joueur.java b/src/com/company/Joueur.java index f2ab170..ac9fc50 100644 --- a/src/com/company/Joueur.java +++ b/src/com/company/Joueur.java @@ -9,7 +9,13 @@ public class Joueur { // Fonction permettant de savoir si il y a encore des case librre autour du joueur public static boolean pasDeCase (int pi,int ti){ - + /** + * La méthode pasDeCase prend en paramètre deux entiers pi et ti et retourne un booléen gameOver. + * On initialise le booléen gameOver ainsi que 4 entiers : haut, bas, gauche et droite. + * On regarde si les cases autour de ti et pi sont libres. + * Si toutes les cases autour ne sont pas libre, on donne au booléen gameOver la valeur true. + * Sinon, la valeur reste à false. + */ boolean gameOver = false;// declare la variable qui va etre retourner int haut = ti--; // declaration des variable pour les case autour du joueur @@ -44,7 +50,13 @@ public static boolean pasDeCase (int pi,int ti){ // Fonction permettant de verifié si case est libre avec comme parametre les coordoné x et y du tab public static boolean verifCaseLibre(int fi, int gi){ - + /** + * Cette méthode vérifie si une case est libre. + * Elle prend en paramètres un entier fi et un entier gi. + * On crée d'abord un booléen caseLibre auquel on donne la valeur false. + * On regarde si la valeur de fi et gi se trouve dans le tableau puis on regarde si la case n'est pas déjà occupée. + * Si elle est vide, on passe la valeur de caseLibre à true. Sinon, elle reste à false. + */ boolean caseLibre = false; if((fi < 10 && gi >=0)&&(fi < 11 && gi >=0)){ String a = Main.grille[fi][gi]; // On range la valeur contenu dans le tab au coord x et y diff --git a/src/com/company/Main.java b/src/com/company/Main.java index be93c56..1dd00e4 100644 --- a/src/com/company/Main.java +++ b/src/com/company/Main.java @@ -4,6 +4,9 @@ public class Main { + /** + * Cette classe permet d'afficher le menu principal du jeu. + */ static Scanner sc = new Scanner(System.in); // Création du plateau de jeu avec grille un tableau en 2 dimensions de taille 11x10. static String[][] grille = new String[10][11]; @@ -15,6 +18,10 @@ public class Main { public static void menuJeu(){ + /** + * Cette méthode permet d'afficher le menu principal du Destruct Chess ainsi que d'intéragir avec celui-ci. + * Il ne prend pas de paramètre et ne retourne rien. + */ System.out.println(" DestroyChesss "); System.out.println(); System.out.println(); diff --git a/src/com/company/RegleDuJeu.java b/src/com/company/RegleDuJeu.java index 4b08852..748e374 100644 --- a/src/com/company/RegleDuJeu.java +++ b/src/com/company/RegleDuJeu.java @@ -3,6 +3,9 @@ import java.util.Scanner; public class RegleDuJeu { + /** + * Cette classe permet d'afficher les règles du jeu. + */ public static void main() { boolean retourMenu = false; diff --git a/src/com/company/Score.java b/src/com/company/Score.java index 2f238fd..b1d7b14 100644 --- a/src/com/company/Score.java +++ b/src/com/company/Score.java @@ -4,6 +4,9 @@ import java.util.Scanner; public class Score { + /** + * Cette classe permet d'afficher le tableau des scores. + */ public static void main() { boolean retourMenu = false; From f122ee0ab637dedfcdeea51ee922197f1559a1a7 Mon Sep 17 00:00:00 2001 From: Eddy Muz Date: Fri, 24 Sep 2021 12:22:14 +0200 Subject: [PATCH 16/17] Modif de derniere minute --- src/com/company/Joueur.java | 132 +++++++++++++++++++----------------- 1 file changed, 71 insertions(+), 61 deletions(-) diff --git a/src/com/company/Joueur.java b/src/com/company/Joueur.java index f2ab170..85e21e2 100644 --- a/src/com/company/Joueur.java +++ b/src/com/company/Joueur.java @@ -46,7 +46,7 @@ public static boolean pasDeCase (int pi,int ti){ public static boolean verifCaseLibre(int fi, int gi){ boolean caseLibre = false; - if((fi < 10 && gi >=0)&&(fi < 11 && gi >=0)){ + if((fi < 10 && fi >=0)&&(gi < 11 && gi >=0)){ String a = Main.grille[fi][gi]; // On range la valeur contenu dans le tab au coord x et y if (a.equals("[ ]")) { // On la compare avec le caractère qui défini une place vide dans le tab @@ -144,64 +144,74 @@ else if(premier == 1){ //On demande au joueur la direction dans laquelle il souhaite aller // puis on la stocke dans la variable direction. String direction =""; - if(joueur == true){ - System.out.println(pseudo1+" Dans quel direction voulez-vous aller ? ( H / B / G / D )"); - direction = Main.sc.next(); - } - else if(joueur == false){ - System.out.println(pseudo2+" Dans quel direction voulez-vous aller ? ( H / B / G / D )"); - direction = Main.sc.next(); - } - - //On vérifie que la réponse est bien une direction sinon on redemande au joueur la direction. - - while(!direction.equals("H") && !direction.equals("G") && !direction.equals("D") && !direction.equals("B")){ - System.out.println("Veuillez choisir une direction (H / B / G / D)"); - direction = Main.sc.next(); - } - - - - //On utilise un switch pour avancer le pion dans la direction souhaitée - // en prenant en compte quel joueur est actuellement en train de jouer. - - switch (direction) { - case "H": - - if (joueur == true && verifCaseLibre((pion1x-1),pion1y) == true) { // On verifie pour quel joueur c'est le tour et si la case chosit es libre - - pion1x--; - - } else if (joueur == false && verifCaseLibre((pion2x-1),pion2y) == true) { - - pion2x--; - } - break; - case "G": - if (joueur == true && verifCaseLibre(pion1x,(pion1y-1)) == true) { - pion1y--; - System.out.println("o"+pion1y); - } else if (joueur == false && verifCaseLibre(pion2x,(pion2y-1)) == true){ - pion2y--; - System.out.println("P"+pion2y); - } - break; - case "D": - if (joueur == true && verifCaseLibre(pion1x,(pion1y+1)) == true ) { - pion1y++; - } else if (joueur == false && verifCaseLibre(pion2x,(pion2y+1)) == true) { - pion2y++; - } - break; - case "B": - if (joueur == true&& verifCaseLibre((pion1x+1),pion1y ) == true) { - pion1x++; - } else if (joueur == false && verifCaseLibre((pion2x+1),pion2y) == true ){ - - pion2x++; - } - break; - } + boolean recoCaseL = false; + do { + + if (joueur == true) { + System.out.println(pseudo1 + " Dans quel direction voulez-vous aller ? ( H / B / G / D )"); + direction = Main.sc.next(); + } else if (joueur == false) { + System.out.println(pseudo2 + " Dans quel direction voulez-vous aller ? ( H / B / G / D )"); + direction = Main.sc.next(); + } + + //On vérifie que la réponse est bien une direction sinon on redemande au joueur la direction. + + while (!direction.equals("H") && !direction.equals("G") && !direction.equals("D") && !direction.equals("B")) { + System.out.println("Veuillez choisir une direction (H / B / G / D)"); + direction = Main.sc.next(); + } + + + //On utilise un switch pour avancer le pion dans la direction souhaitée + // en prenant en compte quel joueur est actuellement en train de jouer. + + switch (direction) { + case "H": + + if (joueur == true && verifCaseLibre((pion1x - 1), pion1y) == true) { // On verifie pour quel joueur c'est le tour et si la case chosit es libre + + pion1x--; + recoCaseL = true; + + } else if (joueur == false && verifCaseLibre((pion2x - 1), pion2y) == true) { + + pion2x--; + recoCaseL = true; + } + break; + case "G": + if (joueur == true && verifCaseLibre(pion1x, (pion1y - 1)) == true) { + pion1y--; + recoCaseL = true; + System.out.println("o" + pion1y); + } else if (joueur == false && verifCaseLibre(pion2x, (pion2y - 1)) == true) { + pion2y--; + recoCaseL = true; + System.out.println("P" + pion2y); + } + break; + case "D": + if (joueur == true && verifCaseLibre(pion1x, (pion1y + 1)) == true) { + pion1y++; + recoCaseL = true; + } else if (joueur == false && verifCaseLibre(pion2x, (pion2y + 1)) == true) { + pion2y++; + recoCaseL = true; + } + break; + case "B": + if (joueur == true && verifCaseLibre((pion1x + 1), pion1y) == true) { + pion1x++; + recoCaseL = true; + } else if (joueur == false && verifCaseLibre((pion2x + 1), pion2y) == true) { + + pion2x++; + recoCaseL = true; + } + break; + } + }while (recoCaseL == false); if(joueur == true){ pasDeCase(pion1x, pion1y); @@ -218,11 +228,11 @@ else if(joueur == false){ System.out.println("Rentrer une coordonné y : "); Main.corY = Main.sc.nextInt(); - if (Main.corX > 10 || Main.corX < 0 || Main.corY > 9 || Main.corY < 0) { + if (Main.corX > 10 || Main.corX < 0 || Main.corY > 11 || Main.corY < 0) { System.out.println("Entre incorrect"); } - } while (Main.corX > 10 || Main.corX < 0 || Main.corY > 9 || Main.corY < 0); + } while (Main.corX > 10 || Main.corX < 0 || Main.corY > 11 || Main.corY < 0); caseLibro = verifCaseLibre(Main.corX, Main.corY); From d562ce7312a1d8cc0a207401d565e231beaf8855 Mon Sep 17 00:00:00 2001 From: Killian Vendewinkele Date: Fri, 24 Sep 2021 12:22:23 +0200 Subject: [PATCH 17/17] Ajout de la javadoc --- src/com/company/Joueur.java | 30 ++++++++++++++++-------------- src/com/company/Main.java | 18 +++++++++--------- src/com/company/RegleDuJeu.java | 8 ++++---- src/com/company/Score.java | 7 +++---- 4 files changed, 32 insertions(+), 31 deletions(-) diff --git a/src/com/company/Joueur.java b/src/com/company/Joueur.java index ac9fc50..a4fabea 100644 --- a/src/com/company/Joueur.java +++ b/src/com/company/Joueur.java @@ -8,14 +8,15 @@ public class Joueur { static boolean caseLibro; // Fonction permettant de savoir si il y a encore des case librre autour du joueur + /** + * La méthode pasDeCase prend en paramètre deux entiers pi et ti et retourne un booléen gameOver. + * On initialise le booléen gameOver ainsi que 4 entiers : haut, bas, gauche et droite. + * On regarde si les cases autour de ti et pi sont libres. + * Si toutes les cases autour ne sont pas libre, on donne au booléen gameOver la valeur true. + * Sinon, la valeur reste à false. + */ public static boolean pasDeCase (int pi,int ti){ - /** - * La méthode pasDeCase prend en paramètre deux entiers pi et ti et retourne un booléen gameOver. - * On initialise le booléen gameOver ainsi que 4 entiers : haut, bas, gauche et droite. - * On regarde si les cases autour de ti et pi sont libres. - * Si toutes les cases autour ne sont pas libre, on donne au booléen gameOver la valeur true. - * Sinon, la valeur reste à false. - */ + boolean gameOver = false;// declare la variable qui va etre retourner int haut = ti--; // declaration des variable pour les case autour du joueur @@ -49,14 +50,15 @@ public static boolean pasDeCase (int pi,int ti){ } // Fonction permettant de verifié si case est libre avec comme parametre les coordoné x et y du tab + /** + * Cette méthode vérifie si une case est libre. + * Elle prend en paramètres un entier fi et un entier gi. + * On crée d'abord un booléen caseLibre auquel on donne la valeur false. + * On regarde si la valeur de fi et gi se trouve dans le tableau puis on regarde si la case n'est pas déjà occupée. + * Si elle est vide, on passe la valeur de caseLibre à true. Sinon, elle reste à false. + */ public static boolean verifCaseLibre(int fi, int gi){ - /** - * Cette méthode vérifie si une case est libre. - * Elle prend en paramètres un entier fi et un entier gi. - * On crée d'abord un booléen caseLibre auquel on donne la valeur false. - * On regarde si la valeur de fi et gi se trouve dans le tableau puis on regarde si la case n'est pas déjà occupée. - * Si elle est vide, on passe la valeur de caseLibre à true. Sinon, elle reste à false. - */ + boolean caseLibre = false; if((fi < 10 && gi >=0)&&(fi < 11 && gi >=0)){ String a = Main.grille[fi][gi]; // On range la valeur contenu dans le tab au coord x et y diff --git a/src/com/company/Main.java b/src/com/company/Main.java index 1dd00e4..616a66e 100644 --- a/src/com/company/Main.java +++ b/src/com/company/Main.java @@ -2,11 +2,11 @@ import java.util.Scanner; import java.util.*; - +/** + * Cette classe permet d'afficher le menu principal du jeu. + */ public class Main { - /** - * Cette classe permet d'afficher le menu principal du jeu. - */ + static Scanner sc = new Scanner(System.in); // Création du plateau de jeu avec grille un tableau en 2 dimensions de taille 11x10. static String[][] grille = new String[10][11]; @@ -16,12 +16,12 @@ public class Main { static String[] tableauScores = new String[10]; - + /** + * Cette méthode permet d'afficher le menu principal du Destruct Chess ainsi que d'intéragir avec celui-ci. + * Il ne prend pas de paramètre et ne retourne rien. + */ public static void menuJeu(){ - /** - * Cette méthode permet d'afficher le menu principal du Destruct Chess ainsi que d'intéragir avec celui-ci. - * Il ne prend pas de paramètre et ne retourne rien. - */ + System.out.println(" DestroyChesss "); System.out.println(); System.out.println(); diff --git a/src/com/company/RegleDuJeu.java b/src/com/company/RegleDuJeu.java index 748e374..0576673 100644 --- a/src/com/company/RegleDuJeu.java +++ b/src/com/company/RegleDuJeu.java @@ -1,11 +1,11 @@ package com.company; import java.util.Scanner; - +/** + * Cette classe permet d'afficher les règles du jeu. + */ public class RegleDuJeu { - /** - * Cette classe permet d'afficher les règles du jeu. - */ + public static void main() { boolean retourMenu = false; diff --git a/src/com/company/Score.java b/src/com/company/Score.java index b1d7b14..8a579e6 100644 --- a/src/com/company/Score.java +++ b/src/com/company/Score.java @@ -2,11 +2,10 @@ import com.company.Main; import java.util.Scanner; - +/** + * Cette classe permet d'afficher le tableau des scores. + */ public class Score { - /** - * Cette classe permet d'afficher le tableau des scores. - */ public static void main() { boolean retourMenu = false;