From bf15b4da2c87cf6cfac30916f0df9a962aad29e5 Mon Sep 17 00:00:00 2001 From: romca Date: Fri, 23 May 2025 09:57:49 +0200 Subject: [PATCH] sound --- OOP_1A2_Project/bin/.gitignore | 1 - OOP_1A2_Project/bin/backend/Board.class | Bin 10334 -> 10494 bytes .../bin/windowInterface/move-self.wav | Bin 0 -> 29660 bytes .../bin/windowInterface/movesound.wav | Bin 0 -> 29660 bytes OOP_1A2_Project/src/backend/Board.java | 21 +++++++++++++++--- OOP_1A2_Project/src/backend/Sound.java | 15 ++----------- 6 files changed, 20 insertions(+), 17 deletions(-) create mode 100644 OOP_1A2_Project/bin/windowInterface/move-self.wav create mode 100644 OOP_1A2_Project/bin/windowInterface/movesound.wav diff --git a/OOP_1A2_Project/bin/.gitignore b/OOP_1A2_Project/bin/.gitignore index ac72981..6d0c385 100644 --- a/OOP_1A2_Project/bin/.gitignore +++ b/OOP_1A2_Project/bin/.gitignore @@ -1,2 +1 @@ -/windowInterface/ /backend/ diff --git a/OOP_1A2_Project/bin/backend/Board.class b/OOP_1A2_Project/bin/backend/Board.class index b542ca761bc9e3874068a9184a27354a91cf094d..afa6e690ecc82d0a4697c73e9fd72b6f8685c779 100644 GIT binary patch literal 10494 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

