From c3f4512037cff4031300248c9109fea1ddca36a4 Mon Sep 17 00:00:00 2001 From: Felix Steghofer Date: Sun, 4 Dec 2022 01:45:18 +0100 Subject: [PATCH] fix java shit --- Reversi/make.sh | 2 ++ .../reversi/controller/MachineMoveThread$1.class | Bin 0 -> 790 bytes .../reversi/controller/MachineMoveThread$2.class | Bin 0 -> 712 bytes .../reversi/controller/MachineMoveThread.class | Bin 0 -> 1044 bytes .../controller}/MachineMoveThread.java | 0 .../reversi/controller/ReversiController$1.class | Bin 0 -> 760 bytes .../ReversiController$FieldListener.class | Bin 0 -> 1079 bytes .../ReversiController$NewGameListener.class | Bin 0 -> 821 bytes .../ReversiController$QuitGameListener.class | Bin 0 -> 832 bytes .../ReversiController$SwitchGameListener.class | Bin 0 -> 961 bytes .../ReversiController$SwitchLevelListener.class | Bin 0 -> 923 bytes .../ReversiController$UndoMoveListener.class | Bin 0 -> 632 bytes .../reversi/controller/ReversiController.class | Bin 0 -> 4041 bytes .../controller}/ReversiController.java | 0 Reversi/reversi/main/ReversiGame.class | Bin 0 -> 467 bytes Reversi/{ => reversi/main}/ReversiGame.java | 0 Reversi/reversi/model/Board.class | Bin 0 -> 572 bytes Reversi/{ => reversi/model}/Board.java | 0 Reversi/reversi/model/Field.class | Bin 0 -> 372 bytes Reversi/{ => reversi/model}/Field.java | 0 Reversi/reversi/model/GameNode.class | Bin 0 -> 2444 bytes Reversi/{ => reversi/model}/GameNode.java | 0 Reversi/reversi/model/GameTree.class | Bin 0 -> 1601 bytes Reversi/{ => reversi/model}/GameTree.java | 0 Reversi/reversi/model/IllegalMoveException.class | Bin 0 -> 857 bytes .../model}/IllegalMoveException.java | 0 Reversi/reversi/model/Player.class | Bin 0 -> 428 bytes Reversi/{ => reversi/model}/Player.java | 0 Reversi/reversi/model/Reversi.class | Bin 0 -> 6977 bytes Reversi/{ => reversi/model}/Reversi.java | 0 Reversi/reversi/view/ReversiField.class | Bin 0 -> 1520 bytes Reversi/{ => reversi/view}/ReversiField.java | 0 Reversi/reversi/view/ReversiPlayBoard.class | Bin 0 -> 1974 bytes Reversi/{ => reversi/view}/ReversiPlayBoard.java | 0 Reversi/reversi/view/ReversiView$1.class | Bin 0 -> 1205 bytes Reversi/reversi/view/ReversiView.class | Bin 0 -> 5668 bytes Reversi/{ => reversi/view}/ReversiView.java | 0 Reversi/run.sh | 3 +++ 38 files changed, 5 insertions(+) create mode 100755 Reversi/make.sh create mode 100644 Reversi/reversi/controller/MachineMoveThread$1.class create mode 100644 Reversi/reversi/controller/MachineMoveThread$2.class create mode 100644 Reversi/reversi/controller/MachineMoveThread.class rename Reversi/{ => reversi/controller}/MachineMoveThread.java (100%) create mode 100644 Reversi/reversi/controller/ReversiController$1.class create mode 100644 Reversi/reversi/controller/ReversiController$FieldListener.class create mode 100644 Reversi/reversi/controller/ReversiController$NewGameListener.class create mode 100644 Reversi/reversi/controller/ReversiController$QuitGameListener.class create mode 100644 Reversi/reversi/controller/ReversiController$SwitchGameListener.class create mode 100644 Reversi/reversi/controller/ReversiController$SwitchLevelListener.class create mode 100644 Reversi/reversi/controller/ReversiController$UndoMoveListener.class create mode 100644 Reversi/reversi/controller/ReversiController.class rename Reversi/{ => reversi/controller}/ReversiController.java (100%) create mode 100644 Reversi/reversi/main/ReversiGame.class rename Reversi/{ => reversi/main}/ReversiGame.java (100%) create mode 100644 Reversi/reversi/model/Board.class rename Reversi/{ => reversi/model}/Board.java (100%) create mode 100644 Reversi/reversi/model/Field.class rename Reversi/{ => reversi/model}/Field.java (100%) create mode 100644 Reversi/reversi/model/GameNode.class rename Reversi/{ => reversi/model}/GameNode.java (100%) create mode 100644 Reversi/reversi/model/GameTree.class rename Reversi/{ => reversi/model}/GameTree.java (100%) create mode 100644 Reversi/reversi/model/IllegalMoveException.class rename Reversi/{ => reversi/model}/IllegalMoveException.java (100%) create mode 100644 Reversi/reversi/model/Player.class rename Reversi/{ => reversi/model}/Player.java (100%) create mode 100644 Reversi/reversi/model/Reversi.class rename Reversi/{ => reversi/model}/Reversi.java (100%) create mode 100644 Reversi/reversi/view/ReversiField.class rename Reversi/{ => reversi/view}/ReversiField.java (100%) create mode 100644 Reversi/reversi/view/ReversiPlayBoard.class rename Reversi/{ => reversi/view}/ReversiPlayBoard.java (100%) create mode 100644 Reversi/reversi/view/ReversiView$1.class create mode 100644 Reversi/reversi/view/ReversiView.class rename Reversi/{ => reversi/view}/ReversiView.java (100%) create mode 100755 Reversi/run.sh diff --git a/Reversi/make.sh b/Reversi/make.sh new file mode 100755 index 0000000..f3ada0b --- /dev/null +++ b/Reversi/make.sh @@ -0,0 +1,2 @@ +#!/bin/sh +javac -cp . reversi/main/ReversiGame.java diff --git a/Reversi/reversi/controller/MachineMoveThread$1.class b/Reversi/reversi/controller/MachineMoveThread$1.class new file mode 100644 index 0000000000000000000000000000000000000000..8e3e77e6e9078400969feca5bbf0c21cee120151 GIT binary patch literal 790 zcma)4-%ry}6#nj3)~(brPyvAn;>2~R)#oWM1cC`ef}{_=b?pheq}-a`c7{KT1Tpc! zKfpiAcAhl)*FFJK9IWgnmzXK;?i|cMa_oeVj8YM<1`$GeiEt^|3m+jqMRAu zN+t6xfpXgmYN%tzM#IG{<^)=Ii6LMOC4CWCx=qRG{?WLkfX`jS`@qFR%nMANr7kNBCvRq!=I!AGsWjP%;_)*&vzvyF{jY}2dNhr+Q%+dvBr*? za?{ttRBPE!h)ZaH@&X&{0&|lV9TiH2qib)%`@acwy@08zlQwEglF#^6(y;b>ZC{cAdOvYnE6!?NauU0=DE4=m7;7r3AHAT zHQuKx1fD=N8fK?>%}V@D<0+#pKCQEE5T~>G6{7PE_62JK&-h|8=z;@()?zrw;bU|pd(p{S$G#>-5x!fz86p0i#;8y-uG=ikBR2&v-*ONYr#I{f?w D8&$md literal 0 HcmV?d00001 diff --git a/Reversi/reversi/controller/MachineMoveThread$2.class b/Reversi/reversi/controller/MachineMoveThread$2.class new file mode 100644 index 0000000000000000000000000000000000000000..23e2ebcc3719d89a64aa89973a6eecbc0350e28e GIT binary patch literal 712 zcma)4+fExX5Is)PY_eG(ghDC3ZQDSTRAMV$gLpx$sFY9%P~M%5l{MPflI=~u3yHQ; zANm3PDAX}fB2lSgC9gd*XU>`N`1jS%UjPp9u8tDQ0V)w5p~|ph#9SCFlT<5bbe;>7 z40)PKC5Cz~&N3tTq`k*bb(ys750o)@NJ>9M4fOzFga#sp<~g79BNmM)Dh#p zRMH(Vlsnx~9m`k=(2TH(7DM|X8Vr@W6ki#(?n?4@a&ptsh|c{Q9y4qn6*I2ljN91h zcqXlldF%?KLTunkfXxU`u|>GQs`qIa8s0S&*7B)fSnmuL{hT@@)wJIo1$fTTS_DoC zrT91}e7AE~;s5TLIH;#XJ)xA90gd3en2m)wyCEr?LNSD=x-hBuBt7rOKcm|9@|68i zrMb3L*HE}jPa?#A3bkWl-I2C*`_X5mggMN)wZc-gMDt>J2G(r)mqCxEM5}=pL^BJ$Go{Q;J~0JG6@P&5 zCW1y1e}F&AcxFpW41}-`bLY<7d+wZj?*94v>oslua2%u3ZcKI1D^bhIYlN9k{-%1Wnn7 z=&lEQ(i6y++wsYPz17NIQ>X(51~DYi)pX^Nz(glh`R&Lm_k3~|BN|2xj3Fm5b|of( ze0dxTj2F!gRIBP+&-pCFr0BSTTbLlV-GHIFs{>WNNdtFOfBNbd>@?gJm}^(Rt^>16 zItrLpJ)RLTi=8^xC9RoN9kaNvVa~t<6xkCc&aoXGxs+#Ht?y#jb7NOVe3|PvgF{(% zVi~g2#qx!cTMgfLc0HLOW?>m9VP2qj->J(t)Gv|tgH90^4A_chI&AnFmTpRKS;r!# z1s-28`(NM=;Y(tgRVuZ?@emj+b8I#n^<5e6sOJjwZ^usUu;P3=_x0_d5!U1@S6${V z4cdaD%uZ~|D6U9_!@d}=eP4zfo)bkf!Zb;yIQeO=oM7%!YU~orNk}Xx(<6`#y_f3u zpv_x9Ags~}G;96@{Z{D|!zajpP--p&w_?=R-1xFY73ab i3QRoZ4J)m1d6pzR=P{U&qD%#>a-ZeCK&!sRmiY(kn)I3g literal 0 HcmV?d00001 diff --git a/Reversi/MachineMoveThread.java b/Reversi/reversi/controller/MachineMoveThread.java similarity index 100% rename from Reversi/MachineMoveThread.java rename to Reversi/reversi/controller/MachineMoveThread.java diff --git a/Reversi/reversi/controller/ReversiController$1.class b/Reversi/reversi/controller/ReversiController$1.class new file mode 100644 index 0000000000000000000000000000000000000000..ba7abcce31508f7cfe3719d1218be2144c67887e GIT binary patch literal 760 zcma)4U2oGc6g_TB)27*03L9m7ENo>oMI!KAw3mu$NbQiesqb!UT2G0MY^VGMB=|E( z10){!0sJV$O~+aZB(zA$wU6&T=Q#KN{Pq0@fCEHT6j1a~3UC8uhJ7RE!dMxPwQ@!$ zi7@fWCDdCYtrrYsHfj_(ijNY? zkJ?L*|NGO#LAUDZ36*U0r4q+kIuhpWlB8%d#o(Xn%#6jM%z3x|Y1Xq`o~mD|aiT5x z8VEPjlK_vgPkneN%v){Jqb%iWpyx!m1AMuk+#&W;I&f1^b&5Z zun1|2Dqy$=RD3Kjc;9OAne64O8+X$b*Squ-WxEvwhN=I&bjEq*sq z6E!4Q5>1Ss{ZYo*g`yH-$R@ixvop`mJTvq2*Vpd=masU02%-l1ESy6>!-6k5!Vjcf z^W4z)97p)}=Ao)|tjVrO;nd4A2!$(rhW>Cz2HAOrnetiO7fr-4V8FC62#aCjCGT*X z?}j#gCXSBZCaDg|Z_|jA2qya)n_eSJtFB+-=xfp)cLWV!mqP zDy9rfTgc)X!`NxOEh`EcEDE#aHCvvm#Z)eT2&h;-)-M{kPB6W&|4vp{*u)I-778db z#0XF;8Ab`L=X02-P{)b6RzuEHC5ki_#y~Ioni8b!V`U^`O!e}t&rDVRe0;j-`w)reod@M zRn*kx$)=xEY!eUbA_!N#Kyke0Qu~)2P9Fvg@qeZQ85*n@%@|82)o9TzLTeE7V7N)r zl$HUrQ2YW`IDoOItg%3QKb^o^+Hc|Zkv&J07BE}b2ir%yiwkd%_=d4(!xIO%{B*C_ zMdk-)y2w?O$!r(13NfM)$8`kn5XXCJ@efGjBc|~QMSR8`vWkMGX}hZ(?%}>Z6L>(U MNdZKtv=0&a4Rr|}uK)l5 literal 0 HcmV?d00001 diff --git a/Reversi/reversi/controller/ReversiController$NewGameListener.class b/Reversi/reversi/controller/ReversiController$NewGameListener.class new file mode 100644 index 0000000000000000000000000000000000000000..12d45a7454a79aad289343af90c328ba05f75925 GIT binary patch literal 821 zcma)4-)j>=5dP-U=923*jX&C^{%WnU-bL_y(5Fa2f>j~JQl;;kbgf%1d$7B0@y`<4 z3O)#ezW7IpbC} zSUhL_$BR(gmu^cL>$X$zId8TR#Z!!tP!NZH0N;UB1bhIe!m~jw&`V@#*E^b>nfLa6I{df~pn-Z022vJG2Wey&Zb~s0 zQU#tLg<3}azL4I=Z>V{MRG*9jeV-3RD^Oa5LNa7@FHqI%49l%a6jp6yk+Wbsn1aJl z+~s5L^?A7CJ?iWVUz6gUAPjVaAysp?Z4@wVq3B=+rx*$eoxjlDnxq&ExgDXCU&Sz6 zbDy^UC6HYKa}G+em(>l_FjB(CJWg9!aBwDutCQqrC@CEc+uZL3p=d{AvDK4;cP*S_ zs2rJ6!$R%d^>q-1$31dull8{kW-yykm+G2sksQ}_)!)N5FJe4_|J9>yVT3zr!CL4*`8C)bv7CE4eRNEs=EK||xh_ysXH B(%=99 literal 0 HcmV?d00001 diff --git a/Reversi/reversi/controller/ReversiController$SwitchGameListener.class b/Reversi/reversi/controller/ReversiController$SwitchGameListener.class new file mode 100644 index 0000000000000000000000000000000000000000..603364b80ac9d35f9244bc91e12fc0329cd53c02 GIT binary patch literal 961 zcma)4(M}UV6g_uax^3B(TA@@CL9E!8%Hop`H6+-Gnp7m#@IGBey13mXyHgr}NS{p# zCO-H9`k*m>kMZudr4iAP&CZ=UbLX5pbI+GwpFRWF#QhXB#B{_BOd&yd;LBs_2exT> zuJS#{k-qtI2sO@-Qmbz(tMf#3Wz!Cnbfr&7sE!?!HVCWD%W%}wNFt>pZD1M(A$KT_ zh3N?QzU#UqAA&{;uG}Xqm75m|KMsqC$TBS@tT)fa z(TF46@_N1{x9yOyFuKFUXzL*zA-N+1_0$X46UH-_-PUkK5XgX#|J#XJW=AK%76IjQ zp{v>G8h_JRW%MquR-!eKuCAScsvn_$V3bhiF~Je|%3}r9QT`EPd;)k>9e@VNoZ{+m zcI_P&!rAyAVDS{oC&;`Jhj^%?MLK!JdH#+4_Z>C-z!rXDjgdIC+AQnUqRe|( Rk75=k$28ZYu}e0f{RWr``NseN literal 0 HcmV?d00001 diff --git a/Reversi/reversi/controller/ReversiController$SwitchLevelListener.class b/Reversi/reversi/controller/ReversiController$SwitchLevelListener.class new file mode 100644 index 0000000000000000000000000000000000000000..2e810ac7dacfb56d4d50a9539ee19fef5f4d4a7d GIT binary patch literal 923 zcma)4ZBNrs7(LGh>sBfZ2Sbqo;>31Cimx%5lIVhQW}*?Z@7;DCmvn8?-ZB1`3C@U# z;j=%=__UKP>S9Qf-rkevo}P2h`SJ7YJAhq0&LDxLhA9KnND-a{;#dTsv|GNX0^fB- zV80(i)e%xW=u6c)tTXP`WvGNF0zyh1%CNXY*sNcMq@p8@j0WAn3=Bf{$T@aw*YP^` z+vbsIDQ0{sJ*jpHNz-cRn8loitbuu4B`n9|PG8xq!c+G1mXf}=7kv{l9ia~VUeFSR z1=FhkO4jHP$>OIwH`qikk*DaEp+Zo@zL5kNxmn)O6g& zriMEPOjvB>LgOF*3YlukjXSlk-m#yM68SRbG`rkIU~zp{uktl%5(?(yLS?&Cqc Q=JAkMoyikiyhlj<0xXp7y#N3J literal 0 HcmV?d00001 diff --git a/Reversi/reversi/controller/ReversiController$UndoMoveListener.class b/Reversi/reversi/controller/ReversiController$UndoMoveListener.class new file mode 100644 index 0000000000000000000000000000000000000000..a9fb66e45176c31652fc2f99971ba0fd83deb7b2 GIT binary patch literal 632 zcma)3+e*Vg5IvjLrj4}3hZLjCKfhVrqqeh!IH8F1c z!q*jsM4@HlIX=0pVG1l;Iv`hO4?d~+SFU8La#lm2t7cUr+ zRoUVUxtcF{z1wMUb>=mK2=QXpW3Dcx>hKoBa-sIG@NP6jIU=)8Wmh%%o*xlR{c(FE z`cBK#d8qegNY>Z~f=sUlUKsL_%=>)~tk6-@U>F0-=cB{Ytqpp^m>_hLs@1p#tkU{D zSm_bwEukb&F+~}8r8te5e!oN6AT(XN1AD;8Pq!80Z!qzW1ZJtnz#Qh|oW%lVEB>3s GB8*QZ2%sDQ literal 0 HcmV?d00001 diff --git a/Reversi/reversi/controller/ReversiController.class b/Reversi/reversi/controller/ReversiController.class new file mode 100644 index 0000000000000000000000000000000000000000..7d45baa260a4a87d2de960387f710bda2ef8472f GIT binary patch literal 4041 zcmb7H3wso26@F)TVUo>2LM~ha4VR{Lb7@y7SR{c0fk0|PAR)nkP$#?7WMDJ1-JMN> z_ChU|TIoe=YpJc(s>BOwt7K9et@T#5-X4E}|D*D#@0ppsut|9+&y)Qw^L_7m&*eMk z@WFrIc^ANL{4?l|=o}17u1uJ{==Szij2xy&#dO-}2+K!5q3L0)a8lXnefYm~1je-NQ#o<2A zuCLKr4eM|ld3v-ItSW;DgmRt`| zgibZDio7Fsw!mq>h66q)!zn19H%?Z?K?U3LZn#-C*$|iw{#$VThB%1r1-qlL}Nb zdtf5%ob%Gg2^CK*UN}nfLq7Lh#M5HBukg7SU#qY5fL~^cwpfr{{oMYHhG+2{Rh=kL zZ3;FQ3|Zps1vIG3MSNAm*CZn?$vS$*k<|Bf4KLy)?j%ySWhhufGvtHkMv7vKmo;3* zE366WT$b^-IdE{P$riO@3a@H-O|ow|W3$Ah@VbU?d+UUq5*}}8_%6OjIMA#8c+2a@FNXB7FSh_F^hjKtg#`6r0JLj!>-D-ChfCEFRN3A)wa|Y13Amm zS(&`Fy9};|IWc=hE=VQfi(hJZM>Zo;u^7;U=9r~BxeT>$Ef46VS}&P5b`vv)?=}I=t}9?tk}7FL8Yo&q-e0H z`Mag5lwD(aV&+zPE~Sn)q(W?DLlI&Vx|F}{5IGA;U+0Z%vAmJJkvH;LdLy$E6wG_` zUm?mlyH@`GnmbQ>Ghm=~4od4h)RD*>Drcd2^RPFs<-B2}^%^&?p;pE@teQn5x0^=h zuwfP(TV3424;%T{=px2t`&&d;APw_oRPr~52pY+GEnC4B+{4~$H`>^tw6pHtg`;e# zR^T@UUUyJ0g|{jNHR2*(gp=kQY^f@+owN7w+d!3Ps8*O?x+#6DFeqi+M#_Ed0_I}7 zi%+$2T6+amt?e#$&7e-ca2gB5?P-6LNTCw?_mTb{%G`@JB;AbtBz}M_4x$r>xVj&| z6S@dp$2JuW)x6BEGoW^!mqnW+q}3%N=FvSuiyw0FX@A)-%cCy+;C&sE<#89E@s}rM zdCJ9Uf2qqd;UZZyN)!Jh0a`JF0n}j-o7l!|!4N4Av$Z)+HthETHdCC5p|*!R*Va_L zfp~b=IvK@#WM&Hb*?FW!)~=g_<>H|WA!X)&|GuE`_g^B?w@V{ofK#-|X}a|RI`}l5 zc#1Yjc($lPKl?zlUhQ z3~Jdr+{Th}Cnm8K)7Z(nF3yc0v{j{0Hr)Y*{hm_5h5&mHmAN<~v9)myU!KJ!&Mvul zzNkLxA`$6%O%4jyJ^~RN(~|-#9LiWc;vfwYm5v|Gwqo zJD1VoANoEA?F!cWs~^6ChIw2SNB;C}{A>m)Z8XboB~~G_T=E`)e`{CK9IZ?fz!Rv( z1+2o8e6SZ8`A;#Fo@a2qKu^EOO8F8TyzH4qMfgAH4{soM{$D51Wd}!bP&MH%y^p92 zF5WIm@xA*hL-#c-$Lk&vqe8a-$a^8Yk3Vs&;Q<{d8O_}!V6qtgnY%l=+s$nF7oO|q e_yNZuj(_ENlH=bv>Ky;h(d76Kj#qh)|NakkIv)!F literal 0 HcmV?d00001 diff --git a/Reversi/ReversiController.java b/Reversi/reversi/controller/ReversiController.java similarity index 100% rename from Reversi/ReversiController.java rename to Reversi/reversi/controller/ReversiController.java diff --git a/Reversi/reversi/main/ReversiGame.class b/Reversi/reversi/main/ReversiGame.class new file mode 100644 index 0000000000000000000000000000000000000000..d100408c4df039b1a68aeab0429e556b87bc0e94 GIT binary patch literal 467 zcmZ9IUrWMJ7{;HoEvIwp`lDIb5o*xt+VDoGn^BN4h^{s}*pa!xaq4I2;{=tE&CT(6y+#uKMiQ*j3XPr%%bk7kt5B^pi&_Tk}NBuV<5x%ex?qNHJ7zhDPhb z%Xb~5QpBTf+owSW$xIIUrBG()Z!I$9f#;zCx$c+15xN% zmV}>NrJ_uY?)NKiDuUtj-OA(Y(Ul@JO!8g-Q5|fw;<`nZk@U$^D>Cz+@ANF%2Q~UL zn%OB$meKx52d-K$REf0RVK_5d=ihULfsX(H literal 0 HcmV?d00001 diff --git a/Reversi/Board.java b/Reversi/reversi/model/Board.java similarity index 100% rename from Reversi/Board.java rename to Reversi/reversi/model/Board.java diff --git a/Reversi/reversi/model/Field.class b/Reversi/reversi/model/Field.class new file mode 100644 index 0000000000000000000000000000000000000000..82c66c766b02a2d3cb56bc4791453cf2d80fd9ba GIT binary patch literal 372 zcmZvX%}T>i6olvG*Q9AvTNSms=&sGeEZj;rLLnf!P`Xdji=?Cp#QwaL8^I#D@Bw@% zaT3IZ$b~sK!#9(2Kfm5T08DV?LW6F@@L<9cbQkd^4)eHp4DXVKN>>8wDl4+pM4*qx zGY5NcY`7j;@C5xzZB+G?h0AiT@^G4|d`_?`w*rZ3xZ}aENj)udfjNqz@l0S`lNb0m zS)p#%%S2TVagx*FKO%v9U#_cEO|#l^o7RhZF$~$LadC}@3p6*@bLwC_y3~DsUDmJS z^n*7@FxbHk&UR?O&=T~hJs8wu>Iod2qJsg0E%bj1&N+pI8N9-N{*76UIV9@;i?;uw LBL)r_*Kqg^HUctF literal 0 HcmV?d00001 diff --git a/Reversi/Field.java b/Reversi/reversi/model/Field.java similarity index 100% rename from Reversi/Field.java rename to Reversi/reversi/model/Field.java diff --git a/Reversi/reversi/model/GameNode.class b/Reversi/reversi/model/GameNode.class new file mode 100644 index 0000000000000000000000000000000000000000..d07c759b974875c6a7dffa688847e7029407d660 GIT binary patch literal 2444 zcmbtVT~ixX7=BJZ*bo*9B`qI?QlUb=Xej-#HEoJ5r9}hP(!zjNU6KWshNNx+tyS;p zomRclj>tuCxN%0EDPfcu$7?V27dZZpPAfiVcf&^jN5@IBd-Cpc-t)ZA`<%1C{`J$( z020Xi;euO%M}-#^0=2W+f)>kY+3DD|$yq&B5U4n3WQ{^Xz#R;YR>Fr$1%4G(Pz4T} z`hsrejo4f+t!H9av^jm4BLUA`Zh^N0$?bpvL(in+GD(e!eW(@i<_lVZ$c8fHbvtof z!G3{&#cIA_WMWApds|N@jeNn6I=E%311b)pLBN-qF*0dW&yrViw;6Fi(M___W`S6+ zY(<+}S+GPSG%A;CQPGOSR6j{BWjUqdG+wgFjo7S-wRoRZ@iOAX=8gL-hT%auf~yJ!RlF+a z9M~1b4x}=c+kSN^}I;&tnPDwmPTuB#Zq4S}jVx;d3I=Y}i;dxL|6 zviClWO5cnLT=`GFDPv#SAo0+sg7F%NXe`WF{o}cO)5- ztsF6?vsz(ZnyhD6&!5|iK|*%)lC@d)u|xXs{M@8&-q0p9%;n4L1;+)RV1Hu#tiP(4!6Qn!b+J5B)&Tk|Ay zcQ@1cxECyvta8f8WbE@Q_AklWrAqDmBe{7qr4JZVuj&$&V{-d(^ZR(L0v=v@%5mh9 z2ZD9yxoO>bWI^CvYphu@9!rc&GI9}aet_oiDnvN40wo+>L3MZyb>pk3UqRppJ{3su zdXP>4I=NOCDiK5t4~`~;8KYgDd_BzOVWc)3iLRot`w0T!A`XphW~s5(JBbRMBIDCM zfzr^O+3gOSig4Eo+BWCNR|jyO>m-Qh>EYm885eT>@DsFs$AL|>!U|p{l)HQb%EQrt zR)1dx9U^oJ)4M>Ga_CJ$XK;ZFOZi$krIa;L4!z}QZg9#hZadlUQy;0&S#k~((eVp> zNqg8e6#Wqqfk!yZ!EpgT8tyLQWQ4yjm*DMAF0cO?k;}NOhBQ+|ka!gtb;3X|mpO?H z<(cCZl-K5^|IUZoixIz;-M&69MWZ>jY?#&LI|Ro*)!i$vX@WqQvl&iorC_z~^^ literal 0 HcmV?d00001 diff --git a/Reversi/GameNode.java b/Reversi/reversi/model/GameNode.java similarity index 100% rename from Reversi/GameNode.java rename to Reversi/reversi/model/GameNode.java diff --git a/Reversi/reversi/model/GameTree.class b/Reversi/reversi/model/GameTree.class new file mode 100644 index 0000000000000000000000000000000000000000..dd333647f69d7cc0450e991abcc2f351a8e5038a GIT binary patch literal 1601 zcmZ`)TUQ%Z6#hq~vuB^Zzy0lfzBBXZzrXzs;2Nqi1Q0Y3k_aOr zFtA}gwoJ#WubKB&H&nGH5V>O4?bbDcU^Z7V5EU44)nny0ZF8$pQ;vDZ+EQg&24Vt3 zhu3Cp<DZ8B3}61)MV@TSCDI4jV%rs~SIT574-W(}9) zIfOLl`-{D}i1!S4pdx>sGU@zT*rjp@%x-vcwdM9BtimC%V`Ngy(JT zRY{FfAW=58)Z&PAr#B>S>RM64dYx)DO-sz+HYL;4L-Z=m=-@jNcQMD{CJ{PIq3ldY zfgfoWrOuEJ%j>>lJy9+xlyT3%eTk2C!NhSvY>(uYpFHxoElDin0U;0ULi4V@wyv7p z@}sYbc~2Oc@FxPEblHDT?1DDjzwO&)|THNM?PeN8i6ol|U_^E6c=&`$xV^7huM za+j@DhaSy+(UW(a^Q~?!SdaXb*ivKLt*TjDhs8BTE$d0Wzc@q12l)LEyz}hP3h@f# zb9%m@RUzddpOg7ri2O4cE6>og5)AI5x6nr4E)u^Wna}@>WTuT%p3%mcpO_)=CGR7| z0)~j1Ao?)Q(KCT02Jsah_%%-PDHs*jFhB04Mm*;jiSa!8p>+aj!1I|OV3NQ&UfDLr z%M-uig249}rSYM_A26mu`E)1~s*%>ttG_j)fX8SQ5!zV-;a^d&Zbnbs61c$M?Kjv{XG v2;Jm~nWn;LsI6Hjo|6sCd)*`vd5NTf{(lhX&w)*ijr6==Cju4$16chJyJ2n% literal 0 HcmV?d00001 diff --git a/Reversi/GameTree.java b/Reversi/reversi/model/GameTree.java similarity index 100% rename from Reversi/GameTree.java rename to Reversi/reversi/model/GameTree.java diff --git a/Reversi/reversi/model/IllegalMoveException.class b/Reversi/reversi/model/IllegalMoveException.class new file mode 100644 index 0000000000000000000000000000000000000000..d84f8cabbdbdcd5e07a7acfc38cdeadade2a282e GIT binary patch literal 857 zcmZuvT~8B16g|@xwk(UZ<)eIwSQT1|U85i-HN1c%5Gsv@`tdd`V_n$J)ZHnC#6O~c zz-M28XyOm>(Zt{3t553PTC}Jycjnx=Ip^Lp_tW?H9|5f3o{12`1|k-E(91Bf&kwon za#^zG_<26L+^b@I(mg6oX(V^h%y+;&q-bvCQS4juq+JV5<~0{OX=9x zqR!A?6T0ZBhVb+;!)$u1t3-Q_tmQNRrlN>3^gVXuo@)6s%O(;SGB9jm1fv&K+7#5G zc-iEx&oI(0uwB^~Rh`c~i(-tyJm-5-G%>CRBA0^n{THfL5WdfAV$I>Msxf3bvjy_2s@_miNS*I;?|j~}fdz(?Ck}<@J9b^| z3D@3mT~Xt1K^=B~ZOj)Q(U*flC3iR07}zGmz^anI=2Dlr+Y~+F-Ot}nzJ$L1}`s7DDx`VV>*}SPr(w#8Tt}~Cy2j6>=#H9cn#|e<0rWC7O@XV zJw3(s!b0{8H{P`=7b#A|pg4*Mk{H4m;c?7il0>JlNN9;(;|TwtYsf&>pp8V-q8{$H HDVBc%(DKz` literal 0 HcmV?d00001 diff --git a/Reversi/IllegalMoveException.java b/Reversi/reversi/model/IllegalMoveException.java similarity index 100% rename from Reversi/IllegalMoveException.java rename to Reversi/reversi/model/IllegalMoveException.java diff --git a/Reversi/reversi/model/Player.class b/Reversi/reversi/model/Player.class new file mode 100644 index 0000000000000000000000000000000000000000..9d9f58263c1e4f8484314cc091c4090dcefb48ee GIT binary patch literal 428 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 A_W%F@ literal 0 HcmV?d00001 diff --git a/Reversi/Reversi.java b/Reversi/reversi/model/Reversi.java similarity index 100% rename from Reversi/Reversi.java rename to Reversi/reversi/model/Reversi.java diff --git a/Reversi/reversi/view/ReversiField.class b/Reversi/reversi/view/ReversiField.class new file mode 100644 index 0000000000000000000000000000000000000000..85c7b8bc767faa158211d9702b16906f076a2cb8 GIT binary patch literal 1520 zcmZ`(O;a3I6g_WXreX3R8A3ia0#R|MN9ZJ&s38K$1OhlDgpX0qF14_Zo=5j>e=Vxb0z8PxW);bROqg{UJw>4o7GBSf{<0RMd{OV8=-Tf=2q9e z)%s{0b6VpCyvQnRCY(0j+B)HEdnPsh*L`^&$hP}625^?!UT-1PjMRHY<5h|6VC;Kd zIb0X)YZ_U>CL7{OjsF;@NllP{c?2`8;Rr_Uh;?4$LS)@b;|*N2a7p7$yrt0lERDM) zSS+`+Q#H{>?{wlaMlD>?cn3VP?x&3wDt?6ww_htRPbwVQV<1`}#S^${;hIJP*A+5P z<8}#RUu3?O<>)>J<9MNO0#h0{Fiq%P&-ZU_yHt;ro#7+Gxr|wjcV$;?3zOI7Oy@Li z;ud$~mdkUMt-2|C_0R;Ogn@k(sHz}zo&iM1)q&d@3!+=AW}-u8s=BFpu3r*SR)Xaj z_M&DLx(bz`9=btTa{Vond}RIJ_|yL5H-(c2B^0YOS0Ysf%2nZT(F@GYt<4ovTXI)? zdb$=vcXeaVt+s4A@RsIJWOD~38Rt_tME3UD>wkWGSIcfSG&OdokY228)mF`vCnYoc zuhy^}4kg$@(E%1tV-ZVGSf-Ugi7(|D%_+TTq`ab$!s6H?cQ>+m`#2^Uo5cJ4en9II z;}e3ipFr99$FOYs2Xr-&`Ho(NJFNGrF|i~K6rhs4vj-*ZmN|AKtHi;?>n$bXNwn-~|*5MKcd z^6hJ4@>@8Z5uTNyiIE3*iSU{KflEt?sHF=LB{^<9&mYa}Y-$K27{(;dk<#<{n71;d z=L=rSuW%6$c_}|+bP9=o5a!wbN5sSwp5dstmgF9+N1Vj0r6T7Tp`YMW&V}u>Ew)p3 xzKP-_!YF_97E4Tbx(bis_tvXPHJ^sHMq`jZdNlidyYYhCkg=s8G0?g$E~WC zDw`#)rxr}rDg_`j3~p}bT6=pM-%s839G5k&mon{8&>6sa1zoQ5S)S{ z$fGoXVPU(>aKod~N^uj%JDYJCp1tJ-Hlkn@FM5G_XNb`AZWOV_83xYEbThNb|HqHSqi26j!Rwf3=%i9uP`7t? zETJcbe4-pYq(mWzEJI&b*S2?Kwizp{yF8}G%H|#)77$AcmT`;7(^VU$sc&eN4gScc zBh9;Xm6|4RThu#LRH6`96s&^6lGGAmCjWy;m1S_l&LmC-)G~_0YYOh*O$M3p3R+d$ z(m8`a{y<#)7VZX+SFnM5gx^xv)1}#RRDV0%&g&*I42#w{C7)C$OpD9lT3{S?0bw7gmJzeFY!5)@@T4_iicJ1_j_i%9 zIv93p&8$`Vd`Yd?ZaY#LRJo<8dO^$>)3~>?$iP-f#H?vlZPl;~s$S!5qksJV=`VkO zMP233(i~#w%4r6_Q!8(AYeRL@)tR?R^fk58TzAzfCDrC4mgbNNpN_McK2p%-VY_91 z%zo`x`R)gz>0-mF>Md|4AJ_BBC{cub0hz%Z%qqq*!u7#tshVaHv4L>8Ku^e&N& z1~ok&0xUr`iL5^*>tM-HFckb1?YxenH zBF#oZ!7p(j-HeL=-Q@S^h@_(pj1?P56eH0(#_O2KH|^;LQboUClD@;sbzE~WbG(r* zO5J!Y)sb;9*E07kI9N=!Rt|38KlHJ$pM8GF==n*~?;!WB8{sZJ=O{*C5Pn>ssXl~D z^t+DB)W2778zWR&qd1_d`V4V=LDlw{?BCG7g9$Wn6*`^nhyNL7;0r)uz*7X+6O^A& z${5NpytJW05Pou=Y=#||<_1OhVL>#S9!!r%2OX?CC>%<}^Dme4pT|VQBmiiT1u;!T zuaRuiL~DvD%(x^%@IQr*dFWAr-VKvbUD0Ts(HED__X@NL2M^NpcrQKfKot-SA{XMb Q3@oAtOJw<&-hHtC1%mzWBLDyZ literal 0 HcmV?d00001 diff --git a/Reversi/ReversiPlayBoard.java b/Reversi/reversi/view/ReversiPlayBoard.java similarity index 100% rename from Reversi/ReversiPlayBoard.java rename to Reversi/reversi/view/ReversiPlayBoard.java diff --git a/Reversi/reversi/view/ReversiView$1.class b/Reversi/reversi/view/ReversiView$1.class new file mode 100644 index 0000000000000000000000000000000000000000..4d9e02f3883c903db17e2f44bf60f496291f0b06 GIT binary patch literal 1205 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