From 579a791d6c85b0d20487803b5f10790a61f2fdba Mon Sep 17 00:00:00 2001 From: Josh Ashton Date: Mon, 1 Apr 2024 11:24:00 -0600 Subject: [PATCH] fixed linux/macos run script. added additional cli options to create jar, and redirected compiled classes to new bin directory --- src/bin/App.class | Bin 0 -> 2593 bytes src/bin/gui/Board$1.class | Bin 0 -> 1480 bytes src/bin/gui/Board$2.class | Bin 0 -> 1669 bytes src/bin/gui/Board.class | Bin 0 -> 3173 bytes src/bin/gui/CellGUI.class | Bin 0 -> 4836 bytes src/bin/gui/ComboBox.class | Bin 0 -> 903 bytes src/bin/gui/FileChooser$Filter.class | Bin 0 -> 882 bytes src/bin/gui/FileChooser.class | Bin 0 -> 883 bytes src/bin/gui/Label.class | Bin 0 -> 739 bytes src/bin/gui/Nav.class | Bin 0 -> 6126 bytes src/bin/gui/Root.class | Bin 0 -> 624 bytes src/bin/gui/backend/Cell$List$Value.class | Bin 0 -> 593 bytes src/bin/gui/backend/Cell$List.class | Bin 0 -> 2427 bytes src/bin/gui/backend/Cell.class | Bin 0 -> 2203 bytes src/bin/gui/backend/Settings.class | Bin 0 -> 5620 bytes src/bin/gui/backend/SudokuChecker.class | Bin 0 -> 5720 bytes src/bin/gui/backend/Theme.class | Bin 0 -> 3614 bytes src/run.ps1 | 9 ++--- src/run.sh | 41 ++++++++++++++++------ src/sudoku.jar | Bin 0 -> 26064 bytes 20 files changed, 33 insertions(+), 17 deletions(-) create mode 100644 src/bin/App.class create mode 100644 src/bin/gui/Board$1.class create mode 100644 src/bin/gui/Board$2.class create mode 100644 src/bin/gui/Board.class create mode 100644 src/bin/gui/CellGUI.class create mode 100644 src/bin/gui/ComboBox.class create mode 100644 src/bin/gui/FileChooser$Filter.class create mode 100644 src/bin/gui/FileChooser.class create mode 100644 src/bin/gui/Label.class create mode 100644 src/bin/gui/Nav.class create mode 100644 src/bin/gui/Root.class create mode 100644 src/bin/gui/backend/Cell$List$Value.class create mode 100644 src/bin/gui/backend/Cell$List.class create mode 100644 src/bin/gui/backend/Cell.class create mode 100644 src/bin/gui/backend/Settings.class create mode 100644 src/bin/gui/backend/SudokuChecker.class create mode 100644 src/bin/gui/backend/Theme.class mode change 100644 => 100755 src/run.sh create mode 100644 src/sudoku.jar diff --git a/src/bin/App.class b/src/bin/App.class new file mode 100644 index 0000000000000000000000000000000000000000..d0657de31c1d9859c8592a4ca160004ed0e8966f GIT binary patch literal 2593 zcmaJ@`BxKH7`+35f%rhg1^33SCZUj4tX6T4;1(5$LS3pIk_V0?GjTEjwRW#v?7mmK z*xmMro>P13;Hl^M2lS8X>3uV!Bp%vx;LY2<@4N4QTmJs%uX_M?;@2kBX=uz=^7eQo ziU=BXGz#cw($Id+m@qD+%9ExwmfGL%7)8meTTIJzw`rIkcM!Qg4ub$F>aF{C4^ zVcuB9OpO@1acSjKS?RhwD@V}`p)|K>sE;RxnlT$~I_3zpV=lLLmP#75vW5kjnZ$de zygy%Hfs$`l7^t{X(y>s3t^^Jl6H#N*s0pL@UJ}dbgM_E`Uuo`PLw2VnNV;gyy-{Y8h;*KXyo~$vNmW2Xw$FNp`ifibI z&vYX|loaU1V;btpISor{^aS1sArN9W5i5whY{SV%(S^sA{wFl-{f|e_Wc7b61b})3 z*5gSH4I|2ohFQLZZDOYb7*nypVXwH#_EB)vY@q~|I(6(Ja9?}B4(MK;Dc>+v^5ot`iskB`z*_O22 z-b4_lwVOKjkmTz49yYDKJ(;$xvTIl_qjfg+3GBxK4GRfCp5It%77zBrQ^ta*1W{L?Wi&~EfjEl zO5hn~sEvkd#1!%~0?#U)I&~^lDvw75avfvKDL|C4uvBLdx&gr(^p<@-(a_shZZqxF0IQ|TnkkK9ZxdeB(9`EQwiBB) z-LtWrf*vb{*kc8PPmL0K%(VCy*1dS5JBpX_ijG$WUQ=iTWVOoawURPbuynl6OjSig zB~KJr@TRI6Z?V`tl#5}x_G|gu50SjfzHmRTui{;$;60{CRb(-LT*I^&!psY0Wk3yS z<#ay{J{I^yMTV*dLuT1z*filY7QL=q6kp()j_U$n;;UK~{pP~fBhOci0y{)a>p47f zPUe{ACz|jLi&a-wu3##A-wJ%^_ZqI5sA)UT2%ViFxI>lVh;)tyG24=L*{BX0rEnc7 z62B_uCj)O)2SE|= z0KI}1j^A_j8yYzS&L`WoDby$LqWSm~X5B_>(!)G1JB}y+L~H#N7Tv~Du48Jw)Wgat zJbD`m?sWM#!d-q6Q%K#$I<>+7bsjc^(}ai3NvhrEVb}028rARv$0VX0V+67SbFdQg zu?lP0;x=+Tg0(n>IMX?a68lq~>c1iM8>r_R=ub9!*h?T8B0uEeaFX^~J!Cx$D|073 zoDR1P4>GBFFz=vv2j!a(nLlu${RIy%-J;eWY+|#RpjL%z9R$Z761E;~q;d&15ZOj_ zv+eX?D_2{1Kh1GFS3A(hUhpF&bktqeF~J`;s)K}Jk5P>R+jSRLe7>geMyB&Ft{(4< zOyM05?{_MeJbW;$CS;A1-zgAqw1DCu8v=t^ge+M)N;ZaA3K?UeiLG?La^*7Rw9t># zz371Nw7_Fkw6~HzuR8Ka6IlYGFJGgNZtyMRbe*+$ulM&E^4LHj{G|AyPBv^n`C}K0qo#Lz!k-765 LqBMHbm;2>ky~KTW literal 0 HcmV?d00001 diff --git a/src/bin/gui/Board$1.class b/src/bin/gui/Board$1.class new file mode 100644 index 0000000000000000000000000000000000000000..b11d5a106ca408f517ae86dec9d8084afd4f0857 GIT binary patch literal 1480 zcma)6+j9$182_C#vQ4tl(9#xFG)PmV?w7bWQVmHNb(!&CW}7_|%XXLDle#>){3D)t z?o1mq9z1&R4|wok%;3Rg24jpF2H!aw4K;&@?D_8B@4MyExBCwO96&jW5Lz^Zb<9JA zAzrOn*&)~P%+yAPh&X5YsX-E#X5~5Q(W)bg7(?r%VW%qGwiy!2Bv16Alf_&NIuaV@ z>u5ugA$i`IG_tngRI^9N&-03)*t;#q5_=h1(*37mScrBF9Xb|aF+;a9H!h1TpX83n zmff1q3zB4rR=F6e3E?`*wHQSgx-~4(u~Z_8&H^QLKDQ|sH>2pmat*yYR$yhL$Ock| zaDacI!ar_QE^x=pN-Y)9g+3iAtR}cYEQUqtKMiF8Jy@$Fjedp>k6)^BUktmInqPEI zTaM{oR$$M_hyyy-VLiiwipLGXkMOG{%NN|?9>el}}nC34! zhTinwTmy)kb!?IIi2GcOx`LNolgpsnWR*z`I~bPD$*+3fM7T64U#&>)w~_asqF&}H zAVXWpa`2jaeTw=H~(YF~{G`bF`eJv?3#}Pb;k# z9h!dLHVC~>D;lEXVc3pPGAYjtpqH+b4p#o!uoErVMbuh(yHb)Fm;uYIn}L?OhxinU z7;^ND&=ee{*F9+QMDaBHBB1>xJ6$V`Jxqw^s;B-P-i zv8;|&4Tc`=4s^+}8FWrbLdu#(k|T{&P^dcAoNkcvsUuUzhP!B&86&q5m)3P`nv(cK z3ja1Fh<=JzJVPIzVK4L$4MG)>=yuFRe zJ1|>hw~9>NncJdIWH$6~v(IFfpEXMnCtKDU0N>gS8dLHw(D0RP4*s{tcW5-QFbWFi XFb>fhroW6498r=kl<18$@)G$2Ek8=e literal 0 HcmV?d00001 diff --git a/src/bin/gui/Board$2.class b/src/bin/gui/Board$2.class new file mode 100644 index 0000000000000000000000000000000000000000..b263b6276a0e0d4d81203445670ffcbf3c352b03 GIT binary patch literal 1669 zcmah}-BS}+6#pFvS+co6Kq3{P+9-f2Y$<&)s~0wKLtB-Fxr({GH!9cYpi))vo~N;YQGgb`2qc z4ulEO%D$Pp>lki%WRei}w@h#3I*W5H`HYTEL^S9EQ3yh8+o&2T%djh{hsAAK^4V?H zv`zmup*@i-M9_^M4KaaU^bsPhK!i?DTI?Xpgsvb#Mq1Y5<1DA>M_j{cfdRZn7zk1r zPyLjvO50B@%Yy~AA?Ow9^C`1sxIwl|1cNxMVMyQ{&Ns?wL?whu9G}n^WKn*MPL+(V;oMouFUF;V@zONF%)&> zu2YqPtCC+8xTfTqEB6f3_Lc0qzz0gEyRvFnX4&wijwwuQxFL|nhlEqdJgagI=8bFC zOz)mqF`0@`B9mlHgSaX1u_~fVAzpQS>8&s<)rMJtTi~{kM>zc!33=)Jrd{!vh&jw_ zxGRuRG5Svu(KKQPnfCd8-^pyr(oRs9rx;uixUbjdCE4*hjqR?MsVuN`#j4l#$F?jo_F@$lDu!Kq|fqNd5<&rhbN@uS(B<;CMWGB5N}h8OvaF9yh&>{}6<)K(Uzm ztMHE|#BUS^Yl^%Z=CzGieQf+E(Adw=4*5hV@i)vXJEF|{4&HtjV}Zms{8g@J_*Jg- zZ;w7UsQkZKoXxhHX7mW{&^X#3V@IGPbiG07aJ+_7w;JaooLRkE!~4(b^2@Q#A2Hm} z)sSrMCR)4H;m|Lbe9rbQ(MQj*UO&v#aOWAOIpV!^h`)>Jj=Ewg9-54IOxCcP4mbQb z%%ga?hQ}{j8I`Dp&t9PSgiQ^fH%>L2gc0zh2rVGabPXa(Lx|BioTZDnL?f7>%Sh7| z%+V;8D1l{~K%P=O?~~Z2DR?xE1G<6lDUBcKCSKAkUej&7p*#4U=3sK{UTD$3FhCkE kjB0;kDb~fE-VRdlz~VK;_k9<8futMX@~U$KR0H|>2ZHf#NB{r; literal 0 HcmV?d00001 diff --git a/src/bin/gui/Board.class b/src/bin/gui/Board.class new file mode 100644 index 0000000000000000000000000000000000000000..94b6029a28d2c25e40a7efb198142b3e23c84432 GIT binary patch literal 3173 zcma)8{c~JZ8Gg=w-R|b5*`(Q&G)ZYokz~_!A;kc08`?x$(k7vhG#Dz_o9r>!_GWL~ zy_=6JC>n&KD2M{B{!r>i)EN~VvSF-NodF#kXZ+C_{TKWPU@G-_@7+yyG0vFGo^$p+ z@8|P=oc+s(zrF$B7`|^Hps?e-wP2;JMK^UKpUn(g%TCdaK_O%!jEF+ya5k59`xU~S zLqlB?F>FKBKum7y6q-bODOFg^=4MhSPg^-{E3|bEZz%N@j#xQsM(5LA6H(M-yMYE1 zaWpDKXNuX>fMew|3aX&cGAx8CYx;uDWm03>b*Z?J7O5R3nvtMmGxSrT`Rv&m-a&2K zX#+bIT5D7kGtPzL;H;*`d}g zrljC5+gc&mDT%2^kBNgquba+m%hevPqULTB_n=oHP?%d0?UK1ZjpMoJc zpExt5&`^$9AR@uzy5GbD_yhqfXj@Oant;`NiYrXw&tVfs#Ghzh&p8YFm~9L7K@&%X zYUK62mCdo*>M>wqP-wBdUa;(JhTg~UDI7O&!o)+M6V27hsuTw86Uy;fJx3H0on1Ad zdE|5qr!Z__#Kb5bR%onNQxm1M8_Ne1(wg{8`xD?Z8O`MY|ZWO&vp^%-j^@L>?b-_TN0cN^RVlC$*hAC(%(a$M# zch=w}9O)WL1zz^6L_BLEi}M^6ep!t;#eyEr7F?avd4(QdTP5#RnCS(bb5k|!L~shW zi8-+F<5nh9bE~ko3dF6%eTU{vd>%9%qylNw>NL&GJ2{$7SNSpMRERPFToXksaIg`# zN1a6v&>^{4GO=8_U;?A`^b01wh^IJnroHLVRD+U-n+Sf%#Fs0A1J06!_!Sdhm3of& z?P1{Aayq=8+<#9DD|k-Q@w_)KB~jjupN9=BCk(t$BiI|mC455!Ut~r3$oqm_6C0`c zukpFn%o6_4pp#+aGz@2RdbBt61C<$U`4jkFSt{Bd9&PhS9hgfB31Wkj*u~@n4i|{7zPsaz&R*wOdLmb z!5z^OC;P}8%CUY2ZL3hw1?**=Z{xEVK|o$6o&xgRcsob1w{t9dJ7=l4a{zLW^05r# zn_R!eZyBD0-0w|ZhnkE>?n5^RZi*HUA?;awxomNc7DMEI;D1}}SwrgoF}u%$V1#Bz zY4%~7Jxy00!QB|6Gvl})XK3`>*k3l?!CldGIQcf3-sHjeKH?Fd;Q9*oa1~s}iD!WO z9s!~$sn&2vmiriYT4Lv?pPyr!82HZ2GP*2cI8Uc+?BL+oi5%MC;C9SYBj3TYg(LhX z&U7T{jakAcOE_7=>CJEBB|NsNe!G{Z1#HJ6e+?{Am``U})n5syKw9)QJ${)U^O%w_ zOL$TOkj%aZE5JB{huh-OYd9G^(k}bq>zJAp&bHq6UQw`)%xF)tr-YdjE|74D7d>O5 zP)@xiIFGFa)atEwR}|NhxES!N;2`RFUSS%Z#hrK#J$Rn=@B)VLBA=j_a279Pmb4u2 zTzrTBVC9BeZ=zn^grPn_{|AIGz)|#FKQi?Xeq))dNZHwI-6a(Ixh(dD#G&@yM5y;| zTrA;f5}&>bBeaT8uun34sDs{aaTiI1FQX+9xq`+DR|(Io;%Fj#1v?WFL9e3PySPgP z>f|D_ie1%rRq`GrPl|gH`-nIgvHOF4p+qPmQ1^usVII=$k=aD(TwkPvd-z)y;f< zh`3T@+2(V<50gYc&wQoJ6}*r2EA1A$j+Mz|_d34z(f0f&?_b4hW&XYF25Fw?bzGWE luH)+;VOMc7yiSGyF5?P!nUj}To8RNPiRTsW@^{JK{sSXg>3skI literal 0 HcmV?d00001 diff --git a/src/bin/gui/CellGUI.class b/src/bin/gui/CellGUI.class new file mode 100644 index 0000000000000000000000000000000000000000..d6c250ababb2714ea90d62a213f9bb417a54c5f7 GIT binary patch literal 4836 zcma)AX?RrC8GcV@l1U~f5V8Sgsj?=+GD0Y+1VKQd!LZa}M{6gUOBk5U&^r@0wb}~e zZWlp`v{JN9X{nW#Oi&iBwu)%6wXIg|YHRzWdmr0APfJVR@7$YNfcEK+x#ymH&iR)2 zd%y2H$?1PTeGVncXycxy1ZB^vJvE?gRpTQP;AnbCMOHA}(M z*tEijVuecC77TAm1sB-SNPBo&q9^5t4}K9-s!-V2*4DJ51Z5cF!%&TK3{xoW>WK#D zS+UrHH>D6w6Z zL}-h~2XF-~<L3^1h29#D{k50l(ks$z>kl@_93Z}LJwnQB5mMkW12DhC@__9pb>tx zxn#&i%#SVD>ccjT?YQau%3~mK{9a~lC7-GZ!Is+5?y$XW zE-O!$o#=@Zz>3@)o0o_sY{SF@8js;|@_^_u-2geWH0tR*M8u;5ex9 z+K_9-RP%pe1OpA_$9kJ|Sdo*s%HLs%Pu*TO#O?g($;NlZF zBKg|S^t!-CgKHTEG>+maC)u523JuQY^Rzmv#}5_JE@K<(+_)&b$(@%v+;$V9 zOcKi!Ag9rll8iESW<^f#_2HKa1!9vwl<2WLt@%-@@Y?N@lZ8|4>1A{r(0uZ8!nXps zXPA-q1v9cvo00wBjO;IFWJfe3I~hkvCpUBUS~Kz@U`FA2Vc})sMN(HcsaEV`0FX#^QhoOXE5Uu3KHPoU7C^n_B*WDOMTY1=^ z@nb&Y2H7CIs3z7mXuxnx!bnWVXteSIbrmirrp?588kY0!asyX7(88uQgI%bVbzvs% zCHfCy7VFw%2a^gN67luEkHNvl0d8xajer%!e)?Zx~dh zqz^hFAr*L62X+RZ1g}C8!e@-mM003(4;+2OKshL_`H4aUQ}Ie z-J`f9;1zDrlG=<7clN=@aORjY4keVGq$xeT9B(Fpw-Wem1bjO~a1%kinc&@GOdE&7 z;&V(E!A~)-h@m>i)9#!@mr_AGfS($?NOG*F?Skm!TJE}-7h`r8n%H$G;T~g`7X`(&)WY8BVispyBr;QSwbrKbDbC5m z-7@g!@K};Y$V^~z6px}xP-HQ7vnuQ%J0D`49>#d=Wsdg}q(^e&#qR6s9_#8Zp@Jsr zd{~@uNF)UoWNI-U=a-*hs(YlKqkvS%BhBY??hu!Lp271lMab4wBAxK`+i-0M<_NMw-@@SY1CK`GLxzyMS8D3O1PDS3=3cbuvA z4B7E4RG+{b$PM9y;wTI$6VHB;G5_A>9%xKq-I zOMbq0I()q#EH5%7r>OBI^5HZa@XIV3uOPrqHyLLJt!cl&lp$r3u)Gq}CL!lRP z2gI5gX*`m~=iS#Yr12$w6ug{;uViOjJH(k}IM+D)Dog1TQlmM2vTy+3NF(i;SzBIm z08{z3p?2yE811|`o2cmN+&N_&+o4q7xib=zYz(FoM6isN;tkZW?~cKnB+XmQ%(oGu zpKF%jP8A`@Qr)ad$RYk& z;A)!9Q8Wz~*=d|{hVN0(5BU3Gwir0VhQg=HDR3AnR0V1jTa^5fM!W$A#NWg+xcs#pDLYrheud;*fYyJ-COM~FL?~n z`iUnGpmSpV&$v{I)N1P*pB*V&?{nehBqjT4D%y&(H z*!7S62}82(dai6R#HzK^3{ptz$Z*^OXDB*j*X-K8FT(4aZ6PJqju=voke$zBD2TOM zJ6QxpX)BE-|A`N<|85 z9A&IC#6Lx#+%-ssn%LyHqkcXyk{1J^GTR(?Q6citj67exR;b2sA3HjBIUe94$=~=x zH5ws52JX-fE{(|K>@qiB9mx%K{*XC@hXb1{{oGSz%&2= literal 0 HcmV?d00001 diff --git a/src/bin/gui/FileChooser$Filter.class b/src/bin/gui/FileChooser$Filter.class new file mode 100644 index 0000000000000000000000000000000000000000..3d83038775a7d8e75ff8c93fcf9a73b0b5330bbc GIT binary patch literal 882 zcmZuvT~8B16g|^zyJcBmK|tk0Ye8(GQV|qQjY>+4O(7s$0JgAcAqB%k+C~OhhQguy!Tnf~ zCw|ziyz>L@9S9+LRCz^vdKHftvd{d`SI-%YVrkDp4nrm^8^f>}Y~7&Zi==?T>~gi^ z9&?7tVyTgw1unI2sfZY=7Dh22J+%&P1h#kz3b#x2~Yj{JS>22xjD68ffn$URjp z?dyBqu~EPRiSp&PA5mOHpArT8IoxHKYsDRL6z6y2)6;wCR4wf>q-&x>vm0ypA>WCQ+dO*fwgZYdO|A|^XV;BrxMT{+&bpq* zdx~LvpnqTjX=fN|Dc3t{y1haDDEYF@r5E`<<%^KPYKb`Vw8gr+hJnOY?FmC}hfDQZ zNM&M!1YHqJzSqN$Tnbz%xfXMAG32pCKbU?D!VHSEmgs99EQx29zk_|F0K+n^Swdg~ zE3{^4>o^oB<36prN>CSraBZazvyYKxxsQq5XB5iGrqjpt#7rM^XRs(Ee+D!C1!?2l zIH#gi!Z1S|z+*CV6AqqW0Z*|?SV5H#u#x@^GHcX$N&JlB_JDkrP^&X07QYf)7W{%# XJ)l?$Yj~L8Ivx>Pl(mF)qD%b+X_&ij literal 0 HcmV?d00001 diff --git a/src/bin/gui/FileChooser.class b/src/bin/gui/FileChooser.class new file mode 100644 index 0000000000000000000000000000000000000000..941d85f4a7c92a2c2f56c31a8d400ec3d344d477 GIT binary patch literal 883 zcmZ8fO>fgc5Pj>|aqGHH`jMn5O(CVUj+4f;APy8&LJ^2mNiRW>fK!?*#SrYu>+o^m z#4q8(nM*2x)E~fK;SX@4%-VrMEO~Z!=FQtTGyDD5*K+{(aod1`ln&K|hBU*<%if#b zJ6F8*{1f-^p*Q4>7eOF+$dJD0`CfFuuwb_&%Jl+Q0`@Ci12dS_VVIbM$zc8)W|$p% zB9cfUb1TpO&o*Eoqa$l#K?=y6jJ%lk@4ZXh7o(6%f~M$t!aE*vnY3hL894?`MDK^3 zA!SP;778X-q<>!UXmr})QAD)}8Cf-P1#1k;6p?g~ya9zC_&s7AFsSy^gkjypRb0Eo zb@-6?BQNmV!GJDO?PjH`V}l_-C3cfoBOV$kV^cQt265P}DNx)m3)?1aR1%p|Op?m5 zopkrl44zY{pNt@GO9CSf($R?JWLlojk4CSLdH7gXLX@4T*MHUSoyKP!b!zKW*BOjX zFbex|TN$!a!KCALIX#BCBQBygm$WoDv+4UhYz%us$T6l98C0i5??-+q&?Jy1>(J=~ zdDFD+I@L3<>KJ;vc7Bk$qvq7oC**25b?>g`6tywtKdS8W#SdqUMf&q!C`mz;>^gL^ z1tKkC4XfCo)kX<5irl36)Z(aefh;r~mW~-6JB$H8DM^t}W1^)HVMPZ_4s1q9n z6fKklEIcAqA0pp(WM7R4rHdd8^lL)H>6pAfl7>geOw@em_R6raWI+flV}(#2P6B^c zN}5pXm=Aq<^;Lxfzx!E@RnwHL3ap_@pihL#lvrMCza53TX>-0Vu#N_ynCRP)BIF&n zXJZ3TENlvFVVkh_A2XpoRQh8ajAeZLmNkcQGzkYhnd8niTG1$qGm%|^Jv=2WCrUqr z*Jh)dj;83T_%ng$MtNnf(p5Lw^m`z1cu&=iVl`DZ8Arf{N3dALjAy!;H?#jN|nSB{e;w#k-vLHLknK>c$xvc{KA~}BeYMIB^ z$lly2jzKu#=oRuAZrwZ1|3uz9xkK4Iy+g%IQTxsS!YSJZifp$~!Zwz$gH`OJ&YR7d x6V9kw91)}TJnsj}DITZTnYsHZUKqEM;%H7<&6E$A@Q_K4n9^Z_Gp5MF{|99HpdbJM literal 0 HcmV?d00001 diff --git a/src/bin/gui/Nav.class b/src/bin/gui/Nav.class new file mode 100644 index 0000000000000000000000000000000000000000..8ed673a7d360097ac3b7445e4e7dd06662fa955b GIT binary patch literal 6126 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 literal 0 HcmV?d00001 diff --git a/src/bin/gui/Root.class b/src/bin/gui/Root.class new file mode 100644 index 0000000000000000000000000000000000000000..d827603c5c17c09868426fcdb198dcc950b38909 GIT binary patch literal 624 zcmZuv$xZ@65Pi+!$k-r@2)KjWFeJ{&c)*ybi3dXrQR01&4vxZ1GBkppWujx^!4L4G zjMWHny;Q2Y>%CX?y5HVkUI84Uq9cT`h6qO#Qw-@F`_3L(y@BJlt<$>giVnlnzT-Ob zfFW#@FLg{Kra|YJ0cV(N_Z_QgU)>6~WnBm<3D{$pZVTDC7G1%RHOjT`O{3##3<=C? zNOGi*R{cbC?s<|SDnD_Ve^5H1<~Xuy)M!uMcZ7}{@)`;p3s_`G{ZUdQ3R(A^uI=9+ z(V%VL>$@#lmF800TJ}I%$6m+ttBQV^V+E@W@t%<1+cU=RZskP|MUIkEPJF2}#84`# z4UWwT)rseeiE_dCvD(D7YWb2Oa_qIpwAq^DinD&VDg1`r?9hpR;r0D1apI^VrmWgg z)1yd2A$m(jk*uUFM0pfj6t}6`rCQym%x5sO5%Rc-l3m?=VA9^%`5F)`WD10Avu+?>?{gD1v4-)jy59mil zch;w*Vqwmm!<}>PoY~K>_YVM9I8H%B%z$nojszh)5ew0Dggb8D4JL9J5E2)*YX_Hv zSgqbSk%Va=Wnlvrp*Rlh=0FUm(j7J1(s8O?+YhRJ;e?V9U#yTi>R8%B23dmc$`_U` zcmFxtV(HrN4XsYS&m!&lh#fLr+m*d=Hjv(<7&y#iZ)NZ_AKeR2%w!-vpJ4bh=tZ8D zKQvbZx0G<|VIF!zd2K5(Q(fsyMM6mSq#xYO{lGwxZPte;SRL1uUfU7AFMR`tg#3C_ zlnxKCLgIL$m{8$tG=2Dd)%pE9|sW@P-4t6 OQ$_(tj7hF4(7pjlUw1tK literal 0 HcmV?d00001 diff --git a/src/bin/gui/backend/Cell$List.class b/src/bin/gui/backend/Cell$List.class new file mode 100644 index 0000000000000000000000000000000000000000..820c9d6aaed05ebdefaa140b53b052577b223430 GIT binary patch literal 2427 zcmah~U2ha+6n@U`wzIoT+okk_c5PjtK)Y;r0g(?E6uMBUw5706tmUKA?MR32&NREz zhMJgop+CWBywNl!jR_ZGN=eWVz2U-Julxflek3O94I$L$on1hFlmv_%#G{RH0fBxn|57sk~udO`RUUX69T$^(~HY(0FymN{t)2Dbt=vWz2lOqu(mgCopLm6N0w>b>DXk8~GVCtzy;cs8fLgu3_cX z#zr0W*u;&J^^Pf!KDF7Xqe*T03&wS|-mIggyteEx*HIlWppEa138Dr%`?`iTyeNo1 z2R@8;Y*DPY(ynv;MAHluqFslM?Ov9)dEHfxJ9TuTOQ4lZcaVF6*nfnma4pB#r6Zy8 zu9{T>gpfo^!)_gWu=gqHvvVcaERc^g!_bZWUQsM3HB_{0H|rKnqmT|_pP*LB9kWU? zvoP(>CBxW{0~!wMID}UOo7VAT&eJMN-e%y=a%8XE3~Sj}(_O>$Y>dM?j({a^E*Mj0 z#<6pTd% zoa&7(^(L5eY<8SYFx4$@u_U>?X%q$FtTR*0nZ1_EEu>mHsZ^xPpjmQHI;y)PJ&xm+ z+@djE&b<`GIX02k)iF`!upL&#j=7U&EYAuh>#8vv#s$2oVMIwwz>X&;&9Y~mDKk~B zKw0fxBj-9rCj9a08dVI-s3#43B5#&D`Wx+9OtSDzGYM+pdqN?gof7%@qjm@f(tQ! z!l|FAdymhfoSq^}1^Hck5s^<2kAIE!k$ChrVu~a;HN`Wact#aZKAIQsVU%wgKF5yo z<|1lVxouN!HH+9r&jpMr)8=_>^;}oX1`;av5+fuCw17iuIgp^&Jv6Cd5%K6eHmK>q z!t(tU$H8v3MaM+9@*ZK@fib4{M455Q3@k$<`vxId@nMVju|on#N;US2hO`86N0Nu(BkP!HcD!b$b=%YN{Pf{C1_lk zE9$F^EBgGv@X&O0S?l-V8Qcd`dflHvFGIKQnu=#*X$xemTZsAVftWO=|&7xZJG z0)Cz}mBtE<&2tZp3XRHE1#VP?`NMx>1+R&{4jJOfJA;s%sn!tlXw!mv<2$=|5sD?%O z#g%mTqO;By^<>w(u)~)#>uR>1%1EMA z$`pxIic%?%6N$!1ZrN3+8&7B5Gb@)D-Tbse?-gpMifn}m=Zd#Bc|cquJulodmMn9! z6=25m(ke0;$+2@}!meOfQDm7B^(6S;7Co#=l*sFOuKc&^bRo5KnUplA?Z0wkET3Lh zuoIOGNmkla2v6l!@=NY$S~P~F%e&;2C{&+u3&jan94MH0Qz2U3r@HIfJ>^y^n|1Re z8K+Q?9yO%TsY3tC1`P5g0s)SETAcah?dZs6(vfYeBb!x6_C8}BNP;nruW)r52KK-GFJwHc(@4B4Xb|<1DwEH_)<9h(e0vex{VsAXx}8)FRGDdVqhent0SB{+I}Z z$m3;(4h;VW6IV#()2R+oBVd!JgQ<=(RVVwl3vD=tb{yx}gI9?-4BsPG zVweaj#iz*lh}+w1pX}?}PJ6YD(*UWht*o}km2__5a0S)Kb$jlhk;Qs;1C_X|2Y9FBm2r-CWGyE30(neY$cJ`|ttp`$HVTN9=%G z+NA)DU?eP7oTqoC+=IMU$-U=sZr#BhJC|8+D^Fswm!*8ocHtY#$ z-WKrrPQB0V)LXj6FZc$(ld{GZXyc#`X0Jka7AVf=$?69ejR znCc-8KGe?hf3;UrA03uw&_c0hAk)WC6Ug-2(ZD;g3mZu8d`?RK{mP`j@lpMbz4(JC dXLUJqm}itPTq73n7UvCm9>m*>3*5Z`-+$4ibOZnZ literal 0 HcmV?d00001 diff --git a/src/bin/gui/backend/Settings.class b/src/bin/gui/backend/Settings.class new file mode 100644 index 0000000000000000000000000000000000000000..1a8bf5ffec2ee5aa47dcae4f1e63ef3531af0986 GIT binary patch literal 5620 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 literal 0 HcmV?d00001 diff --git a/src/bin/gui/backend/Theme.class b/src/bin/gui/backend/Theme.class new file mode 100644 index 0000000000000000000000000000000000000000..e137ef8df2a171eaf65d88e0828e877aca26d27f GIT binary patch literal 3614 zcmZvdO;j6I6vyxI8N%Z$Km}`23Z*b8spYe#(k4Kle3dqcU#&KfF@%Ps4oPXPdg?j4 z)TJ)n>du~{)l<)L_svW)^YS={xs!YU_xJ95bLY-4|2_GMh~o5N znChs$nHmH&QjH>T+3p7F`1m@>}Lf%$JyOSShtV~dM?5U(42xUcrM9hmC5D_8G|K+A3WOseGC4gyJCj(5v+Q|6FG!hJY0=JDHbl`}~$O?cr1zlxHUuE5dOb>{z3A)ar?f}O*J+5I}&?_A8RUnSSpoRt6Z5`{mg0)#b z+_miO^ll#g*ORqMTeTe(8LeqTXwm8#ZMWOP)qWk@!Hxk=)ixUfplAc_)l&FD;;pH! z=Quk3OxNY7Ij-(1r*ej}^S$DI-d;b^@AqSUey+ef0@+q*rfQYmX-E9jiqntuoPM5s z>Or3C3i3Q>faf~J3QNIxAm7$nr|^_cLkKWsqVtpc%;C6Ckozp)2&al=d(Yx&Z%|lH_X(chG>BKN z4&R(ETrrJtSI2WzT8vC-F(ReKq>&awMOw^6X)yt%#Wax?vqM_U328A5q{aI#E#7Ns zF%YH2ypt9a4)zQg_~;2-cks(ZJzQVd{GJSR{4q5@!Y_kf#kHO4ah;|HnxPh&g$`do zH*XM@^BT>^)K*R5?<&zHq+G@wK6kGCGyF0Txo$=}f1t>B)MrMXkv9WoWKiA=d7%+A zGA2FaUTDIMyeK`BW@JX*%z2(zb#0TvSRsj0mnlLk*z6S=rd51e*06zfRJ8%`CSAky zH0U*Y-L35uEZ5d(eoKAd;KtcKmrghbgWjMwapluGjcxD-o6K=+p}MrQ?OQn4G?X{A z=m8a-gY>2zJ)oj(ppT$`ON$;-(GMVfTaO-6(H{f-3G}zL=n)nDDWqvVdPGHk4)hn$ z?`qNWD*8)E_w?v_75x>^UqheKqT?$15u}zL9aqs$fc_EsceLnn75y`$Sv`7OMgI!) zZ_w{+(Gx2AcSv)3^n{B31L!}YKhUBVRrFtw-qxcRRrKFL{{wwqi(XdI|3Z4GM=vXA zqmCMldgu#U^s0h3S|Kg!(W@%D2k2ht?`Y8*Dw?OjyL$A7iXH*_EcCV(y``d~kRIvL zTPk`E=nK%7wCI$Ijze13qf;t+73ekS?`qMLDmn$}u^v6CqHh3w6Z(5v^qh*eAib|g n&#CAF&_(Fq)1qT4`WVs&dbICTA?LO65a^Gfe;*UQjz0JwQi!2k literal 0 HcmV?d00001 diff --git a/src/run.ps1 b/src/run.ps1 index f1f6007..96c3ae1 100644 --- a/src/run.ps1 +++ b/src/run.ps1 @@ -2,15 +2,12 @@ function Run { param( [string]$flag ) - javac *.java - java App $flag - Remove-Item *.class - Remove-Item gui/*.class - Remove-Item gui/backend/*.class + javac -d bin *.java + java -cp bin App $flag } if ($args.Length -eq 1) { $flag = $args[0] } -Run $flag \ No newline at end of file +Run $flag diff --git a/src/run.sh b/src/run.sh old mode 100644 new mode 100755 index 70f0d5b..bb3119f --- a/src/run.sh +++ b/src/run.sh @@ -1,13 +1,32 @@ -run() { - javac *.java - java App $1 - rm *.class - rm gui/*.class - rm gui/backend/*.class +function run() { + if [[ $# -eq 0 ]]; then + # Compile the program + javac -d bin *.java + java -cp bin App + else + case $1 in + "-c" | "--cli") + # Run the program in the CLI + # Compile the program + javac -d bin *.java + java -cp bin App -c + ;; + + "-b" | "--build") + # Compile the program + javac -d bin *.java + ;; + + "-j" | "--jar") + # Create a JAR file + jar cfe sudoku.jar App -C bin . + ;; + + *) + echo "Invalid argument" + ;; + esac + fi } -if($# -eq 1) then - FLAG=$1 -fi - -run $FLAG \ No newline at end of file +run $@ diff --git a/src/sudoku.jar b/src/sudoku.jar new file mode 100644 index 0000000000000000000000000000000000000000..9100b81f37888d0321d2f33118fdc11a87405243 GIT binary patch literal 26064 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 literal 0 HcmV?d00001