^*Ks WR2~p z+qU%I=nUip{@wAx+>k)J1c4zZzH^9^;oL|j*)uZS?_>ls;@Q5Tc+T0zIevF7ze~rR z0VgY{?KT8Qa`8ml+Ds<4w>zHAbqLCP<2#cv5^)5LrM_9+oo8;VlImE)MYD&vc|sX* z2DhfN@mxHWpk+zrcD*7ZBC6ki}Q;ORl8rM-$cGrnZ5rfH%3)vU3u0?P(jY% zHG&#?WK_uf7u%_k)$wFJw}$F$>grl{wZQ634LV`?Fwe$Z)Cqh|%dQS$ zK8cl3Ss3-0R}R5K8x^S3(OEXCVe4p#joGNx(NY_8+|e={egt%`*+$SEwb}@|qc$7m z21HnuA9K*kv+v~=o98@=Y6Z2V?UY`|4&VVXQb)0g1$T9?gh zY-|Um_QeJVmCYhZxvto;jBkUUuaT!5g;eNGaTFstop29-h-QiNCtYkX*PUpcq_f*o z-wc;`?`dW_l^#jNa*i==m>AhuKNmri7CWOX8Nc~YHOr$%gynyGd1>`*GLQ+sUe)hYiKBaUMTz1_wwhS25l z+fWBM6*qrn<00&)&DB?ov1_^6Y5ML6Q(J#+;}P6N8}ZxTk>TN3X0MWX z)W&tVsG33lpp8Q~ESNhS+vRkok^?b1XKsk2Y%Z3}(Wx7YA?K-}gjTAFh=VHLM{GQf zi^$$kEZaj#s!@iI>MkD>Tu_2m5uo3Ux(^49J7q@_R8IBjtBB|Uevxo;RCW+gPRUw% zgKDfXfTmz`r03H&j;~odQc(fdbz{K3H%)uI~q%jI9qlo$fg9Xe2P(OFWUHwg1Uym zdcgSYrhJyn>K>o7@p+9#p?ETPwbIi?U$F5-T~uK_p?HDdB^&>MFEJX%vy(3zMkJHC zuGQ6Fw(%8RU73xII-Mh#jFZeUIOm)ozACWu0M%3*#>@C;4S)Y)gy<>?fNti{*!MEN zZsQvUO7Sdtj1TJEH*Nfz?hrVwY}M#Gi>80_$kA7YJ~Rp>YaG1Z7Tx{wUTjS!we)pqyE+x3xm>ir+X=ZB7Ph1 z#$6!^(q+S89FcNc!ZL#j$fgrMQ^`bxBYl?q)iVew`+_f(xgp91KhF|70yvc&n ze3zm?)9uKssiuUIC`P|lpWKiNHbbq$7_%%bqk=+n&1ovJP~GN;G}*FDgT6&MhIOLZ zmKLoc0?th%u>}49h%C3IP0r@jz)&osA14`~b8R_K&Zp<>$fSn7oT1xwP77eB zq+lqKmA0&s3&?XimdQE{LVrT_T|sFVEGUFEx5(R&%FvZA-80~%wQ?s4V%iZ4 zQK5(%Q3ynOow69~pTrYM@ zoei-8ZST~5Df~mlVaNO0CAcY;985Ub#oeqaN75Zd*z#gR(ae;E#z~4^dY>1&ZoY~y z`pP5G8A~L3SyFaX1SA=f5!Rc15|Z7#uj8FA;uC2J$=f+0;gH-)OH8Jwg$>fMJD$ug z49Pq6!xo_-x{^sJ)0v26vkI0_zTpkZ9c&j*(^M(hgL0=}{+oYFNV|%{LY4(SR+;6j z0oiwQRHj|0xwGdqcXpiS&VG|$&otv%{Eq$X zi_a>#xTECamg$R^mR!6V7nNXp`SiujB^R%ueq2lLq=rc(9bHG6RZabP3$77#nH97{CpH>6&v*Bolykk2N#$H`WGW+PYmH1k(m2b=WECXw zOPfmKPh-7Fu@TAQ`H_f)0@wJCJVGHBxR=W2UjI!IX1XnRiUClS!a1Ep8F1o^Pbb|Zo z29Fai#|e}#6C&RyI9|h`gyG11?2z-YQ#N5pu18!lta|U_q17Wu6x>S=c(4n}2XQN@ zF@4H?q^<5%Dfi+X9QjZy@4-7cvT&x{f!jIqV}aa;cX1TJB093VVbFlG0c8_pIK+4p z#EsMb6V=V!gC}adY7Se;yFxvrCK|^bsuwrlhj|B5q?#@YaUqXi(dNpfA&>J*4HXYm zzo*-G(HQPj7fx2+-EO%=?`aQ=VN)dVDZF2x(ao=6Nu%3&I#7>}>fpg~JlsyZkK@38 zR78Tu@gbny8iTFl59?ToJSKQ};_2pybsS?rx99pzhbG?Nd>kLwnKG&4&e1~?dz+sm zUvAjmz>Eo={rQk1wH3G(Qg)SV4t1LyTMUxi98sD+g$1GeW?Gn+4GlrVhyumg%w`f@6v(f#JjaDs_4Ck2O`ChVcH)VPs z!{gm(p%w~t$MQVFnGQZ-s;hcpRTD!Qp61S4OoYt4SsZz(a{@IU_w}y)6@15oD_#|~ zia1RcEAjv%NE#wmp5LBUH(|`=UD4%leNtZ<=3kKlBwXh2W9f81mf{06(0ye5LBo91 zsAYx6Jhw9DR99KynRqUoO#~ZOnvN`e1a<*;3R8NX^YOQ8^^Of zWPR~Tgn4WH0+zL&lrzZf0X{B2C^Mt;p2cx39qY`!k*VZ`F}$X0#_?I^!UejHLrOQh zsK^}0$uWFIYZv{_`-Z#GbF7mXH(USxe(WW^e|!!vZ=d?%ygF90|Kz&o*Y;zby5he+ zi*JqNdpi7&{aA1m|HU;dj6&7_GX{V4&yVAmpk01Nyy!Q--H#dkruz4sn$Fj%){|H= zDI`ngl0sHZU8Vuab>RD%y@7|R#zz>O5Af+xLhVDe&_Px(hv^_6X1IQg4*U^@=f`QK zF?GDpvK8`1OJxWMDjpup&Iz{*%jrAiQTK){5=DFDO_zg}- zIgdiC@Pb6}qSWIv(tyv(5`0dg_`EE~O9m-xT(jnpB5ir3aHKU6n-OWk9}H4P@hslp z$RZb4VS;dSYoZMZzm8fu^^(R3#1SwkGCoc>e_12>s}n@i^m!JQuQCRND^8(u$tgOv zV(&|ylibXmebksi!%1R^h&c%@lROMn>Wqsazx9NV|0Z?q*0^8BEFQKt;j2aN9L>v# zXkJc^TshTwEtEAfrAV1*Nlj;!ZJg64Y&W-yS~on8Bi+$)u{O8VNMKw-J-(In-j>!{ z>s&=%jo9NdYd@-4p%73~Z4Hh~ZM(m@){6Lh_gPY_StWWH;aaQp#G#3on)Q)C#AJDm zM8*)Pk$HS>IZlhAwxz-)8^x9hSY{Wl{Jo0_X>f z`9CZemzlurox&KF23bhKDwx$55m05Ma)X@3IUlQq)kYB(DK^MrzIBb;i@*do($El; zCA1f>wEXK>!0{=BPN8Cg;n_s%{CoBb{Ahyor%wBHTEjjYQEB9r8ZP?*eS+<+T=r)* zqLm@-MD-dibe%;F=pxPG_t!O_ID{FhTRz?1Tz76yt1(Te-7@{k^%1Mqf9|*}HNA>d z`wwAbBv5_#xJ37Z`M#ai87;3%y%tB}W6cJo6QE8P6z3B5evjcb#e|iJ{BjW$Z z>;-?q2=r5SKR?6e_&FodF9@VxvXpq0McS{igN0#&F=Z6L!#(&tW7q49QE%XrM8aqJ z?i*b9eevTb62Px$;Zuw~6Fji4;E{E;=(%wPIjSO0)jU(J;n`^|4@Bq4YMv)wED>4H z^WrXX8~%No;^nfur^;p0L4XQ2F?zb5dOdD70QHftn@D3J<%%O|JlanlH_JtYZ-87b zFJa?@rWzo?_~PAo_D-lFFcyf2@6 zcElN$?)R`{Yblg$dGBK7wuwKN^XEbS9Pr#MU(0<}=`GeugZD-~rz$$fqH;M)1#c}w zU*W}~LQd|X)R3hVYud3CGhPdSKX5)Xv$k6Ap9uV5RwNV?ESuU<;TbrV#*awXm(y=*bJ z72$QrlVK4fkyaYQwzf|HEQ-46Wg~eVn_J&x;qA^;c?jlT1kGYtn#;n2@$W5cTU~d% zk#}td>zl{Hy6}wVae3>*sL~>mGhT&Q0EO#RePnz)9ppO9k++hC8w`_kTtbt^tv5xG zTlceIsN-w?de__cVroL|QbqkNdJeKZ`i#W#2UF+-cVocbX611ij1c81wEl!AQ?kq$Uu#k@b-ahf8_aIjtX6llfE9LiuRIBu^?d zjJmE>>Fuws>qi-*K6Aw`K9os N^ZR$nK6y7He*_)uyX*h} diff --git a/OOP_1A2_Project/bin/windowInterface/move-self.wav b/OOP_1A2_Project/bin/windowInterface/move-self.wav new file mode 100644 index 0000000000000000000000000000000000000000..0d3477eb8b1339b42871f6efe1cfa116cc134ab3 GIT binary patch literal 29660 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 literal 0 HcmV?d00001 diff --git a/OOP_1A2_Project/bin/windowInterface/movesound.wav b/OOP_1A2_Project/bin/windowInterface/movesound.wav new file mode 100644 index 0000000000000000000000000000000000000000..0d3477eb8b1339b42871f6efe1cfa116cc134ab3 GIT binary patch literal 29660 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 literal 0 HcmV?d00001 diff --git a/OOP_1A2_Project/src/backend/Board.java b/OOP_1A2_Project/src/backend/Board.java index 0c55eae..000669f 100644 --- a/OOP_1A2_Project/src/backend/Board.java +++ b/OOP_1A2_Project/src/backend/Board.java @@ -17,6 +17,9 @@ public class Board { private Integer selectedX = null; private Integer selectedY = null; + // Add Sound instance + private Sound sound; + public Board(int colNum, int lineNum) { this.width = colNum; this.height = lineNum; @@ -25,6 +28,7 @@ public class Board { this.pieces = new ArrayList<>(); this.highlightedPositions = new ArrayList<>(); this.boardHistory = new ArrayList<>(); + this.sound = new Sound(); // Initialize Sound instance } public int getWidth() { @@ -175,7 +179,7 @@ public class Board { if (move.isValid()) { move.execute(); - Sound.getInstance().playMoveSound(); + sound.playMoveSound(); // Use instance method if (move.putsOpponentInCheckmate()) { System.out.println("Checkmate! " + (isWhiteTurn ? "Black" : "White") + " wins!"); @@ -234,6 +238,7 @@ public class Board { this.height = 8; this.pieces = new ArrayList<>(); this.boardHistory = new ArrayList<>(); + this.sound = new Sound(); // Initialize Sound instance for (int y = 0; y < height; y++) { if (y >= array.length) { @@ -314,6 +319,9 @@ public class Board { // Initialize board history for copy constructor this.boardHistory = new ArrayList<>(); + + // Initialize Sound instance (don't copy the sound instance) + this.sound = new Sound(); } private void clearHighlights() { @@ -346,8 +354,8 @@ public class Board { move.execute(); - // Play the move sound - Sound.getInstance().playMoveSound(); + // Play the move sound using instance method + sound.playMoveSound(); } } @@ -386,4 +394,11 @@ public class Board { public boolean canUndo() { return !boardHistory.isEmpty(); } + + // Add cleanup method to properly dispose of sound resources + public void cleanup() { + if (sound != null) { + sound.cleanup(); + } + } } \ No newline at end of file diff --git a/OOP_1A2_Project/src/backend/Sound.java b/OOP_1A2_Project/src/backend/Sound.java index c854b4c..641017d 100644 --- a/OOP_1A2_Project/src/backend/Sound.java +++ b/OOP_1A2_Project/src/backend/Sound.java @@ -1,6 +1,5 @@ package backend; - import javax.sound.sampled.AudioInputStream; import javax.sound.sampled.AudioSystem; import javax.sound.sampled.Clip; @@ -9,23 +8,14 @@ import javax.sound.sampled.UnsupportedAudioFileException; import java.io.File; import java.io.IOException; - public class Sound { - private static Sound instance; private Clip moveSound; - private static final String SOUND_FILE_PATH = "movesound.wav"; + private final String SOUND_FILE_PATH = "movesound.wav"; - private Sound() { + public Sound() { loadSound(); } - public static Sound getInstance() { - if (instance == null) { - instance = new Sound(); - } - return instance; - } - private void loadSound() { try { File soundFile = new File(SOUND_FILE_PATH); @@ -49,7 +39,6 @@ public class Sound { moveSound.start(); } } - public void cleanup() { if (moveSound != null) {