diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..516d761 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +server/node_modules +client/node_modules diff --git a/client/index.html b/client/index.html index f499b89..f60bc22 100644 --- a/client/index.html +++ b/client/index.html @@ -7,7 +7,7 @@
Ceci est une page statique servie par Express.
- + @@ -23,7 +23,7 @@ canvas.style.display = "block"; render(); } else { - canvas.style.display = "none"; + drawBlind(); } }); @@ -51,6 +51,10 @@ const cellSize = 70; const player = { x : 1, y : 1}; + function drawBlind(){ + ctx.fillStyle = "black"; + ctx.fillRect(0,0, canvas.width, canvas.height); + } function drawMaze(){ ctx.clearRect(0, 0, canvas.width, canvas.height); diff --git a/server/server.js b/server/server.js index 8be9839..d4cb703 100644 --- a/server/server.js +++ b/server/server.js @@ -14,7 +14,7 @@ let waitingPlayer = null; // Sert tous les fichiers du dossier "client" app.use(express.static(path.join(__dirname, "..", "client"))); -const correctDoor = { x : 3, y : 6}; +const correctDoor = { x : 2, y : 6}; io.on("connection", (socket) => { console.log("Un client s'est connecte : ${socket.id}"); @@ -33,6 +33,10 @@ io.on("connection", (socket) => { socket.data.partnerId = partner.id; partner.data.partnerId = socket.id; + const pairState = { gameOver: false}; + socket.data.pairState = pairState; + partner.data.pairState = pairState; + socket.emit("status", "Partie prete !"); partner.emit("status", "Partie prete !"); } @@ -45,9 +49,16 @@ io.on("connection", (socket) => { }); socket.on("door_reached", (position) => { + const pairState = socket.data.pairState; + if (!pairState || pairState.gameOver) return; + const partnerId = socket.data.partnerId; const isCorrect = position.x === correctDoor.x && position.y === correctDoor.y; + if (!isCorrect){ + pairState.gameOver = true; + } + const result = {correct: isCorrect}; socket.emit("door_result", result); diff --git a/todo.md b/todo.md new file mode 100644 index 0000000..fef2aa6 --- /dev/null +++ b/todo.md @@ -0,0 +1,6 @@ +[ ] Randomizer les chemins +[ ] Donner les instructions via le son +[ ] Gerer une fin de niveau win/lose +[ ] Ajouter un compteur de niveau et un chronometre +[ ] Enregistrer les scores +[ ] Ajouter des instructions