Merge branch 'main' into dev
recuperation de la version valide du projet
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
const { correctDoor, startPosition } = require("./maze");
|
||||
const { DOORS_TO_WIN } = require("./config");
|
||||
|
||||
fonction handleDoorReached(wSS, socket, position) {
|
||||
function handleDoorReached(wSS, socket, position) {
|
||||
const pairState = socket.data.pairState;
|
||||
if(!pairState || pairState.gameOver) return; // partie deja terminee
|
||||
|
||||
@@ -24,12 +24,12 @@ fonction 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");
|
||||
|
||||
@@ -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 };
|
||||
|
||||
@@ -9,4 +9,17 @@ const path = require("path");
|
||||
const http = require("http");
|
||||
const { Server } = require("socket.io");
|
||||
|
||||
const { PORT } = require("./config.js");
|
||||
const { PORT } = require("./config");
|
||||
const { registerSocketHandlers } = require("./socketHandler");
|
||||
|
||||
const app = express();
|
||||
const server = http.createServer(app);
|
||||
const io = new Server(server);
|
||||
|
||||
app.use(express.static(path.join(__dirname, "..", "client")));
|
||||
|
||||
io.on("connection", (socket) => registerSocketHandlers(io, socket));
|
||||
|
||||
server.listen(PORT, () => {
|
||||
console.log(`Serveur démarré sur http://localhost:${PORT}`);
|
||||
});
|
||||
|
||||
@@ -10,7 +10,7 @@ const { handleDoorReached } = require("./doorLogic");
|
||||
const { startTimer } = require("./timer");
|
||||
const { startInstruction } = require("./guideInstruction");
|
||||
|
||||
function registerSocketHandlers(io, socket) {
|
||||
function registerSocketHandlers(wSS, socket) {
|
||||
console.log(`Un client s'est connecté : ${socket.id}`);
|
||||
|
||||
if (gameState.waitingPlayer === null) {
|
||||
@@ -28,7 +28,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;
|
||||
@@ -45,7 +44,7 @@ function registerSocketHandlers(io, socket) {
|
||||
});
|
||||
}
|
||||
|
||||
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}`);
|
||||
@@ -61,7 +60,7 @@ function registerSocketHandlers(io, socket) {
|
||||
partnerSocket.emit("status", "Ton partenaire s'est deconnecte");
|
||||
}
|
||||
}
|
||||
)};
|
||||
});
|
||||
}
|
||||
|
||||
module.exports = { registerSocketHandlers };
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
minuteur autoritaire cote serveur
|
||||
*/
|
||||
|
||||
const GAME_DURATION = {"./config"};
|
||||
const { GAME_DURATION } = require("./config");
|
||||
|
||||
fonction startTimer(socket, partnerSocket, pairState) {
|
||||
function startTimer(socket, partnerSocket, pairState) {
|
||||
const interval = setInterval(() => {
|
||||
if (pairState.gameOver) {
|
||||
clearInterval(interval);
|
||||
|
||||
Reference in New Issue
Block a user