refactor: fin de la premiere refactorisation du projet
This commit is contained in:
@@ -1 +1,36 @@
|
||||
/*
|
||||
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});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user