From d7dbb0b0530ce436cb3630d22b169a68843f136d Mon Sep 17 00:00:00 2001 From: Sherwin Price Date: Thu, 5 Feb 2026 10:51:59 -0500 Subject: [PATCH] initial tictactoe --- .gradle/9.0.0/checksums/checksums.lock | Bin 0 -> 17 bytes .gradle/9.0.0/checksums/md5-checksums.bin | Bin 0 -> 27297 bytes .gradle/9.0.0/checksums/sha1-checksums.bin | Bin 0 -> 38693 bytes .../executionHistory/executionHistory.bin | Bin 0 -> 40544 bytes .../executionHistory/executionHistory.lock | Bin 0 -> 17 bytes .gradle/9.0.0/fileChanges/last-build.bin | Bin 0 -> 1 bytes .gradle/9.0.0/fileHashes/fileHashes.bin | Bin 0 -> 21597 bytes .gradle/9.0.0/fileHashes/fileHashes.lock | Bin 0 -> 17 bytes .../9.0.0/fileHashes/resourceHashesCache.bin | Bin 0 -> 23631 bytes .gradle/9.0.0/gc.properties | 0 .gradle/9.3.1/checksums/checksums.lock | Bin 0 -> 17 bytes .../executionHistory/executionHistory.bin | Bin 0 -> 57139 bytes .../executionHistory/executionHistory.lock | Bin 0 -> 17 bytes .gradle/9.3.1/fileChanges/last-build.bin | Bin 0 -> 1 bytes .gradle/9.3.1/fileHashes/fileHashes.bin | Bin 0 -> 20797 bytes .gradle/9.3.1/fileHashes/fileHashes.lock | Bin 0 -> 17 bytes .../9.3.1/fileHashes/resourceHashesCache.bin | Bin 0 -> 22169 bytes .gradle/9.3.1/gc.properties | 0 .../buildOutputCleanup.lock | Bin 0 -> 17 bytes .gradle/buildOutputCleanup/cache.properties | 2 + .gradle/buildOutputCleanup/outputFiles.bin | Bin 0 -> 19019 bytes .../8u1h9m9t6aml5eqhpcowucnhr/candidates.bin | 1 + .../configuration-cache.lock | Bin 0 -> 17 bytes .../.globals.work.bin | 1 + .../.strings.work.bin | Bin 0 -> 1819 bytes .../_lib.work.bin | 2 + .../buildfingerprint.bin | Bin 0 -> 1656 bytes .../classloaderscopes.bin | Bin 0 -> 1 bytes .../entry.bin | Bin 0 -> 65 bytes .../projectfingerprint.bin | Bin 0 -> 707 bytes .../work.bin | 2 + .gradle/configuration-cache/gc.properties | 0 .gradle/file-system.probe | Bin 0 -> 8 bytes .gradle/vcs-1/gc.properties | 0 .vscode/settings.json | 4 + build/reports/problems/problems-report.html | 659 ++++++++++++++++++ gradle/libs.versions.toml | 10 + gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 45457 bytes gradle/wrapper/gradle-wrapper.properties | 7 + gradlew | 251 +++++++ gradlew.bat | 94 +++ lib/build.gradle | 53 ++ .../java/main/edu/tictactoe/App$1.class | Bin 0 -> 622 bytes .../classes/java/main/edu/tictactoe/App.class | Bin 0 -> 2457 bytes .../java/main/edu/tictactoe/Board.class | Bin 0 -> 1184 bytes .../java/main/edu/tictactoe/BoardButton.class | Bin 0 -> 1700 bytes .../edu/tictactoe/ResourceImageLoader.class | Bin 0 -> 2017 bytes .../main/edu/tictactoe/SystemPlayTask.class | Bin 0 -> 1259 bytes lib/build/distributions/lib-1.0.tar | Bin 0 -> 25600 bytes lib/build/distributions/lib-1.0.zip | Bin 0 -> 14283 bytes lib/build/libs/lib-1.0.jar | Bin 0 -> 9589 bytes lib/build/resources/main/blank.png | Bin 0 -> 4451 bytes lib/build/resources/main/naught.png | Bin 0 -> 2609 bytes lib/build/resources/main/x.png | Bin 0 -> 2325 bytes lib/build/resources/naught.png | Bin 0 -> 2609 bytes lib/build/resources/x.png | Bin 0 -> 2325 bytes lib/build/scripts/lib | 250 +++++++ lib/build/scripts/lib.bat | 94 +++ .../stash-dir/App$1.class.uniqueId2 | Bin 0 -> 622 bytes .../stash-dir/App.class.uniqueId0 | Bin 0 -> 2457 bytes .../stash-dir/Board.class.uniqueId3 | Bin 0 -> 1184 bytes .../stash-dir/BoardButton.class.uniqueId4 | Bin 0 -> 1700 bytes .../stash-dir/SystemPlayTask.class.uniqueId1 | Bin 0 -> 1495 bytes .../compileJava/previous-compilation-data.bin | Bin 0 -> 446 bytes lib/build/tmp/jar/MANIFEST.MF | 6 + lib/src/main/java/edu/tictactoe/App.java | 54 ++ lib/src/main/java/edu/tictactoe/Board.java | 50 ++ .../main/java/edu/tictactoe/BoardButton.java | 44 ++ .../edu/tictactoe/ResourceImageLoader.java | 22 + lib/src/main/resources/blank.png | Bin 0 -> 4451 bytes lib/src/main/resources/naught.png | Bin 0 -> 2609 bytes lib/src/main/resources/x.png | Bin 0 -> 2325 bytes readme.txt | 12 + settings.gradle | 15 + 74 files changed, 1633 insertions(+) create mode 100644 .gradle/9.0.0/checksums/checksums.lock create mode 100644 .gradle/9.0.0/checksums/md5-checksums.bin create mode 100644 .gradle/9.0.0/checksums/sha1-checksums.bin create mode 100644 .gradle/9.0.0/executionHistory/executionHistory.bin create mode 100644 .gradle/9.0.0/executionHistory/executionHistory.lock create mode 100644 .gradle/9.0.0/fileChanges/last-build.bin create mode 100644 .gradle/9.0.0/fileHashes/fileHashes.bin create mode 100644 .gradle/9.0.0/fileHashes/fileHashes.lock create mode 100644 .gradle/9.0.0/fileHashes/resourceHashesCache.bin create mode 100644 .gradle/9.0.0/gc.properties create mode 100644 .gradle/9.3.1/checksums/checksums.lock create mode 100644 .gradle/9.3.1/executionHistory/executionHistory.bin create mode 100644 .gradle/9.3.1/executionHistory/executionHistory.lock create mode 100644 .gradle/9.3.1/fileChanges/last-build.bin create mode 100644 .gradle/9.3.1/fileHashes/fileHashes.bin create mode 100644 .gradle/9.3.1/fileHashes/fileHashes.lock create mode 100644 .gradle/9.3.1/fileHashes/resourceHashesCache.bin create mode 100644 .gradle/9.3.1/gc.properties create mode 100644 .gradle/buildOutputCleanup/buildOutputCleanup.lock create mode 100644 .gradle/buildOutputCleanup/cache.properties create mode 100644 .gradle/buildOutputCleanup/outputFiles.bin create mode 100644 .gradle/configuration-cache/8u1h9m9t6aml5eqhpcowucnhr/candidates.bin create mode 100644 .gradle/configuration-cache/configuration-cache.lock create mode 100644 .gradle/configuration-cache/e39dbea4-1bfc-4104-ae7e-6b0dea431c3f/.globals.work.bin create mode 100644 .gradle/configuration-cache/e39dbea4-1bfc-4104-ae7e-6b0dea431c3f/.strings.work.bin create mode 100644 .gradle/configuration-cache/e39dbea4-1bfc-4104-ae7e-6b0dea431c3f/_lib.work.bin create mode 100644 .gradle/configuration-cache/e39dbea4-1bfc-4104-ae7e-6b0dea431c3f/buildfingerprint.bin create mode 100644 .gradle/configuration-cache/e39dbea4-1bfc-4104-ae7e-6b0dea431c3f/classloaderscopes.bin create mode 100644 .gradle/configuration-cache/e39dbea4-1bfc-4104-ae7e-6b0dea431c3f/entry.bin create mode 100644 .gradle/configuration-cache/e39dbea4-1bfc-4104-ae7e-6b0dea431c3f/projectfingerprint.bin create mode 100644 .gradle/configuration-cache/e39dbea4-1bfc-4104-ae7e-6b0dea431c3f/work.bin create mode 100644 .gradle/configuration-cache/gc.properties create mode 100644 .gradle/file-system.probe create mode 100644 .gradle/vcs-1/gc.properties create mode 100644 .vscode/settings.json create mode 100644 build/reports/problems/problems-report.html create mode 100644 gradle/libs.versions.toml create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100755 gradlew create mode 100644 gradlew.bat create mode 100644 lib/build.gradle create mode 100644 lib/build/classes/java/main/edu/tictactoe/App$1.class create mode 100644 lib/build/classes/java/main/edu/tictactoe/App.class create mode 100644 lib/build/classes/java/main/edu/tictactoe/Board.class create mode 100644 lib/build/classes/java/main/edu/tictactoe/BoardButton.class create mode 100644 lib/build/classes/java/main/edu/tictactoe/ResourceImageLoader.class create mode 100644 lib/build/classes/java/main/edu/tictactoe/SystemPlayTask.class create mode 100644 lib/build/distributions/lib-1.0.tar create mode 100644 lib/build/distributions/lib-1.0.zip create mode 100644 lib/build/libs/lib-1.0.jar create mode 100644 lib/build/resources/main/blank.png create mode 100644 lib/build/resources/main/naught.png create mode 100644 lib/build/resources/main/x.png create mode 100644 lib/build/resources/naught.png create mode 100644 lib/build/resources/x.png create mode 100755 lib/build/scripts/lib create mode 100644 lib/build/scripts/lib.bat create mode 100644 lib/build/tmp/compileJava/compileTransaction/stash-dir/App$1.class.uniqueId2 create mode 100644 lib/build/tmp/compileJava/compileTransaction/stash-dir/App.class.uniqueId0 create mode 100644 lib/build/tmp/compileJava/compileTransaction/stash-dir/Board.class.uniqueId3 create mode 100644 lib/build/tmp/compileJava/compileTransaction/stash-dir/BoardButton.class.uniqueId4 create mode 100644 lib/build/tmp/compileJava/compileTransaction/stash-dir/SystemPlayTask.class.uniqueId1 create mode 100644 lib/build/tmp/compileJava/previous-compilation-data.bin create mode 100644 lib/build/tmp/jar/MANIFEST.MF create mode 100644 lib/src/main/java/edu/tictactoe/App.java create mode 100644 lib/src/main/java/edu/tictactoe/Board.java create mode 100644 lib/src/main/java/edu/tictactoe/BoardButton.java create mode 100644 lib/src/main/java/edu/tictactoe/ResourceImageLoader.java create mode 100644 lib/src/main/resources/blank.png create mode 100644 lib/src/main/resources/naught.png create mode 100644 lib/src/main/resources/x.png create mode 100644 readme.txt create mode 100644 settings.gradle diff --git a/.gradle/9.0.0/checksums/checksums.lock b/.gradle/9.0.0/checksums/checksums.lock new file mode 100644 index 0000000000000000000000000000000000000000..64ac93b8bb096b253a6f619705337ac98e31571f GIT binary patch literal 17 VcmZQhPZwueeD3mW1~6c<0{|?F1PTBE literal 0 HcmV?d00001 diff --git a/.gradle/9.0.0/checksums/md5-checksums.bin b/.gradle/9.0.0/checksums/md5-checksums.bin new file mode 100644 index 0000000000000000000000000000000000000000..6fc48421bc54063c175b1a4fb800d571e58c0d2d GIT binary patch literal 27297 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 Z2JDB=I6w3T>C!A-3qAXu3A78}2msm8eQ^K) literal 0 HcmV?d00001 diff --git a/.gradle/9.0.0/executionHistory/executionHistory.bin b/.gradle/9.0.0/executionHistory/executionHistory.bin new file mode 100644 index 0000000000000000000000000000000000000000..4aac60669f2a93f26b010aaafd4af8dcdf96d327 GIT binary patch literal 40544 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 literal 0 HcmV?d00001 diff --git a/.gradle/9.0.0/executionHistory/executionHistory.lock b/.gradle/9.0.0/executionHistory/executionHistory.lock new file mode 100644 index 0000000000000000000000000000000000000000..70977acfc1d8d24bbdc77fc3a2942f25168c918f GIT binary patch literal 17 VcmZQxwJu@_^Hy^{1~6du1OP1<1EBx_ literal 0 HcmV?d00001 diff --git a/.gradle/9.0.0/fileChanges/last-build.bin b/.gradle/9.0.0/fileChanges/last-build.bin new file mode 100644 index 0000000000000000000000000000000000000000..f76dd238ade08917e6712764a16a22005a50573d GIT binary patch literal 1 IcmZPo000310RR91 literal 0 HcmV?d00001 diff --git a/.gradle/9.0.0/fileHashes/fileHashes.bin b/.gradle/9.0.0/fileHashes/fileHashes.bin new file mode 100644 index 0000000000000000000000000000000000000000..b6b651302bcb395a6d027f637e4838f36c6cb6be GIT binary patch literal 21597 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 Xipvl)bg|k|(hO>ekzxm22gD8l!^jeA literal 0 HcmV?d00001 diff --git a/.gradle/9.0.0/fileHashes/fileHashes.lock b/.gradle/9.0.0/fileHashes/fileHashes.lock new file mode 100644 index 0000000000000000000000000000000000000000..b74c379b0691b9503ae41b9515721525d4014d90 GIT binary patch literal 17 VcmZR6e_efx76bQR1~6bf3IH=L1fc)` literal 0 HcmV?d00001 diff --git a/.gradle/9.0.0/fileHashes/resourceHashesCache.bin b/.gradle/9.0.0/fileHashes/resourceHashesCache.bin new file mode 100644 index 0000000000000000000000000000000000000000..798ab2c80c11d2876b09df6238d81a95f31d2a64 GIT binary patch literal 23631 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 literal 0 HcmV?d00001 diff --git a/.gradle/9.0.0/gc.properties b/.gradle/9.0.0/gc.properties new file mode 100644 index 0000000..e69de29 diff --git a/.gradle/9.3.1/checksums/checksums.lock b/.gradle/9.3.1/checksums/checksums.lock new file mode 100644 index 0000000000000000000000000000000000000000..c9ba8837bf55cc347d0cc3c406c11830905dc61c GIT binary patch literal 17 TcmZSPn9cEkS$mQf0~7!NAM^s5 literal 0 HcmV?d00001 diff --git a/.gradle/9.3.1/executionHistory/executionHistory.bin b/.gradle/9.3.1/executionHistory/executionHistory.bin new file mode 100644 index 0000000000000000000000000000000000000000..033bb53e388104923f9a962e65a3e47aa3ad10ba GIT binary patch literal 57139 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 literal 0 HcmV?d00001 diff --git a/.gradle/9.3.1/fileChanges/last-build.bin b/.gradle/9.3.1/fileChanges/last-build.bin new file mode 100644 index 0000000000000000000000000000000000000000..f76dd238ade08917e6712764a16a22005a50573d GIT binary patch literal 1 IcmZPo000310RR91 literal 0 HcmV?d00001 diff --git a/.gradle/9.3.1/fileHashes/fileHashes.bin b/.gradle/9.3.1/fileHashes/fileHashes.bin new file mode 100644 index 0000000000000000000000000000000000000000..dc12786e2da2d817bda0c8094c349ca6345c1cb1 GIT binary patch literal 20797 zcmZ=^V2}{_4+RVeAc|m)vPMH-Gz3ONU^E0qLtr!nMnhmU1V%$(Gz3ONU^E0qLtr!n zMnhmU1V%$(Gz3ONU^E0qLtr!nhD!*9GB7Z3K|CX&!vtdRmoqRJ@Gvki=(RE(-r*^* zs1PK|z~Ju*oj&;ATAUsDK>C&%MBG;yCf;6}^J160lrBWvb3RPGtK_-54)^sR5OM$e zF!BEAMERAyFWVsEKAJG`Nup0>C(n7i4m_?+NVOvI!#YzZNF` z`(WDr3+mw#5OKfFF!8_LR|j?5GYE zcZ7*^?l)+76@SqaBJS4+6Bl@YM{Z%!S!j5Aa>B&L;u?;4O23@|Q6Jz86W5-`nY!NB zA_OAt^ARSlb5~-?g7PY8_;?h<#Pt|l@|1nrzC+Xp+=Pjnyl(MV{Uk385%<{-6SsPy z{NuE_4xZ z)X#3Hj%`p^?Zea|>Tupm#pEjE?CTp9Q)hQw1L@FYn3V(3!3jEn3C&e!+^2avHcjlg z^fmm2?9QX_!8#Z}c0+V<84_oQR+#ouhz?@y&#vEgcqAwBF{<_j4tnIz&K985qn@W7@&I z>_5LkUY+vPUgO;LTMop6bm)Z{Kv(p;+F4M zki9O9Z1*vB&?8+@Cnb`R+E1*12?c=gYkVAg&_X=Wrd^d_G|QAi2CEBb6MrtR^w6;5r5>tXxH7 z>mB6&TRA^3JI<=d^%$HIE&f5vE2evxDKRaDdqbG4k;H-5Ym5HQ`g<6x!|EM$7ZW>Z z7Y|x_wZ-?ry~$0FE7mdvr5&iT$ph;M6hGkU=nd$U05 zN0`5?JID^bc)>o19jqYNq1nN$E%H%i$@cFOX;Rz1y_>HB)={xz14IWKsOCY_k#0Gw z+pc=a$F2Jw#if0hjE3l#0M1|bXczp*B8s^erosVfO@~{GaiVJ9a|uFuq?m~ b-N}0PmL0ignZgq^R3F#>y^f~iHAn{lH869Q literal 0 HcmV?d00001 diff --git a/.gradle/9.3.1/fileHashes/fileHashes.lock b/.gradle/9.3.1/fileHashes/fileHashes.lock new file mode 100644 index 0000000000000000000000000000000000000000..b557d37ca9b5cf22913c308baf27e0c0f5cb45b1 GIT binary patch literal 17 VcmZR6c#q+sQl3-^0~oMu001)O1a<%b literal 0 HcmV?d00001 diff --git a/.gradle/9.3.1/fileHashes/resourceHashesCache.bin b/.gradle/9.3.1/fileHashes/resourceHashesCache.bin new file mode 100644 index 0000000000000000000000000000000000000000..c7ced0eedabab8dcfc7f3b90379800f5cb237bd3 GIT binary patch literal 22169 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 WCZ(2os#$LE|20S9S5{*eNCg0re-n+a literal 0 HcmV?d00001 diff --git a/.gradle/buildOutputCleanup/cache.properties b/.gradle/buildOutputCleanup/cache.properties new file mode 100644 index 0000000..228c6b5 --- /dev/null +++ b/.gradle/buildOutputCleanup/cache.properties @@ -0,0 +1,2 @@ +#Wed Feb 04 11:28:38 EST 2026 +gradle.version=9.3.1 diff --git a/.gradle/buildOutputCleanup/outputFiles.bin b/.gradle/buildOutputCleanup/outputFiles.bin new file mode 100644 index 0000000000000000000000000000000000000000..3aba385b19504030e30eb661aac13588107ac231 GIT binary patch literal 19019 zcmZ=^V2}{_4+RVeAc|m)vPMH-Gz3ONU^E0qLtr!nMnhmU1V%$(Gz3ONU^E0qLtr!n zMnhmU1V%$(Gz3ONU^E0qLtr!nhD!*9GB7Z3K|CX&!vtdRmoqRJ@Gvki$Tr^CoV-Oh z@&rhffx*)sI(_iJ@waoKly|ZhMBHOPOuXlfh>T9l^kS&^TA26}-c^@%>R(7f#62Zp z;>)!5pJ}ZU6@-ej!^Brs-uD(c{*4zZz8faK>%orruX0g`A>tkvVd8r_ZRdRS?*qG@ zfx&YnO#IX=3HDiSDrX?-y+mQ+=VEMJzwF373K91_3lqOEHFCM9 ziOVdkYIMx&H-L&yhlyLp&C#@SY`OszPlSov)v(M?J-TNhMBK{~ChlqTwApSN!+VIh z$5)tmnDZ8fIgR_Eb4i}sF!AWsD-E`17iB=ydojbr)6y?J*;~IY93t*f4inGX^x)ye z{H=WuaW8e4c;U<47k50F#|;tpcnlM-Qx@i!ba{?BR6H0a4x{7W|2ZZi^X?(}9m1~}oJd5PNAPL-;7^R8CaZ<&^S{t zMO`VgtHM*NWLfK;f1k`B`<}jSz5I^%<;LCu)(EcZD8~=?L_U`_mp2}=nbDOk0VNR0h^Bbo`cQ4$>XK?S?Z=I_%ZccKJQp|bIk|%KCZf#jT!#(>4 z^PAVq770Cfe!JGy)nBK0p9*-iYF1a^RM0iYU)^}_?`>S>F2rs)}!OA|H2QgGiETlluNU` zSuP{6;!u>##@C5|R8?#Re_D?+R&DA+;XVuWdPWf8CF zDv)W5|8cph;~zC+xT<)0g*V%MBxQtFuvYWiJ#Coq8>8_F>DFh2b{u*nJfr z%|1JIUUAHqR@;xIU#{Hi)qLW#pYwciq;tH(kL>nChsAEpx*+5(y<040^U(*4<|`gV zbvUegZmbwuZSGw&@v+q7tnUT;&&>Cm7N+-=Gwjd|R- z_Zu#A6m?hl{mi&ByH_I zQI@vX?(@A2p09nMci+?d6&u}jVT;w?peHtJy?6I+I~K0BP2)<1@WsK!gVgIY8&?CA}@q`fLQTJaTKWslQ`yfJpgSM=~oSZ$sS-5t~divz6 z1u^}c_Pzdz)R)%jZ(Oc>e7#|1(fh|cNzjYOf=@8FeYNjT!pC$Xs?fBp8#v&D%eDft&SOd6BPZN0m|Lf-oKIHWxQPXL8a_<6@D;7z2`;8pJFYBm2?VR+({PmG_>GLulPPSr~ zs__3FcE(#_edM)2?%@U+uNIYF4>VXM46N1L#Mb<*0EYV3zfFYo><*!?{1!>l5^ z{~=m0*2k}Zm*2v$Il{prQa%2iby%KH2e-j;MD6{ zTu&6I>n=aCZF8vP>M0e8iu(>-EODB%@GP50^cxR14Ox?w;@76U$@(w0^1VTPtk)I! zm}T-wnN@Z+bN|-FzqS3j=ed!tqv2YsiLYl*X13tI$Wx(FCdz;Ig{pdl$>lel530NS zKHr+3_j%!mqjPzqrc@lsa{TLEAG0HqBY>GdXmO=@Pn$U \ No newline at end of file diff --git a/.gradle/configuration-cache/e39dbea4-1bfc-4104-ae7e-6b0dea431c3f/buildfingerprint.bin b/.gradle/configuration-cache/e39dbea4-1bfc-4104-ae7e-6b0dea431c3f/buildfingerprint.bin new file mode 100644 index 0000000000000000000000000000000000000000..6ece3b006f60a20aa72c0b9ed4c109dac160cad1 GIT binary patch literal 1656 zcmcbY<-)nP_wUk4VqGeH^;e#CmtLNy`(Am;Ipe8;-c0kVIrKu_upYm3d7r}iR$UwhgYc=wS>Rd>P8Ki7YHAMcjg`*7WP&c`;> z=Drgd@uBldK3je$(Xjq>U`fd1G zF>|_2tzO^ey9R=F&wI|-xMUr;eNArV{B7sMuJ2g&h`W7Pb;2XrKRI5@UgWaO*r+$x zq#)E{LqtQd&*ifo+6=ocR2=%x+r3Oe>PW`zjSX{`JW`Kb75P%=^bP_0Y0u~GaO-K? zb8+$)v36eO+}OKMA|6{gwp^b(v$jCPy(%E+dQ5deT6eG2^SOtlD%R!g*}&r)eCKZb zHOHr%4K?@JQ_d~*-7WD)w_B4II=$4q-zrDur=iMjzxbM_x?5aS;Z-omm&T8 zsOQA&iA$b~tX|rC^xT*A`DZ>xEncwguE~tt!m!)c*E6)Y*F;*)UZwvfY)|CT?oa+I zybg;T?%tcB&v#~X|A$2m)?Iv#wAp@|>zt}pv;n7K`|PRwYC2w_ zb?KjHpd!RKQIkP)&4l z{F(hWr~TT2$}8_K9=h$?bNc6vW73}g1omxR;_NrGK0I)@wNlsiSDEkC6c6A0dHmx- z@gfxgTMyF>x1P0{oM!c|Gh|yap;}0_r`X*2fRCQ~^+jiXvwpkl6@T_!^mYA8W~$3Fl4I_<-}X7{7yand=JrK9oLB$qo$>PA<|AFa^CvDeXylw;9JnZ&=Z(RUA5Dw` z0cwBltW4Rrluf;WS9-(K-{*~%Y!Es4{nx_J`c-FV30IfB(Y_|h8QFHXJABIaH{Z8z zC~Ocs@4M&nKF%uT&rF*av%XQwyYuGi_eLh!JSENJp;EEBO;b60Zd~8parwUEH^;4x zY_p_W4|MiVSJUXtn&Q1_)#BUy%QUiBLv$ve=U5xRUt`)A&(~EFwx$eAkRp%?$`uHUMnKbp}F{$-Tg4><78Lp-zu zCs{8K&Dq>4UC%S6dxcF-=&NcGreL!-Z`r3R-}G=;=fgf@@g_5;b#u!*Jl=~p>UMj) z6aASOYqLDUZc3Wgb*b*%dLLg*y!=4Lj6HF}(k!f{HVmi_a2ITwHKaka=J6ey5ybEnVBmOPxts$*R=da=GIDnuL-JmLR0zua+f~XF_Dwi z|-lK8#3RjwT5oHJ|b`o&-TS{^TZX_mkl7E#^Cx2W4Btjm*0OC|o>p&tc# z9IKXuHRt$n>FjRdnxRp-F{$SHpW54M&-wSny?xo37=FHEd$DZP%s4SIwoAI&I-v|V zZZ~lx?rPKic%k4!{W{kEn`hRi-oF2T#_hxR7?@f;8twSEp1l-g{NRI(hg4dd{Xxf| zu)^x%M;Fw;rtRH-e`&a>?B8$q&MSZB+_Nuw=YM_cnf&vt%Bm;M%6vEd3`gbsYjIhI z1)pA~wwW%jdHQ5Yrr&+decvugOc2j{`2St8dG<^r9_LFTeH^t%)UV5hICIXivy1bx zoOed%sPTn4kKh0GkFmAY7S$!)(0E)}VBiWKTzIJ{Av p^(1@QlAW(PBbt}~Y36QWSblll-&1{cH-t@|{*aiLzKQciFaUqSMQi{7 literal 0 HcmV?d00001 diff --git a/.gradle/configuration-cache/e39dbea4-1bfc-4104-ae7e-6b0dea431c3f/classloaderscopes.bin b/.gradle/configuration-cache/e39dbea4-1bfc-4104-ae7e-6b0dea431c3f/classloaderscopes.bin new file mode 100644 index 0000000000000000000000000000000000000000..f76dd238ade08917e6712764a16a22005a50573d GIT binary patch literal 1 IcmZPo000310RR91 literal 0 HcmV?d00001 diff --git a/.gradle/configuration-cache/e39dbea4-1bfc-4104-ae7e-6b0dea431c3f/entry.bin b/.gradle/configuration-cache/e39dbea4-1bfc-4104-ae7e-6b0dea431c3f/entry.bin new file mode 100644 index 0000000000000000000000000000000000000000..ceb838bb2b01e25608a92cf4592263bcbadb4d6f GIT binary patch literal 65 zcmZQHDJ>~5DK9fMDND&M$xKR0POM5PC@m?;eaXnEpOK%Ns$ZOuT2!8ySD;^>UzA;3 UkeHmRUyxW*l3JAanSp@;03nbVT>t<8 literal 0 HcmV?d00001 diff --git a/.gradle/configuration-cache/e39dbea4-1bfc-4104-ae7e-6b0dea431c3f/projectfingerprint.bin b/.gradle/configuration-cache/e39dbea4-1bfc-4104-ae7e-6b0dea431c3f/projectfingerprint.bin new file mode 100644 index 0000000000000000000000000000000000000000..356dc37159537d3ff43462e77d11d042b3f636e9 GIT binary patch literal 707 zcmeZ2I=^$;^THPIgk5`kx+^1gJb5FNW9wtQ?@Ez_)t-QJsf@D98H>K{+q1g%=*BIJ z|JTY+(D>qSzDshZ1IH$j1|zn2ZaHxTcWZF|a5rF!-6zfEN+eXqiz7`rT2D1Wei zBi?kE>-O2@e^$q6x(aQ}+Hn73t(CaH$LH&lx`E!R2Jc4%W zcCUM)UADl;CFP^S<;gaOs$N(=?EP`hzdQWe@l~nr{@1LyK5qWR;#tOEc0Ba>uI$B2 z3r)7F%xn=1XIuPh;-Z>&uPt?N1ob`qm@oa{d*i}?X=fdu`by7STPb!uexkCA@~(-S zc7IGWd8zKUG~=LM*7onbj(0ZR>Q?NFSaCMc`k~Ovm!c`6>JvCT_6D3v+WSp?9e1La z=`W?)r{8z(n>)4Qzs>|N{WBZy@v%rKt8cmWcK=q3fyqiFq|Wh2BO?YT2BN zr1sl6M5KKzT$3~RiM(J;KIcyHgHPipg&w=VZS^7Th$fv$1`Wb1rwRM~)rhZnxA@@p zsQkqr4hib|x45TDx=!!jpH{daaGrVnl?A5qH82LJ{iVFLgF literal 0 HcmV?d00001 diff --git a/.gradle/configuration-cache/e39dbea4-1bfc-4104-ae7e-6b0dea431c3f/work.bin b/.gradle/configuration-cache/e39dbea4-1bfc-4104-ae7e-6b0dea431c3f/work.bin new file mode 100644 index 0000000..0ff932a --- /dev/null +++ b/.gradle/configuration-cache/e39dbea4-1bfc-4104-ae7e-6b0dea431c3f/work.bin @@ -0,0 +1,2 @@ +TZkxm E)SB@ₜԪJ:Ű0Ck9rnB<e&FK$)1j':&䬷埆NPuh89Rՠf7}ÁegߩO4_{ߍK5b>Z}^CG3KJsiƇd4٫S0=+u{mEpx9apP,ɂjvt)ät7GVh;تDc|!#-bZ*%5盳us`t3&EMR +k*,Ņ1EƕL^Z6Fg?ɱ /D&p$J.W&'Eh^63"]Q.&؀aH7ʗTxYRt猦YQ/O + + + + + + + + + + + + Gradle Configuration Cache + + + +
+ +
+ Loading... +
+ + + + + + diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml new file mode 100644 index 0000000..651114c --- /dev/null +++ b/gradle/libs.versions.toml @@ -0,0 +1,10 @@ +# This file was generated by the Gradle 'init' task. +# https://docs.gradle.org/current/userguide/platforms.html#sub::toml-dependencies-format + +[versions] +commons-math3 = "3.6.1" +guava = "33.4.6-jre" + +[libraries] +commons-math3 = { module = "org.apache.commons:commons-math3", version.ref = "commons-math3" } +guava = { module = "com.google.guava:guava", version.ref = "guava" } diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..8bdaf60c75ab801e22807dde59e12a8735a34077 GIT binary patch literal 45457 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
E3O!uy!x-n^Xipuqmga7Z(85N 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®G46aK?r|^ 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 M0bT}%>?I%`0L*Dn)Bpeg literal 0 HcmV?d00001 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..37f78a6 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,7 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.1-bin.zip +networkTimeout=10000 +validateDistributionUrl=true +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew new file mode 100755 index 0000000..ef07e01 --- /dev/null +++ b/gradlew @@ -0,0 +1,251 @@ +#!/bin/sh + +# +# Copyright © 2015 the original authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# + +############################################################################## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# +############################################################################## + +# Attempt to set APP_HOME + +# Resolve links: $0 may be a link +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +# This is normally unused +# shellcheck disable=SC2034 +APP_BASE_NAME=${0##*/} +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD=maximum + +warn () { + echo "$*" +} >&2 + +die () { + echo + echo "$*" + echo + exit 1 +} >&2 + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; +esac + +CLASSPATH="\\\"\\\"" + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD=$JAVA_HOME/jre/sh/java + else + JAVACMD=$JAVA_HOME/bin/java + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD=java + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +fi + +# Increase the maximum file descriptors if we can. +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac +fi + +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \ + "$@" + +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..5eed7ee --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,94 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem +@rem SPDX-License-Identifier: Apache-2.0 +@rem + +@if "%DEBUG%"=="" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if %ERRORLEVEL% equ 0 goto execute + +echo. 1>&2 +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. 1>&2 +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH= + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* + +:end +@rem End local scope for the variables with windows NT shell +if %ERRORLEVEL% equ 0 goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/lib/build.gradle b/lib/build.gradle new file mode 100644 index 0000000..1b4701a --- /dev/null +++ b/lib/build.gradle @@ -0,0 +1,53 @@ +/* +*/ + +plugins { + // Apply the java-library plugin for API and implementation separation. + id 'application' + + id("org.owasp.dependencycheck") version "12.2.0" +} + +group = 'edu.tictactoe' +version = '1.0' + +application { + mainClass = 'edu.tictactoe.App' +} + +sourceSets { + main { + java { + srcDirs = ['src/main/java'] + } + resources { + srcDirs = ['src/main/resources'] + } + } +} + +repositories { + // Use Maven Central for resolving dependencies. + mavenCentral() +} + +dependencies { + +} + +jar { + manifest { + attributes 'Main-Class': application.mainClass + } + duplicatesStrategy = DuplicatesStrategy.EXCLUDE + from { configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } } +} + +tasks.named('jar') { + manifest { + attributes('Implementation-Title': application.mainClass, + 'Implementation-Version': 1.0, + 'Main-Class': application.mainClass, + 'Class-Path': 'edu.tictactoe .' ) + } +} diff --git a/lib/build/classes/java/main/edu/tictactoe/App$1.class b/lib/build/classes/java/main/edu/tictactoe/App$1.class new file mode 100644 index 0000000000000000000000000000000000000000..0c8c36bff943bda22d126b156ee75c676e76a145 GIT binary patch literal 622 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 A!TYp@7Ri)V6vp0#EeCj$oqCp!Zd4+A#?49 zFfxcjRKiVz#1$8V9)mtRg8>hNA%hVkgD{q8U}WGA$Vsep1qDTDK}uptDkB54hGrNC zg9#%8n|_5}L0&o+gBgQ4JA(xegC&C%BZDHUF+r)t`K3k4sbB~C|^tKM@i% zZbkXIFeQu(Mi6(Rq%uwXLCe8l!^ps`4+&I|b2u367#X5sSrOd*ML_ivVk^sZ}$Kk%7fIKP8osf!`-HFV(L!Hz~C!Brz!`m61WnCqFqc zCoHij6U2uKvXo?G7BezPV>1qtL#!DYSaTASQgc8ifZdOr`4|~E!6^+A!Qwa^%gDf) zo>~$C4tz!i1q}j$$;iN$o?7CENT7@iyy>YWPVkh;$iSZn&N2b1MQQm(xv43P4D!&h z10{as&;=(NYf#8ArZO_ffL(|Y1rSAy3>-GeInbhpD;S($+%iF7CxBFB=z#)(L6L!j zfr){U!JdJIK?;-&85kI(Kv@e+D>KM4Ffa&!N*@LW1~vvp237_~21W)a1_p)-26hG( z1_lNNEp46c42)X3TN&83b~ErsGBYzXZ)f1&#vr7nwT(e+BLf2i6N57Y1A`a?D+2?A z2m>2~C<8Zx7=sjpIDAUT#2~euL2Vm@rq&h)_H7Kh2%qyYFf%YPXfW_GXfcQ~ zXoGz$2GI%ku^2-jLl6Ta0|!GegAvqxOQ`Q8g^YJFm~Li}60!!R? literal 0 HcmV?d00001 diff --git a/lib/build/classes/java/main/edu/tictactoe/ResourceImageLoader.class b/lib/build/classes/java/main/edu/tictactoe/ResourceImageLoader.class new file mode 100644 index 0000000000000000000000000000000000000000..535290d6976b3b4f0803f8e035d991a9297bb293 GIT binary patch literal 2017 zcmX^0Z`VEs1_nolBrXOf24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk- z5<5l)W)00Sb_Nbc2F28rQvH(5GP ze0|Tng3=O*Qfp2I0R};K1|c2>VFnQtX9rgnm!#%0GBBqW6)`f1!gU7}W#++jb1;Z8 zGBE0cTq(iBAju%b$iR){AVvly+z!c0Ezu7R^0DS(kYSKzXOQDzkY`XpbphDnj125$ zi8-aI{%MR1YRJYx!WHH(a8L(>byy2AFfb_bFeo#qFfxeeCT6EP=jSCSmV{@PWH{&N z6_+IDl@v2FSRfk))d}$>vRTkzLl)vOc@zO zLH1SXXM$1*C^kW~r#~YDOHpcK3L}Fl)H;w9Qba@jkyu^=(W&oLnwFMYl$rugZPx4z z<}jaty&95HlwY2hl#|NEV8&p{!(hc=&B(x;n357)T2N4wT3no(!pI;2wF*^-H7Ir4 z!b}4>!{4l4Y$mkR7M5~nBTzh3MobOK>8UO1f25o zONvX15(|7&OEU6Pia8iU85v|?8Wi&KOBB-bOY>5!6cS4m7!`CC82Q;4!nqhC7$Vsj zqCgocnvp>TWEjNFnR#XT*{S*vr$h3X8>lENs$^uCfgG?7-9Fho%#*oT_R4mG)k3vAl>!4JgChe2gFXWz10w?i1FP0{2F8sH z3=B*RP7DkTY+ykS24@Ba1|Be*mBEFw38w010 z_HhQ)O$_`(>_Vd37{qrlNNeq4P-I}(#-PgRt9^`tU3(jYw$29a9SjCYTo6+LB(t1> z(@#ft8-s<;ejn{^40eng7}yxt8I&1p7|a-S8H~WRBZDi02ZI>{1A{h00D}#KE`t@A zwqXbW)68J!+cEGnFfed2urqKoa5L~Q2r=+7$T9FRC^GOdC^HB$XfyCJ=rRZ}7%>Pk zSTP7N*f4N01TY9P1TqLQgfa+&y{*8&%)rjz$>71@$-u}E$iT+n#o!GNif{%W244mS z20sP{23H35zYN;!3_9!#{=XO)|1j{dGx+~!U}RuoXOLlM&|zR?XE6KEzzwR6L40-w zGq4aVNDU)9gA9mg!@$fC2oC!ohF}H;1`Y;BhA;+3h7g7rus0YPVj1EY5*Z``=(Y~P literal 0 HcmV?d00001 diff --git a/lib/build/classes/java/main/edu/tictactoe/SystemPlayTask.class b/lib/build/classes/java/main/edu/tictactoe/SystemPlayTask.class new file mode 100644 index 0000000000000000000000000000000000000000..71e92dafce697271a45e84273ffbbaa2686777d8 GIT binary patch literal 1259 zcmX^0Z`VEs1_nn47cK@S24;2!79Ivx1~x_p;jF~6ME%l|%pCoY%-qzXki_C_Mg}&U z%)HDJJ4Oa(4b3o41`Y;Jb_OmU25tr(Mh2PGlv4eY%;b{9UHBT@p)Dxfp~Qn7J6l86?;lBzYL57^G2+Eh);( zOJ`(YFH6iRP4!P>WKh%a0h<7})jugKHMzuE6GR3H!(Za zIX^Esu_QdRB*QsBuec;JucR2wFsM!}hH)_{GAOY#DDyC=FsQ-;9o2J;4D1CUujb@2 zGKeBO5oT%_7lS&320Mc$4}%tiHY0;Dmhfd{5G_tEam`Ci%1KQL^>oh9D@n}EOD$q# zV9|)u3}a-F(7+lkASo8-{FGEi27aH+yi~u^+$2z1NXkiNWDxSnPfpAUODxI+85;s3 z7#UbfGBS%98RXE6Lro3Vj10_0rFo1DT*3LJMaijdnIQAHz)3+56bXzB0#5n)CB-F0 zi3Pr?B^miC#T*Rgj10n{w4{()k(yjulA5BBSYoBX$j`=L$;DvBV9m~81Bw@0Mg|p- z8T#Oe%*-px&ra2c1QsN!+&~GmsFIOk26Avh6+&$DNX$#gNiA0K$10GXK-L-P{r^QHm9;P zI59HF;aAGYzy|Rbg8~Bw0}}%S10#a~C=W9*fO)J8It+{qx(o~qZVXId5iYIm42)XZ zTN&6lg4O6TFfi~jFf%YPXfd!bXftp!=rHIrFffQgR5KVb7&3qW7uZxr21W)W1~#af z0SwFxj0_A6a+?@G21x*(OhTpr literal 0 HcmV?d00001 diff --git a/lib/build/distributions/lib-1.0.tar b/lib/build/distributions/lib-1.0.tar new file mode 100644 index 0000000000000000000000000000000000000000..37154e1f3093a48664a5265d39e5c922c2cbb16d GIT binary patch literal 25600 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 literal 0 HcmV?d00001 diff --git a/lib/build/resources/main/blank.png b/lib/build/resources/main/blank.png new file mode 100644 index 0000000000000000000000000000000000000000..2112b71243ddb89d931af9e9f486a0d4eeda0d11 GIT binary patch literal 4451 zcmeAS@N?(olHy`uVBq!ia0y~yU}#`qVCdywV_;yYUr;22#R{TIEGZjy`6iv@Ae77R!{4bN#X{Relt|AvspC%v_oFebQaG&k+*sHjw;Je zT{Y`$TKQz-OY9fU{#&_!osw$SvBe)RKi9wf;Zf$#4_hYgpHV4#VDe|J2KDEm4F2cd z3w`{2_F;MDN{RNw9~-~iERv1-Rx0~^>-tX_8}Cha=eEfI`s~Zg{jb=|=5Cv3w_C2t z-s)4CZB!5QxnkRASM8^U?+uIJB6s6!O#9=;6$}brawXdS^Bw+hSx6)CLclt&%5!3$ z8;(_82s{_ee|)XY!yS3Mu7~fISpI%axaB&=3Bk5u^S4E`@BMu3^*@GfEwyWoFZ}m0 z;eK|gT*Uqr&9!0@$KQE~9=M(;Q75TBhtIyP@P~n}+3`#{m-Klt4{k7D{$XIl-@`0& z_gTW}$n3z|Ii1(z4_`jKQD%qV)6EC${2p8A{WduF+sf(Unxb!+GRt<_`(3^&|K{SP z>DlrD{Xd#M-=B8mu~VIb76ZpWCP&W`U#GDzpKd7i`PaR+f}DN4af{}*CCWT6+_?19 zbw~H@-;`&|h4C%_(mE2iArD++BLw?vv7vZ=r4C9eWLy)W_~ukq?l2d;YY< z?{b?vLSh?cY*$OlU)pl4VcV|0$1=Om&O9I%a_=(lqDubkCl~vG;^eU9Ilq6`Pt_Ijy0AXbi@RVc?XgZ~!JMlLpNp|2d%oOO%=ND5$ghc$ zHWz34m%iA!v`oh;{V&H;kXN3oOuc_hzhA}sf7a_u$0whBy2E~d`{$VEjXxVtILtP` zEuJ&KDZ_I4bB5Y`PuJ93Y43UUZ0Dk6o9(|Cj=!1ncD3!-!|R;qwPd`5AzF6)I^%?tRTeO#P%6pwn*Un{m zwlG}&rry3galw@dXN6ARIo_T)<@$8jQ_N?CdtN7I3UVKuBPX-@^*WdN%mERNLZRQ@ z#@GKn{eJrAunX7T_!~_UKH&TM?c?R=E0s8={)NKl}sHA&hno=S^s2iuK2kU z@f&*{Pc7(Lw}Q=^tKp3NqMpMaUJK4HSf-?L>*p?!(>f~1wHMHYOTvpEW7Zo+4z0W)E^%_7qGuJS#x~_ zgA?PyskQG45Np+HDix^ekVXYRk30+(%{e3ln?E)A}lt zGaBS8t~{{&lbk7kV%xojYo4!Uqtk5aCttYuDI(RIQK4+jbGe$RC~=)rpB5`|opm;k?-rpO2+4Vruw%f?cEgncR&nJA@LquzvX#dsCqOAJ=Tvsi!wE z6y>;Y(p$*h+flZ-WzN|ZoPX|R1Ut8C9Q}Gn)oaoA@_P|tp8S43j!Jz>Uw=!S+~dkR zVbz=^hd4B}h3*^_H2c13@r#n`%5!ERlA;b;;VU0Ss4m?hs%oYfER&*Wom*9T(a_pl zSd>BI=602J?7f;BBW*wYGstOKbetI!#hVtzJ2a%PQ|Hy(7#UaV%IO00O@%sEUO0s=qkH%0kZ3%onvd1I&gFJq~O&pJ~r zSr?qTaVX)7@e7?kFOO9mo66TJP0jhVe)|ojh~!h63};27B})FkxDZyfXN_yt;_6=) z52%G2&gU@|HIi7&6yT__y=&Evys6(9%#@$^e_F1@<9jS&LHPH z?>&o|C;aAXpb!b*9EoHowN_a<5v?|FaTns%-@kg>up$>+H8&DbS2 z>w0-tnDQoHHmL9`eo?(_GV23I#?X+rstsR!js==@1=>&9eDa#phLl=9hY-ej3?J?v zS}i>Fbu_zSrR0j1?~VanYnyK z2yOYiVO7*(zqyUVKbrC@dp|jTzw`42-vixeb&HRFtP+;Ux#D=k{otC{%Db2|jz+j% z{BgOcsdq!^il5A7|GYvNL@uN}{=>3y-ie8y7nB!0(e&A&TE)pQD<@h&;kJh_pW&{X}3d5>q&NjyNYtflTK-M<@yWl zwqq5U`rY=1!XK8+8H=x3?BM9yt{%!zw)n>KjZ<=j*Eq9o;FuLSr?XaJ-6C$IsV>so zzt0^0s+}Cgd{}f6|AJMEc2&>PIIBMO^aNd}Z3zb||BAS0COzYQNX1yniZY;89Fh8wzb>H08d^{z0j%3L^DE_it>V?;f zpb&}XJWQ6O&dKKxkD)4ef&ryX-GIJds%=BaAmy7uWzcIT>> zO?uC{=sUv+*N`o9-(|h;J~q4U_<<8HTGJC5TSS#zHn|=+EVDR&riQavcil5G*3Nyqt$8=vg)~$qYGfVau2x&lux7zqalxu96Sk_XKYN|+WB8WL?ZKh#%Zj)T zIJq9Jmp|}ziE!C;50iV%T)z|RPqIFbRD3GZpq0$seDVB(%_lysQ?j&f`pI?j#*tb6 zGb`#fO|+-XVY*P8$ldH(FR!33xb@^M&cxTh_J(NKbQ#aT^XTf@J}w8=y>mo=MyrHy zN;|l`+a(rqLw?l-Gs&P3hF9Io8IoP~8Ru=9w&q;}^R;k~V`|%eWjqj`xm-=sD};ed zq=NOKB)6vLkzn`TtW5mv(BT`hPkp z=o;{1^Y=EJ(|=#^J^0yZDBGX%e#OL&bY<=0?=QqY&(WInYSW}0463U#zN#v0xg~L9 zZD`5KyV)n)b}x;W+`N(jRBCP7XLM}qEdl9T-Kdwb%9q!DcMK5Q$-1EOh$YXmI?lvz zOUgfa=I-A5_35UIdeibnI=R6`mrf1m2JY&Mn_evV-m$~z?XqbF-gis`8J~m%f6`9A z){_0$?RrC8nT~eZ^=;N?(nA120gf96w zCZ)z}Uv#Wk>Rsk&mrdmM-4WYY9BvcJpm}J0&q8tiTMyDcPILFW{iHodlOeQkdBg7g zTbmCmPpWT;t*-p4v~m9q<`-cZrw^-!GK8H7wktl825MobyC3PTkllS^@m;RiR~<1P zq7Co#qvS%$z6&L+-Cy3v$me zL9i@%#_EmIoA{5$OA7C05jd7MHQ~*}<^|VeHl9pR_vG1cbWDz6?b-WNS1@R-3E+&9 zxy$V^*FyTk>DycS6sGU8jf@r*b?_2gt-W=b)wKtbjrHuJjKxl$uT8z6`<>lNDM8fD zl7n~8i>9~}CtSutnGYDw*9{b+F zdw6%mpPI&>Zog}H{dutRh5bUA6aASIc73&f^-i7s@$$2{{{?AfpK}I2m%k^Za8!c1WolFi@8Ru&uaAE;GV6P6;CuPbe)q2nT<3RN^ffic=O~9v-!4}CbK{)@ z#ykI6{>`Xe9ig=1_o;o+SCc<6_9Vzie@nPfFjxM#;K}`8@=vV7+b-8N=YqyELIux@m@72vs(^mMbv;CD9&0U(P7yg|&j&X^IYw@+j*zFef zetr@$+fVd9E{RV5x@19Y!tIWXdAn}BvZ{K1vdHIY=hexJQg!$%^chR$%>Qa%_pH8N z`nycn9z&)`ZTYp&qZU1%a?$WnuWLlS&OM2R^;*bc7sO>MT1sj^axoNa$c?81TrQVwtTQT)q8wy0~h1* zN{x%gt4p1p&Scr`7CD=J#`b>^2Ip_wc%E39z41e{wuoMx|AY75GI2TYsu>!N{#eW$ z(9pa;mucz$xO15-(tS>c+zwjs#hFGl7n+{qZRL5Y*lZ`<6K@f^cf#?7`#V-ueM#-A zJ>hKscS+s3#jIES?QdLCd#2fL7wzzW=e6$H)joS0KEJsv|Esg|6>ARXHRHNl2WPxm zet!P6m_`2`LKp;E4xE3)!5qN;(%?d=%=Xt8v*v#;ll_&kHm)zYf9hu4>#wb*c0XAw zYrX!p1%JsL&Tmg_Ex)F(J^C-|@0H}gPi%hiCtPCgVq{qvbFonBQmMpeKK|A7ckP&0 zyY6yfZsR=Rb^bTQV{N{_x$PWieQlch;o_~%YxcbATW~jH?bmX(Qg((tX9f1YZMaif zqV`I-FL*s~Q-r0^%k(*KZckhDRe85Hn!&&z zUNC1@pbY~916z`}y9>jA5L~c#`D6wL2F?PH$YKTtz9S&aI8~cZnt_3Vy~NYkmHibH z3m?C5yP#SI0|RHNr;B4q#jUql~+5|t6OBHe22(Zt*u(u zvZ8}~bB~1hCU+gv-;(Kh>(;R?p10$FHM=doI78}a#M;;{ouzHRHXaEx$l9e4pz((N zw4PpSv*-W4ozKq{pP$=roUY(CMI&&Li)Q4c03J~b z&KV3>qGXw`M98Mr|88h@=>KcWQNr}rLHfe91C1Q6byj=1W-!j-^Ial_4TZ?8{zdw}hM?1Rz=Ygzc*H8%CK#Ivqr z(%UTX3y)0V<9W{g$1h=d!;^?=)@vMh^wNBUm%0eJML*9yWyvvr zsV$R#*UvYul38;UK4drAvbH8F#Hw$w`1Wt3!5obZF$=U6B>JwIAL*Id)ULR3e&@7? zM2o0+LE~ONp$CUM5qhAVRe z@0^_9m@PcnFJfcJQjQ~;2e<_}M0ZO4XbqouD9v^4QI{@_EN4qSf1f4an7Z08tC%KR zws`KzJ(iMLF27LOpmN^dsCG}Lb*DXFJ>p9UW0GAJz;TB48uQh8`)s9iMY4~mT+Q=d zu>FX=rJV8K-2xFAUqk#4R_HZKZ!Nc(Z8K+8uE>t?grc@>=LLT>JIrqXrhlpB5#RYa z7ZnW7Z{*Kn$rJo>WAoAvS-c8atha0nohHvPR+y!KLZh*o#meU6$=ZeQvcGWID7~Ef z&nq=c?*l)7&1Fr4b4wpi&N($>*~Q(gdLK*jEG`{d#e3}2ghfaA8aEehDA*8k(_fY; zIab2z;IfX)Jf^2<Q zWXcx(yUoJ;@wz~hH{UJq&sY&0^WvBHw6?uVQm&LW3Uh5pUb^+hb#(((?&f2fX({#H zk7Qad-4ffO&fPpsLvr(~gx|NtHGh6QtJ4#?G{xs(kqL{`)SAfoS*ezd&RlM58lBP( z$1G$y+V5#7``)PJo4DM<8LFJp4dtS<;-;vHglkD`VErL|RJ6C}duviw+cKtBw@b%_ zJ5SEhT4mF%dGA$_8#A|7+aW%`We@Cn-+6Y$Ufm{J5vm-uL{RgYrp=G&PS16^yKL59 zc*a`U`Y80!1hzZ%O6Mml{<3vi_?t76b(V~|wb&1*n*ldWw(DEgW$?OZp33IRJ-1RN zs7CJlafa*SHP;Ha{0UxocIH%vkFLFrYKbRrS2ic5DfnHI3E#r-|E#b`y4H`EvWJAP zC$IQ*Fz8EL)1#8({I_Qvn8&d2$BDvf<%Zx>tx2mMxBul&^xEt+JJ`GJkY2$Yp@kZ2 z?gpRk6q#ID?_ui3b$;Q66>om+cUX91>4mgh%YdHniVJ3k_Q-r=*l@pa^J8U^f8E)) zk56Sj`dmcjved#4);gCwR7u-LiI$~V9=1FLB@w!G%ToioJ@G*1Sp|9JV(k%l@G%TJyX;?Vp!H&Is zdmIcE6Ew1vMFhK)#d(e;=*=qBtUlG4w7sd`kJrTO%EOCcwO18RXID4+%hD*P25@Iy6~)Ts`JDdyExZW@`zkPg4$_X%4#>^tFRR^qvHH=!2|e5zc|p7MUR7sGe_At1@wzBa z$B{$tZuQ$5c`Te%)Vni`v#UO}Dtvpj#=f;rj!%u02v)wZFy+FfCI-W(gw>Py^Us`G zA?n3e+WC9dyvQH#r+fYTeMF5tJ?Y9%FSpJE+Ldx8TxSCJi2d2PrZ+o?<#DwC3!Ugt@p_=a=5?1!ha3sr>dU9fz{m7Stb z)*s4MfA(o=-tTDUo?~x>dk)H&pP0OcSPr)Tz(A6EM~Y9?z$U1B}s7i1wa@7a{6 zW(mb_q__G%$@TOKWm*-aqjQ%}hwa-@yCOY%{|El}#5lK~KCk_;VClvMpOgw}vp9D~ zmc%gWGuwC7KFvv}ES}|%@^|9y+lMV{CVuh#ST30mU@-0IxzjGQRnDufX06jGuqaE( z+NCvJFloWTUWX9?_%V(s&75(8U=zm(#;9OqF(LT9-?}T=kv^?Fu z)a<%Z*{=t`X1%!bHjMc(PviCE6EzGJ`snb*I!YHMw5vDB+DEwHpIPnn|iyKz4=?}5*qzkdgJ@g8NE;Ip~l%yFIz zX$#^%F5?ZZeV3bH`oV2cv2e+ZfSO~yweiPfcF)gK_N-Sco5gDV%b@j*d35fvJKdM2 z9Jr?RV^c-;OJ-(cvEsd{`>!Q!+LqmSA!~v7=d|zH{Lh;9mPxbTYWT*&cU&+Y+}7z7 fQa$zHlcvRP7ZsZgC(kl4Ffe$!`njxgN@xNADtNJB literal 0 HcmV?d00001 diff --git a/lib/build/resources/main/x.png b/lib/build/resources/main/x.png new file mode 100644 index 0000000000000000000000000000000000000000..e8243fffc3dff0b145da19e983a27edeacd07a9d GIT binary patch literal 2325 zcmeAS@N?(olHy`uVBq!ia0y~yU}#`qVCdywV_;yYUr;2EU???UV0e|lz+g3lfkC`r z&aOZk1_lPUByV>YhW{YAVDIwD3=9mM1s;*b3=DinK$vl=HlH*D0|R@Br>`sfD<&2` zUgJK`6eR`*jz~`z$B>F!Z)0;O^o2_7yH~z;>l)FC?^`-9_#F-~nQ=yNpp+mIp&`HMESDXuUiw>Cq7X=b!nU3CB565%Io_iuO@xJ``z-o z<@xIS#^=|6KVBXGz0~%(&H2i8#d!|SNIk6&~+KTHRacr>EaTQx&+hEnQ z-%g70Te!*3uS^^dr6hzt&E_g-4A{S)HA9-8p_kRdouR;~;fnxAg6vDSD%*JqZIc~R zs{H;PUb5@0;DVw(2Xj;ycIr5=`=9g|eZa9Y?K=zO3p2)Z!VG^E9456h&G6jy`#CFT zmI~*Ui1R1%H5~*O`n9vJ5L4OE!4NOhFjsg%qdU_Lhh2eHw-~O+G%zvkNS!y~zeVRC zo!JVJGZ>8}tG`TmC5jJwIX3h<{M*jt5?jkZ&q?D%9^)j=i1v!?PaGRGrm~z+6iJ(uI>+>^aYyc) z%e4{Q=M{81L^v)SQ99Pj^6C4ryH5lY8kY%kZMi12jqg~=!~G|f4=AZ}Z|GKNa@WzR zF}zpyj9D&fA*;r=m=(!POISNHSsMQ+H_ozQ5<95lbnqEl%hEoE<(w5&jQ@5e1)n+G zeYPo9NI{uFN519O6Tt->RzhK?%Z?OpbZI!3cJZWI+vG4`ImYe>zK8A_EA^eeW6k-~ zo~quqt)Q2E!%OjmaJ z+1Xxwk{Hf#mG#HbqJ#H$y6H_lE8RTHMyGp$_`#Tq8>iT)tv=bT-gI!^SD1MnBP+U6g!X0PU-D-{!dY?_x-rlxgMl3 z{ARc#B;-5a)VY3LcBiXsXsTVqL`A79aU~OL`J%VX$MaziAA| zf>;)dH(5=A$FI(0Pv|+`d?RG~$?ut35icKJm|vmR&%hcG-cZwj;`^~Dg01p%*ZMI^ zJfE1B?%r^>>h-aDm5A2|@2&@_x^UploWiMpPBYzE?Zc|wbdZlbq0uPCo#nNx%KsI! zY~FA-Tsd{D_A&v;$axa>r_=~|uBraqEf`y3C4wTCmF zS3kokufo{#>49^=wjY1fp6dKubM5QK7=6v;kKzZ^`p+nc3x7M(-*7_y-9p)%HFYoZ`l-*NL82$X~vAoP>eX`~0ZFBqs1#0_h75=Mjwo2Q4`$he84{Qn!HXJ*Y4ZcBH%)a5%h){7}@mC=3AFTgi#hrZwmfAI$r zjtu-$jL*Mok>Tf@AXdhxqa;%1*|T$>|B2GT87JR6YGll_tgyOf%6079=Y5GP_GiDG z+!%YtQS{93Os8`@H+Ef1W!&Sd@kG4vR4udO_tZqC{n86vbM9Cba$o4V5VX!GH?LM< z|EfyX&9Qqr3y&FgHay(Iz*{SRpvLK85z7jZ1C=iJhRX~K|9Jd=ExNWl^1+6^l8b8{ zDy)P)bTBNgQQ6OxXzI%{L)u`S57ROx#;6}^4VH;ED=(K=+xs2Zc31j+1H;@i0Xe%p zYIPpI_Ae6g|JL|Nq&Q~R+ebAylFzk*gu8afiXYH%O8j)RsNV5%$*hgJwfzj5>n7d5 zH$yK+Jk@~nea5Ab57WAzs7t4JzfHU6gv}wAKYWy{Np39=fkhIf)3uraR$yT$<1u$jVw7k(&rzJ zSH8M3puxI{snq(U%*?m5b-fx+Em^-Pyv!k-Yf<#^a25ksrY%f+wjP-}!NtJzUc#{n z4L;0!%#QAJUlm<=XU{|?6VvotH`q3w|6cp~nM_N}B#v*K0jhG&_K&wNQ_;D-l(nL% z!r^mQ{+<8; literal 0 HcmV?d00001 diff --git a/lib/build/resources/naught.png b/lib/build/resources/naught.png new file mode 100644 index 0000000000000000000000000000000000000000..d7da89f244285929bbc6726a2e7723023d930736 GIT binary patch literal 2609 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 literal 0 HcmV?d00001 diff --git a/lib/build/resources/x.png b/lib/build/resources/x.png new file mode 100644 index 0000000000000000000000000000000000000000..e8243fffc3dff0b145da19e983a27edeacd07a9d GIT binary patch literal 2325 zcmeAS@N?(olHy`uVBq!ia0y~yU}#`qVCdywV_;yYUr;2EU???UV0e|lz+g3lfkC`r z&aOZk1_lPUByV>YhW{YAVDIwD3=9mM1s;*b3=DinK$vl=HlH*D0|R@Br>`sfD<&2` zUgJK`6eR`*jz~`z$B>F!Z)0;O^o2_7yH~z;>l)FC?^`-9_#F-~nQ=yNpp+mIp&`HMESDXuUiw>Cq7X=b!nU3CB565%Io_iuO@xJ``z-o z<@xIS#^=|6KVBXGz0~%(&H2i8#d!|SNIk6&~+KTHRacr>EaTQx&+hEnQ z-%g70Te!*3uS^^dr6hzt&E_g-4A{S)HA9-8p_kRdouR;~;fnxAg6vDSD%*JqZIc~R zs{H;PUb5@0;DVw(2Xj;ycIr5=`=9g|eZa9Y?K=zO3p2)Z!VG^E9456h&G6jy`#CFT zmI~*Ui1R1%H5~*O`n9vJ5L4OE!4NOhFjsg%qdU_Lhh2eHw-~O+G%zvkNS!y~zeVRC zo!JVJGZ>8}tG`TmC5jJwIX3h<{M*jt5?jkZ&q?D%9^)j=i1v!?PaGRGrm~z+6iJ(uI>+>^aYyc) z%e4{Q=M{81L^v)SQ99Pj^6C4ryH5lY8kY%kZMi12jqg~=!~G|f4=AZ}Z|GKNa@WzR zF}zpyj9D&fA*;r=m=(!POISNHSsMQ+H_ozQ5<95lbnqEl%hEoE<(w5&jQ@5e1)n+G zeYPo9NI{uFN519O6Tt->RzhK?%Z?OpbZI!3cJZWI+vG4`ImYe>zK8A_EA^eeW6k-~ zo~quqt)Q2E!%OjmaJ z+1Xxwk{Hf#mG#HbqJ#H$y6H_lE8RTHMyGp$_`#Tq8>iT)tv=bT-gI!^SD1MnBP+U6g!X0PU-D-{!dY?_x-rlxgMl3 z{ARc#B;-5a)VY3LcBiXsXsTVqL`A79aU~OL`J%VX$MaziAA| zf>;)dH(5=A$FI(0Pv|+`d?RG~$?ut35icKJm|vmR&%hcG-cZwj;`^~Dg01p%*ZMI^ zJfE1B?%r^>>h-aDm5A2|@2&@_x^UploWiMpPBYzE?Zc|wbdZlbq0uPCo#nNx%KsI! zY~FA-Tsd{D_A&v;$axa>r_=~|uBraqEf`y3C4wTCmF zS3kokufo{#>49^=wjY1fp6dKubM5QK7=6v;kKzZ^`p+nc3x7M(-*7_y-9p)%HFYoZ`l-*NL82$X~vAoP>eX`~0ZFBqs1#0_h75=Mjwo2Q4`$he84{Qn!HXJ*Y4ZcBH%)a5%h){7}@mC=3AFTgi#hrZwmfAI$r zjtu-$jL*Mok>Tf@AXdhxqa;%1*|T$>|B2GT87JR6YGll_tgyOf%6079=Y5GP_GiDG z+!%YtQS{93Os8`@H+Ef1W!&Sd@kG4vR4udO_tZqC{n86vbM9Cba$o4V5VX!GH?LM< z|EfyX&9Qqr3y&FgHay(Iz*{SRpvLK85z7jZ1C=iJhRX~K|9Jd=ExNWl^1+6^l8b8{ zDy)P)bTBNgQQ6OxXzI%{L)u`S57ROx#;6}^4VH;ED=(K=+xs2Zc31j+1H;@i0Xe%p zYIPpI_Ae6g|JL|Nq&Q~R+ebAylFzk*gu8afiXYH%O8j)RsNV5%$*hgJwfzj5>n7d5 zH$yK+Jk@~nea5Ab57WAzs7t4JzfHU6gv}wAKYWy{Np39=fkhIf)3uraR$yT$<1u$jVw7k(&rzJ zSH8M3puxI{snq(U%*?m5b-fx+Em^-Pyv!k-Yf<#^a25ksrY%f+wjP-}!NtJzUc#{n z4L;0!%#QAJUlm<=XU{|?6VvotH`q3w|6cp~nM_N}B#v*K0jhG&_K&wNQ_;D-l(nL% z!r^mQ{+<8; literal 0 HcmV?d00001 diff --git a/lib/build/scripts/lib b/lib/build/scripts/lib new file mode 100755 index 0000000..88d3ff1 --- /dev/null +++ b/lib/build/scripts/lib @@ -0,0 +1,250 @@ +#!/bin/sh + +# +# Copyright © 2015 the original authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# + +############################################################################## +# +# lib start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh lib +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and LIB_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# +############################################################################## + +# Attempt to set APP_HOME + +# Resolve links: $0 may be a link +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +# This is normally unused +# shellcheck disable=SC2034 +APP_BASE_NAME=${0##*/} +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd -P "${APP_HOME:-./}.." > /dev/null && printf '%s\n' "$PWD" ) || exit + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD=maximum + +warn () { + echo "$*" +} >&2 + +die () { + echo + echo "$*" + echo + exit 1 +} >&2 + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; +esac + +CLASSPATH=$APP_HOME/lib/lib-1.0.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD=$JAVA_HOME/jre/sh/java + else + JAVACMD=$JAVA_HOME/bin/java + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD=java + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +fi + +# Increase the maximum file descriptors if we can. +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac +fi + +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and LIB_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + + +# Add default JVM options here. You can also use JAVA_OPTS and LIB_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. + +set -- \ + -classpath "$CLASSPATH" \ + edu.tictactoe.App \ + "$@" + +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $LIB_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + +exec "$JAVACMD" "$@" diff --git a/lib/build/scripts/lib.bat b/lib/build/scripts/lib.bat new file mode 100644 index 0000000..654a355 --- /dev/null +++ b/lib/build/scripts/lib.bat @@ -0,0 +1,94 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem +@rem SPDX-License-Identifier: Apache-2.0 +@rem + +@if "%DEBUG%"=="" @echo off +@rem ########################################################################## +@rem +@rem lib startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME%.. + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and LIB_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if %ERRORLEVEL% equ 0 goto execute + +echo. 1>&2 +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. 1>&2 +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\lib\lib-1.0.jar + + +@rem Execute lib +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %LIB_OPTS% -classpath "%CLASSPATH%" edu.tictactoe.App %* + +:end +@rem End local scope for the variables with windows NT shell +if %ERRORLEVEL% equ 0 goto mainEnd + +:fail +rem Set variable LIB_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%LIB_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/lib/build/tmp/compileJava/compileTransaction/stash-dir/App$1.class.uniqueId2 b/lib/build/tmp/compileJava/compileTransaction/stash-dir/App$1.class.uniqueId2 new file mode 100644 index 0000000000000000000000000000000000000000..0c8c36bff943bda22d126b156ee75c676e76a145 GIT binary patch literal 622 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 A!TYp@7Ri)V6vp0#EeCj$oqCp!Zd4+A#?49 zFfxcjRKiVz#1$8V9)mtRg8>hNA%hVkgD{q8U}WGA$Vsep1qDTDK}uptDkB54hGrNC zg9#%8n|_5}L0&o+gBgQ4JA(xegC&C%BZDHUF+r)t`K3k4sbB~C|^tKM@i% zZbkXIFeQu(Mi6(Rq%uwXLCe8l!^ps`4+&I|b2u367#X5sSrOd*ML_ivVk^sZ}$Kk%7fIKP8osf!`-HFV(L!Hz~C!Brz!`m61WnCqFqc zCoHij6U2uKvXo?G7BezPV>1qtL#!DYSaTASQgc8ifZdOr`4|~E!6^+A!Qwa^%gDf) zo>~$C4tz!i1q}j$$;iN$o?7CENT7@iyy>YWPVkh;$iSZn&N2b1MQQm(xv43P4D!&h z10{as&;=(NYf#8ArZO_ffL(|Y1rSAy3>-GeInbhpD;S($+%iF7CxBFB=z#)(L6L!j zfr){U!JdJIK?;-&85kI(Kv@e+D>KM4Ffa&!N*@LW1~vvp237_~21W)a1_p)-26hG( z1_lNNEp46c42)X3TN&83b~ErsGBYzXZ)f1&#vr7nwT(e+BLf2i6N57Y1A`a?D+2?A z2m>2~C<8Zx7=sjpIDAUT#2~euL2Vm@rq&h)_H7Kh2%qyYFf%YPXfW_GXfcQ~ zXoGz$2GI%ku^2-jLl6Ta0|!GegAvqxOQ`Q8g^YJFm~Li}60!!R? literal 0 HcmV?d00001 diff --git a/lib/build/tmp/compileJava/compileTransaction/stash-dir/SystemPlayTask.class.uniqueId1 b/lib/build/tmp/compileJava/compileTransaction/stash-dir/SystemPlayTask.class.uniqueId1 new file mode 100644 index 0000000000000000000000000000000000000000..7fa73c12d058da095cc7cdb9236d685ba147d029 GIT binary patch literal 1495 zcmX^0Z`VEs1_nol5H1EL24;2!79Ivx1~x_p;jF~6ME%l|%pCoY%-qzXki_C_Mg}&U z%)HDJJ4Oa(4b3o41`Y;Jb_OmU25tr(Mh2PGlv4eY%;b{9UHBT@p)Dxfp~Qn7J6l86?;lBzYL57^G2+Eh);( zOJ`(YFH6iRP4!P>WKh%a0h<7})jugKHMzuE6GR3H!(Za zIX^Esu_QdRB*QsBuec;JucR2wFsM!}hH)_{GAOY#DDyC=FsQ-;9o2J;4D1CUujb@2 zGKeBO5oT%_D+2_ia4~2yXt6VB^DyWz=%V-*;vGf?mh!~R5=I6V4KK|wE(U!D19k>O z9tI-@V@3vHEYZTqAX=PS;+mJ3l#`kg>gk-HSCW{Sms$ieAxblhoxzlmK@JgUo_Qsy zMMb3rC8;T{70IauC7JnoTnr`*<~$4*pftq~_DFC^Vsds!QDSl`BZGtn*3_UG#>l|p zoS%})$iVNDnV0HUnwtblf=M~4j0{3P`N@enVTnbVAZLYu2u22$l8nq^Mg}=F<4_Z! zH6sIaQE46{17j*9g91|2Vsp4PBLgqkslJH?P)oRi^Gl18Q{6H_&fo$kTs@HQ85sne z^7BiIONtT;d{av@@>7aA7~B~dgh44^A+;hkxwIrTMIo`oN`aA|jlq+P!HdD0oxul` zihLOvR6u6vgOgomURi#2sy-xYAqmS3l%0wy85w3EM?O>`#5Rw_yp){OVilkK{Or;K zYb1|B3_=z`(HK%$kcun`RUVCG0wm?2WCW-Y&WSlW!I>qg){G21o_TqxMb0^i#l@+` z>*wh3=9m63<97Mhk*giV`Z>pU}Ugj zU|?`#U;>M9X>Dg<)Y9I{z`hZz#+reFfscWifq_AbfrUYvfs;Xp!G?i>K@6gr!Ir@e zoPoH&rZO@xGT1Y)LCx%AU#B2C-cXG7Jpc7!qg_d1Wj z+vR0as!0{P7Zr8a+@H2LPSi=viCLVXH9xT^MS`KNw4@|IPk>un0Q@ck8)cakZ@o-8yNqI@@$>_;4v}GlhC058Wv=x_U=B2Zp@9JjAafc(idZ!CG<~!@wS#o@ zb@f@<*f}`4^cY$}?qgtJU}VtOGjK9=(h--?193%-^bA1^CNX|vJrhSAUNDD;8)Ogz E0A*=ubN~PV literal 0 HcmV?d00001 diff --git a/lib/build/tmp/jar/MANIFEST.MF b/lib/build/tmp/jar/MANIFEST.MF new file mode 100644 index 0000000..8edcde5 --- /dev/null +++ b/lib/build/tmp/jar/MANIFEST.MF @@ -0,0 +1,6 @@ +Manifest-Version: 1.0 +Main-Class: edu.tictactoe.App +Implementation-Title: edu.tictactoe.App +Implementation-Version: 1.0 +Class-Path: edu.tictactoe . + diff --git a/lib/src/main/java/edu/tictactoe/App.java b/lib/src/main/java/edu/tictactoe/App.java new file mode 100644 index 0000000..e94deea --- /dev/null +++ b/lib/src/main/java/edu/tictactoe/App.java @@ -0,0 +1,54 @@ +package edu.tictactoe; + +import java.awt.*; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; +import java.awt.image.BufferedImage; + +import javax.swing.ImageIcon; + +public final class App { + // main function + public static void main(String[] args) throws Exception { + { + EventQueue.invokeLater(() -> { + // 1. Create the Frame + Frame frame = new Frame("TicTacToe"); + + // 2. Set the layout manager to GridLayout (3 rows, 2 columns) + frame.setLayout(new GridLayout(3, 3)); + frame.setEnabled(false); + Board board = new Board(frame); + BufferedImage blankImage = BoardButton.getBlankImage(); + + frame.add(new BoardButton("0", new ImageIcon(blankImage), board)); + frame.add(new BoardButton("1", new ImageIcon(blankImage), board)); + frame.add(new BoardButton("2", new ImageIcon(blankImage), board)); + frame.add(new BoardButton("3", new ImageIcon(blankImage), board)); + frame.add(new BoardButton("4", new ImageIcon(blankImage), board)); + frame.add(new BoardButton("5", new ImageIcon(blankImage), board)); + frame.add(new BoardButton("6", new ImageIcon(blankImage), board)); + frame.add(new BoardButton("7", new ImageIcon(blankImage), board)); + frame.add(new BoardButton("8", new ImageIcon(blankImage), board)); + + // 4. Set frame properties + frame.setSize(480, 480); // Set an initial size + frame.pack(); + frame.setResizable(false); + frame.setLocationRelativeTo(null); // Center + frame.setEnabled(true); + frame.setVisible(true); // Make the frame visible + + + // 5. Add a window listener to handle the close button + frame.addWindowListener(new WindowAdapter() { + @Override + public void windowClosing(WindowEvent e) { + System.exit(0); + } + }); + }); + + } + } +} \ No newline at end of file diff --git a/lib/src/main/java/edu/tictactoe/Board.java b/lib/src/main/java/edu/tictactoe/Board.java new file mode 100644 index 0000000..a67a789 --- /dev/null +++ b/lib/src/main/java/edu/tictactoe/Board.java @@ -0,0 +1,50 @@ +package edu.tictactoe; + +import java.util.Random; +import java.util.Timer; +import java.util.TimerTask; + +import java.awt.Frame; + +public final class Board { + final int User = 1; + final int System = 0; + final Timer timer = new Timer(); + + Frame frame = null; + + public Board(Frame frame) { + this.frame = frame; + } + + public static int getRandomPlay() { + Random random = new Random(); + // Generate a random integer from 0 to 8. + return random.nextInt(9); + } + + protected void setEnabledUIContainer(boolean enabled) { + this.frame.setEnabled(enabled); + } + + void PlayEventUpdate() { + long delay = 1800; + frame.setEnabled(false); + timer.schedule(new SystemPlayTask(this), delay); + } +} + +class SystemPlayTask extends TimerTask { + final Board board; + + SystemPlayTask(Board board) { + super(); + this.board = board; + } + + @Override + public void run() { + System.out.println("Task executed at: " + new java.util.Date()); + board.setEnabledUIContainer(true); + } +} diff --git a/lib/src/main/java/edu/tictactoe/BoardButton.java b/lib/src/main/java/edu/tictactoe/BoardButton.java new file mode 100644 index 0000000..7a344be --- /dev/null +++ b/lib/src/main/java/edu/tictactoe/BoardButton.java @@ -0,0 +1,44 @@ +package edu.tictactoe; + +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.image.BufferedImage; + +import javax.swing.ImageIcon; +import javax.swing.JButton; + +public class BoardButton extends JButton implements ActionListener { + + // Board + private static final BufferedImage xImage = ResourceImageLoader.loadImageFromResource("/x.png"); + private static final BufferedImage naughtImage = ResourceImageLoader.loadImageFromResource("/naught.png"); + private static final BufferedImage blankImage = ResourceImageLoader.loadImageFromResource("/blank.png"); + + final Board board; + + public BoardButton(String label, ImageIcon imageIcon, Board board) { + super(label, imageIcon); + this.board = board; + this.setMargin(new java.awt.Insets(0, 0, 0, 0)); + this.addActionListener(this); + } + + public static final BufferedImage getXImage() { + return xImage; + } + + public static final BufferedImage getNaughtImage() { + return naughtImage; + } + + public static final BufferedImage getBlankImage() { + return blankImage; + } + + @Override + public void actionPerformed(ActionEvent e) { + this.setIcon(new ImageIcon(xImage)); + + board.PlayEventUpdate(); + } +} diff --git a/lib/src/main/java/edu/tictactoe/ResourceImageLoader.java b/lib/src/main/java/edu/tictactoe/ResourceImageLoader.java new file mode 100644 index 0000000..d6d6993 --- /dev/null +++ b/lib/src/main/java/edu/tictactoe/ResourceImageLoader.java @@ -0,0 +1,22 @@ +package edu.tictactoe; + +import javax.imageio.ImageIO; +import java.awt.image.BufferedImage; +import java.io.IOException; +import java.io.InputStream; + +public final class ResourceImageLoader { + public static BufferedImage loadImageFromResource(String resourcePath) { + try (InputStream is = ResourceImageLoader.class.getResourceAsStream(resourcePath)) { + if (is == null) { + System.err.println( + "Resource not found: at " + ResourceImageLoader.class.getResource("/") + " - " + resourcePath); + return null; + } + return ImageIO.read(is); + } catch (IOException e) { + e.printStackTrace(); + return null; + } + } +} \ No newline at end of file diff --git a/lib/src/main/resources/blank.png b/lib/src/main/resources/blank.png new file mode 100644 index 0000000000000000000000000000000000000000..2112b71243ddb89d931af9e9f486a0d4eeda0d11 GIT binary patch literal 4451 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 literal 0 HcmV?d00001 diff --git a/lib/src/main/resources/x.png b/lib/src/main/resources/x.png new file mode 100644 index 0000000000000000000000000000000000000000..e8243fffc3dff0b145da19e983a27edeacd07a9d GIT binary patch literal 2325 zcmeAS@N?(olHy`uVBq!ia0y~yU}#`qVCdywV_;yYUr;2EU???UV0e|lz+g3lfkC`r z&aOZk1_lPUByV>YhW{YAVDIwD3=9mM1s;*b3=DinK$vl=HlH*D0|R@Br>`sfD<&2` zUgJK`6eR`*jz~`z$B>F!Z)0;O^o2_7yH~z;>l)FC?^`-9_#F-~nQ=yNpp+mIp&`HMESDXuUiw>Cq7X=b!nU3CB565%Io_iuO@xJ``z-o z<@xIS#^=|6KVBXGz0~%(&H2i8#d!|SNIk6&~+KTHRacr>EaTQx&+hEnQ z-%g70Te!*3uS^^dr6hzt&E_g-4A{S)HA9-8p_kRdouR;~;fnxAg6vDSD%*JqZIc~R zs{H;PUb5@0;DVw(2Xj;ycIr5=`=9g|eZa9Y?K=zO3p2)Z!VG^E9456h&G6jy`#CFT zmI~*Ui1R1%H5~*O`n9vJ5L4OE!4NOhFjsg%qdU_Lhh2eHw-~O+G%zvkNS!y~zeVRC zo!JVJGZ>8}tG`TmC5jJwIX3h<{M*jt5?jkZ&q?D%9^)j=i1v!?PaGRGrm~z+6iJ(uI>+>^aYyc) z%e4{Q=M{81L^v)SQ99Pj^6C4ryH5lY8kY%kZMi12jqg~=!~G|f4=AZ}Z|GKNa@WzR zF}zpyj9D&fA*;r=m=(!POISNHSsMQ+H_ozQ5<95lbnqEl%hEoE<(w5&jQ@5e1)n+G zeYPo9NI{uFN519O6Tt->RzhK?%Z?OpbZI!3cJZWI+vG4`ImYe>zK8A_EA^eeW6k-~ zo~quqt)Q2E!%OjmaJ z+1Xxwk{Hf#mG#HbqJ#H$y6H_lE8RTHMyGp$_`#Tq8>iT)tv=bT-gI!^SD1MnBP+U6g!X0PU-D-{!dY?_x-rlxgMl3 z{ARc#B;-5a)VY3LcBiXsXsTVqL`A79aU~OL`J%VX$MaziAA| zf>;)dH(5=A$FI(0Pv|+`d?RG~$?ut35icKJm|vmR&%hcG-cZwj;`^~Dg01p%*ZMI^ zJfE1B?%r^>>h-aDm5A2|@2&@_x^UploWiMpPBYzE?Zc|wbdZlbq0uPCo#nNx%KsI! zY~FA-Tsd{D_A&v;$axa>r_=~|uBraqEf`y3C4wTCmF zS3kokufo{#>49^=wjY1fp6dKubM5QK7=6v;kKzZ^`p+nc3x7M(-*7_y-9p)%HFYoZ`l-*NL82$X~vAoP>eX`~0ZFBqs1#0_h75=Mjwo2Q4`$he84{Qn!HXJ*Y4ZcBH%)a5%h){7}@mC=3AFTgi#hrZwmfAI$r zjtu-$jL*Mok>Tf@AXdhxqa;%1*|T$>|B2GT87JR6YGll_tgyOf%6079=Y5GP_GiDG z+!%YtQS{93Os8`@H+Ef1W!&Sd@kG4vR4udO_tZqC{n86vbM9Cba$o4V5VX!GH?LM< z|EfyX&9Qqr3y&FgHay(Iz*{SRpvLK85z7jZ1C=iJhRX~K|9Jd=ExNWl^1+6^l8b8{ zDy)P)bTBNgQQ6OxXzI%{L)u`S57ROx#;6}^4VH;ED=(K=+xs2Zc31j+1H;@i0Xe%p zYIPpI_Ae6g|JL|Nq&Q~R+ebAylFzk*gu8afiXYH%O8j)RsNV5%$*hgJwfzj5>n7d5 zH$yK+Jk@~nea5Ab57WAzs7t4JzfHU6gv}wAKYWy{Np39=fkhIf)3uraR$yT$<1u$jVw7k(&rzJ zSH8M3puxI{snq(U%*?m5b-fx+Em^-Pyv!k-Yf<#^a25ksrY%f+wjP-}!NtJzUc#{n z4L;0!%#QAJUlm<=XU{|?6VvotH`q3w|6cp~nM_N}B#v*K0jhG&_K&wNQ_;D-l(nL% z!r^mQ{+<8; literal 0 HcmV?d00001 diff --git a/readme.txt b/readme.txt new file mode 100644 index 0000000..7b3843e --- /dev/null +++ b/readme.txt @@ -0,0 +1,12 @@ +Tic-Tac-Toe is a two-player game played on a 3X3 grid +where players alternate placing 'X' or 'O' in an empty +space in the grid. The first player to lineup three marks +in a row, column, or diagonal wins. X goes first, +players alternate turns, and only one player can have +a winning line (or no one). If a player has won, the game +ends immediately, and no more moves can be made. + +considering players + 3x3 = 9 + X has 5 moves. + O has 4 moves. diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 0000000..049cfff --- /dev/null +++ b/settings.gradle @@ -0,0 +1,15 @@ +/* + * This file was generated by the Gradle 'init' task. + * + * The settings file is used to specify which projects to include in your build. + * For more detailed information on multi-project builds, please refer to https://docs.gradle.org/9.0.0/userguide/multi_project_builds.html in the Gradle documentation. + * This project uses @Incubating APIs which are subject to change. + */ + +plugins { + // Apply the foojay-resolver plugin to allow automatic download of JDKs + id 'org.gradle.toolchains.foojay-resolver-convention' version '1.0.0' +} + +rootProject.name = 'tictactoe' +include('lib')