fix: correction d'erreur dans le choix de bonne sortie
This commit is contained in:
@@ -9,6 +9,7 @@
|
|||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>Echoes</h1>
|
<h1>Echoes</h1>
|
||||||
|
<p id="timerDisplay">Temps restant : --</p>
|
||||||
<canvas id="maze" width="490" height="490" style="border: 1px solid #333;"></canvas>
|
<canvas id="maze" width="490" height="490" style="border: 1px solid #333;"></canvas>
|
||||||
|
|
||||||
<div id="gameOverScreen" style="display: none">
|
<div id="gameOverScreen" style="display: none">
|
||||||
@@ -21,6 +22,7 @@
|
|||||||
<p>Vous avec franchi les portes a temps.</p>
|
<p>Vous avec franchi les portes a temps.</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<script src="/socket.io/socket.io.js"></script>
|
||||||
<script type="module" src="js/main.js"></script>
|
<script type="module" src="js/main.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ export function drawMaze() {
|
|||||||
ctx.clearRect(0, 0, canvas.width, canvas.height);
|
ctx.clearRect(0, 0, canvas.width, canvas.height);
|
||||||
|
|
||||||
for (let y = 0; y < maze.length; y++) {
|
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";
|
if (maze[y][x] === 1) ctx.fillStyle = "#333";
|
||||||
else if (maze[y][x] === 2) ctx.fillStyle = "gold";
|
else if (maze[y][x] === 2) ctx.fillStyle = "gold";
|
||||||
else ctx.fillStyle = "#eee";
|
else ctx.fillStyle = "#eee";
|
||||||
|
|||||||
@@ -12,9 +12,10 @@ import { showGameOver, showVictory, updateTimerDisplay } from "./ui.js";
|
|||||||
|
|
||||||
setupMovement();
|
setupMovement();
|
||||||
|
|
||||||
socket.on("status", (msg) => console.log("Status: ", (msg));
|
socket.on("status", (msg) => console.log("Status: ", msg));
|
||||||
roleState.current = role;
|
|
||||||
|
|
||||||
|
socket.on("role", (role) => {
|
||||||
|
roleState.current = role;
|
||||||
if (role === "explorateur") {
|
if (role === "explorateur") {
|
||||||
render();
|
render();
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -12,5 +12,5 @@ export const maze = [
|
|||||||
[1,0,1,0,1,0,1],
|
[1,0,1,0,1,0,1],
|
||||||
[1,0,1,1,1,0,1],
|
[1,0,1,1,1,0,1],
|
||||||
[1,0,0,0,0,0,1],
|
[1,0,0,0,0,0,1],
|
||||||
[1,1,1,1,1,1,1]
|
[1,1,2,1,1,2,1]
|
||||||
];
|
];
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
centralise les constante de reglage du jeu
|
centralise les constante de reglage du jeu
|
||||||
*/
|
*/
|
||||||
|
|
||||||
module.export = {
|
module.exports = {
|
||||||
PORT: process.env.PORT || 3000,
|
PORT: process.env.PORT || 3000,
|
||||||
GAME_DURATION: 60,
|
GAME_DURATION: 60,
|
||||||
DOORS_TO_WIN: 3,
|
DOORS_TO_WIN: 3,
|
||||||
|
|||||||
@@ -24,12 +24,12 @@ function handleDoorReached(wSS, socket, position) {
|
|||||||
const result = { correct: false };
|
const result = { correct: false };
|
||||||
socket.emit("door_result", result);
|
socket.emit("door_result", result);
|
||||||
if (partnerSocket) partnerSocket.emit("door_result", result);
|
if (partnerSocket) partnerSocket.emit("door_result", result);
|
||||||
result;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
pairState.doorsPassed++;
|
pairState.doorsPassed++;
|
||||||
|
|
||||||
if (pairState.doorPassed >= DOORS_TO_WIN) {
|
if (pairState.doorsPassed >= DOORS_TO_WIN) {
|
||||||
pairState.gameOver = true;
|
pairState.gameOver = true;
|
||||||
socket.emit("victory");
|
socket.emit("victory");
|
||||||
if (partnerSocket) partnerSocket.emit("victory");
|
if (partnerSocket) partnerSocket.emit("victory");
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
possede aussi l'information du point de depart
|
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 };
|
const startPosition = { x: 1, y: 1 };
|
||||||
|
|
||||||
module.exports = { correctDoor, startPosition };
|
module.exports = { correctDoor, startPosition };
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ const { GAME_DURATION } = require("./config");
|
|||||||
const { handleDoorReached } = require("./doorLogic");
|
const { handleDoorReached } = require("./doorLogic");
|
||||||
const { startTimer } = require("./timer");
|
const { startTimer } = require("./timer");
|
||||||
|
|
||||||
function registerSocketHandlers(io, socket) {
|
function registerSocketHandlers(wSS, socket) {
|
||||||
console.log(`Un client s'est connecté : ${socket.id}`);
|
console.log(`Un client s'est connecté : ${socket.id}`);
|
||||||
|
|
||||||
if (gameState.waitingPlayer === null) {
|
if (gameState.waitingPlayer === null) {
|
||||||
@@ -27,7 +27,6 @@ function registerSocketHandlers(io, socket) {
|
|||||||
partner.data.role = partnerRole;
|
partner.data.role = partnerRole;
|
||||||
socket.data.partnerId = partner.id;
|
socket.data.partnerId = partner.id;
|
||||||
partner.data.partnerId = socket.id;
|
partner.data.partnerId = socket.id;
|
||||||
|
|
||||||
// État partagé par référence entre les deux sockets de la paire
|
// État partagé par référence entre les deux sockets de la paire
|
||||||
const pairState = { gameOver: false, doorsPassed: 0, timeLeft: GAME_DURATION };
|
const pairState = { gameOver: false, doorsPassed: 0, timeLeft: GAME_DURATION };
|
||||||
socket.data.pairState = pairState;
|
socket.data.pairState = pairState;
|
||||||
@@ -41,7 +40,7 @@ function registerSocketHandlers(io, socket) {
|
|||||||
startTimer(socket, partner, pairState);
|
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", () => {
|
socket.on("disconnect", () => {
|
||||||
console.log(`Client déconnecté : ${socket.id}`);
|
console.log(`Client déconnecté : ${socket.id}`);
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
minuteur autoritaire cote serveur
|
minuteur autoritaire cote serveur
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const GAME_DURATION = require("./config");
|
const { GAME_DURATION } = require("./config");
|
||||||
|
|
||||||
function startTimer(socket, partnerSocket, pairState) {
|
function startTimer(socket, partnerSocket, pairState) {
|
||||||
const interval = setInterval(() => {
|
const interval = setInterval(() => {
|
||||||
|
|||||||
Reference in New Issue
Block a user