/* movement.js ecoute les inputs clavier et annonce au serveur quand une porte est atteinte */ import { maze } from "./maze.js"; import { player } from "./player.js"; import { render } from "./canvas.js"; import { socket } from "./socket.js"; import { roleState } from "./role.js"; export function setupMovement() { document.addEventListener("keydown", (e) => { if (roleState.current !== "explorateur") return; let newX = player.x; let newY = player.y; if (e.key === "ArrowUp") newY--; else if (e.key === "ArrowDown") newY++; else if (e.key === "ArrowLeft") newX--; else if (e.key === "ArrowRight") newX++; else return; if (maze[newY][newX] === 0 || maze[newY][newX] === 2) { player.x = newX; player.y = newY; render(); if (maze[newY][newX] === 2) { socket.emit("door_reached", { x: newX, y: newY}); } } }); }