From 51b701663d52eb1be92a8afb7c3f3c76569da56c Mon Sep 17 00:00:00 2001 From: sepia Date: Mon, 28 Jul 2025 21:34:23 -0500 Subject: [PATCH] Add sounds --- public/index.html | 1 + public/scripts/make-sounds.js | 22 ++++++++++++ public/sounds/defeat.ogg | Bin 0 -> 34434 bytes public/sounds/draw.ogg | Bin 0 -> 38508 bytes public/sounds/move.ogg | Bin 0 -> 6823 bytes public/sounds/victory.ogg | Bin 0 -> 27342 bytes src/index.ts | 3 +- src/web-socket-handler.tsx | 61 ++++++++++++++++++++++++++++++++-- 8 files changed, 84 insertions(+), 3 deletions(-) create mode 100755 public/scripts/make-sounds.js create mode 100755 public/sounds/defeat.ogg create mode 100755 public/sounds/draw.ogg create mode 100755 public/sounds/move.ogg create mode 100755 public/sounds/victory.ogg diff --git a/public/index.html b/public/index.html index a7a699a..ab05535 100755 --- a/public/index.html +++ b/public/index.html @@ -52,6 +52,7 @@ + diff --git a/public/scripts/make-sounds.js b/public/scripts/make-sounds.js new file mode 100755 index 0000000..dc2ae37 --- /dev/null +++ b/public/scripts/make-sounds.js @@ -0,0 +1,22 @@ +const sounds = {}; +sounds['victory'] = new Audio('/sounds/victory.ogg'); +sounds['defeat'] = new Audio('/sounds/defeat.ogg'); +sounds['draw'] = new Audio('/sounds/draw.ogg'); +sounds['move'] = new Audio('/sounds/move.ogg'); + +Object.values(sounds).forEach((sound) => { + sound.volume = 0.12; +}); + +document.addEventListener('htmx:wsAfterMessage', function (e) { + let msg; + try { + msg = JSON.parse(e.detail.message); + } catch (_) { + return; + } + if (msg.type !== 'sound') { + return; + } + sounds[msg.sound].play(); +}); diff --git a/public/sounds/defeat.ogg b/public/sounds/defeat.ogg new file mode 100755 index 0000000000000000000000000000000000000000..5db6d6bd48dfe65243ba703fdcab35131662d7b7 GIT binary patch literal 34434 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 H|8(?!f|5zL literal 0 HcmV?d00001 diff --git a/public/sounds/draw.ogg b/public/sounds/draw.ogg new file mode 100755 index 0000000000000000000000000000000000000000..101735faf8da1a2eb8413ce38243a4c0492dae12 GIT binary patch literal 38508 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 z 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 V;+}0Czt~sQ@Z0_=zwPgU{|5`9r7{2j literal 0 HcmV?d00001 diff --git a/public/sounds/move.ogg b/public/sounds/move.ogg new file mode 100755 index 0000000000000000000000000000000000000000..de81b9e4edcf1a39e4cfea2d0113fc8e65850b03 GIT binary patch literal 6823 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 J%_1MA@ek}i9GCzA literal 0 HcmV?d00001 diff --git a/public/sounds/victory.ogg b/public/sounds/victory.ogg new file mode 100755 index 0000000000000000000000000000000000000000..537115f0532ec0409385a9b9ba38346d5d7f8223 GIT binary patch literal 27342 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 Z<$t|?vg&gi+aP3~dCaN;?7Ee#{{vUv?ScRR literal 0 HcmV?d00001 diff --git a/src/index.ts b/src/index.ts index b3239f7..0f02d2d 100755 --- a/src/index.ts +++ b/src/index.ts @@ -3,9 +3,10 @@ import { html } from '@elysiajs/html'; import { staticPlugin } from '@elysiajs/static'; import { cookie } from '@elysiajs/cookie'; import { WebSocketHandler } from './web-socket-handler'; -import { GomokuGame } from './game/game-instance'; +import { ElysiaWS } from 'elysia/dist/ws'; const wsHandler = new WebSocketHandler(); +export type WS = ElysiaWS<{ query: { playerId: string; gameId: string } }>; const app = new Elysia() .use( diff --git a/src/web-socket-handler.tsx b/src/web-socket-handler.tsx index 4b7f4ab..74fb277 100755 --- a/src/web-socket-handler.tsx +++ b/src/web-socket-handler.tsx @@ -13,8 +13,7 @@ import { UpdateDisplayNameMessage, } from './messages'; import { v4 as uuidv4 } from 'uuid'; - -type WS = ElysiaWS<{ query: { playerId: string; gameId: string } }>; +import { WS } from '.'; class PlayerConnection { id: string; @@ -107,6 +106,19 @@ class GameServer { ); } + public broadcastSound(sound: string) { + this.connections.forEach((conn: PlayerConnection) => + this.broadcastSoundToPlayer(conn, sound), + ); + } + + public broadcastSoundToPlayer(conn: PlayerConnection, sound: string) { + conn.ws.send({ + type: 'sound', + sound: sound, + }); + } + public broadcastBoardToPlayer(conn: PlayerConnection) { const isToPlay = this.gomoku.currentPlayerColor == this.getPlayerColor(conn); @@ -430,6 +442,39 @@ class GameServer { if (stateBeforeMove != this.gomoku.status) { this.broadcastButtons(); } + + // Broadcast sounds + if (this.gomoku.status === 'playing') { + this.broadcastSound('move'); + } else { + const whiteConn = this.whitePlayerId + ? this.connections.get(this.whitePlayerId) + : null; + const blackConn = this.blackPlayerId + ? this.connections.get(this.blackPlayerId) + : null; + switch (this.gomoku.winnerColor) { + case 'draw': + this.broadcastSound('draw'); + case 'white': + if (whiteConn) { + this.broadcastSoundToPlayer(whiteConn, 'victory'); + } + if (blackConn) { + this.broadcastSoundToPlayer(blackConn, 'defeat'); + } + break; + case 'black': + if (whiteConn) { + this.broadcastSoundToPlayer(whiteConn, 'defeat'); + } + if (blackConn) { + this.broadcastSoundToPlayer(blackConn, 'victory'); + } + break; + } + } + console.log( `Move made in game ${this.id} by ${conn.id}: (${row}, ${col})`, ); @@ -461,6 +506,17 @@ class GameServer { this.broadcastBoard(); this.broadcastTitle(); this.broadcastButtons(); + this.broadcastSoundToPlayer(conn, 'defeat'); + const otherPlayerId = + resigningPlayerColor === 'white' + ? this.blackPlayerId + : this.whitePlayerId; + if (otherPlayerId) { + const otherPlayer = this.connections.get(otherPlayerId); + if (otherPlayer) { + this.broadcastSoundToPlayer(otherPlayer, 'victory'); + } + } console.log(`Player ${conn.id} resigned from game ${this.id}`); } @@ -634,6 +690,7 @@ class GameServer { this.broadcastBoard(); this.broadcastButtons(); this.broadcastTitle(); + this.broadcastSound('draw'); } private handleDeclineDraw(): void {