From c4370815f299f86dd3af588bef51f20beb2476d9 Mon Sep 17 00:00:00 2001 From: Hatmos Date: Mon, 3 Aug 2026 00:21:31 +0200 Subject: [PATCH] fix: correction d'erreur dans le choix de bonne sortie --- client/index.html | 2 ++ client/js/canvas.js | 2 +- client/js/main.js | 5 +++-- client/{ => js}/maze.js | 2 +- server/config.js | 2 +- server/doorLogic.js | 4 ++-- server/maze.js | 2 +- server/socketHandler.js | 5 ++--- server/timer.js | 2 +- 9 files changed, 14 insertions(+), 12 deletions(-) rename client/{ => js}/maze.js (91%) diff --git a/client/index.html b/client/index.html index c954468..919dc9e 100644 --- a/client/index.html +++ b/client/index.html @@ -9,6 +9,7 @@

Echoes

+

Temps restant : --

+ diff --git a/client/js/canvas.js b/client/js/canvas.js index ef6ae42..07772a4 100644 --- a/client/js/canvas.js +++ b/client/js/canvas.js @@ -15,7 +15,7 @@ export function drawMaze() { ctx.clearRect(0, 0, canvas.width, canvas.height); for (let y = 0; y < maze.length; y++) { - for (let x = 0; y < maze.length; x++) { + for (let x = 0; x < maze[y].length; x++) { if (maze[y][x] === 1) ctx.fillStyle = "#333"; else if (maze[y][x] === 2) ctx.fillStyle = "gold"; else ctx.fillStyle = "#eee"; diff --git a/client/js/main.js b/client/js/main.js index af5c30e..a1f3123 100644 --- a/client/js/main.js +++ b/client/js/main.js @@ -12,9 +12,10 @@ import { showGameOver, showVictory, updateTimerDisplay } from "./ui.js"; setupMovement(); -socket.on("status", (msg) => console.log("Status: ", (msg)); - roleState.current = role; +socket.on("status", (msg) => console.log("Status: ", msg)); +socket.on("role", (role) => { + roleState.current = role; if (role === "explorateur") { render(); } else { diff --git a/client/maze.js b/client/js/maze.js similarity index 91% rename from client/maze.js rename to client/js/maze.js index 70cae59..66b8ce4 100644 --- a/client/maze.js +++ b/client/js/maze.js @@ -12,5 +12,5 @@ export const maze = [ [1,0,1,0,1,0,1], [1,0,1,1,1,0,1], [1,0,0,0,0,0,1], - [1,1,1,1,1,1,1] + [1,1,2,1,1,2,1] ]; diff --git a/server/config.js b/server/config.js index e1a0a01..1349f11 100644 --- a/server/config.js +++ b/server/config.js @@ -4,7 +4,7 @@ centralise les constante de reglage du jeu */ -module.export = { +module.exports = { PORT: process.env.PORT || 3000, GAME_DURATION: 60, DOORS_TO_WIN: 3, diff --git a/server/doorLogic.js b/server/doorLogic.js index 724a4df..8f65023 100644 --- a/server/doorLogic.js +++ b/server/doorLogic.js @@ -24,12 +24,12 @@ function handleDoorReached(wSS, socket, position) { const result = { correct: false }; socket.emit("door_result", result); if (partnerSocket) partnerSocket.emit("door_result", result); - result; + return; } pairState.doorsPassed++; - if (pairState.doorPassed >= DOORS_TO_WIN) { + if (pairState.doorsPassed >= DOORS_TO_WIN) { pairState.gameOver = true; socket.emit("victory"); if (partnerSocket) partnerSocket.emit("victory"); diff --git a/server/maze.js b/server/maze.js index 7b33235..f4e93f8 100644 --- a/server/maze.js +++ b/server/maze.js @@ -4,7 +4,7 @@ possede aussi l'information du point de depart */ -const correctDoor = { x: 3, y: 6}; +const correctDoor = { x: 2, y: 6}; const startPosition = { x: 1, y: 1 }; module.exports = { correctDoor, startPosition }; diff --git a/server/socketHandler.js b/server/socketHandler.js index 1746aa0..15da7ff 100644 --- a/server/socketHandler.js +++ b/server/socketHandler.js @@ -9,7 +9,7 @@ const { GAME_DURATION } = require("./config"); const { handleDoorReached } = require("./doorLogic"); const { startTimer } = require("./timer"); -function registerSocketHandlers(io, socket) { +function registerSocketHandlers(wSS, socket) { console.log(`Un client s'est connecté : ${socket.id}`); if (gameState.waitingPlayer === null) { @@ -27,7 +27,6 @@ function registerSocketHandlers(io, socket) { partner.data.role = partnerRole; socket.data.partnerId = partner.id; partner.data.partnerId = socket.id; - // État partagé par référence entre les deux sockets de la paire const pairState = { gameOver: false, doorsPassed: 0, timeLeft: GAME_DURATION }; socket.data.pairState = pairState; @@ -41,7 +40,7 @@ function registerSocketHandlers(io, socket) { startTimer(socket, partner, pairState); } - socket.on("door_reached", (position) => handleDoorReached(io, socket, position)); + socket.on("door_reached", (position) => handleDoorReached(wSS, socket, position)); socket.on("disconnect", () => { console.log(`Client déconnecté : ${socket.id}`); diff --git a/server/timer.js b/server/timer.js index 1a295c5..73664a1 100644 --- a/server/timer.js +++ b/server/timer.js @@ -4,7 +4,7 @@ minuteur autoritaire cote serveur */ -const GAME_DURATION = require("./config"); +const { GAME_DURATION } = require("./config"); function startTimer(socket, partnerSocket, pairState) { const interval = setInterval(() => {