const express = require('express'); const path = require('path'); const http = require('http'); const { Server } = require('socket.io'); const app = express(); const server = http.createServer(app); const io = new Server(server); const PORT = process.env.PORT || 3000; let waitingPlayer = null; // Sert tous les fichiers du dossier "client" app.use(express.static(path.join(__dirname, "..", "client"))); io.on("connection", (socket) => { console.log("Un client s'est connecte : ${socket.id}"); if (waitingPlayer === null){ waitingPlayer = socket; socket.emit("status", "En attente d'un second joueur..."); } else { const partner = waitingPlayer; waitingPlayer = null; const socketIsGuide = Math.random() < 0.5; socket.emit("role", socketIsGuide ? "guide" : "explorateur"); partner.emit("role", socketIsGuide ? "explorateur" : "guide"); socket.data.partnerId = partner.id; partner.data.partnerId = socket.id; socket.emit("status", "Partie prete !"); partner.emit("status", "Partie prete !"); } socket.on("message", (data) => { const partnerId = socket.data.partnerId; if (partnerId){ io.to(partnerId).emit("message", data); } }); socket.on("disconnect", () => { console.log("Client deconnecte : ${socket.id}"); if (waitingPlayer === socket){ waitingPlayer = null; } }); }); server.listen(PORT, () => { console.log(`Serveur démarré sur http://localhost:${PORT}`); });