ajout du gitignore et de la todo list

This commit is contained in:
2026-07-31 20:15:21 +02:00
parent 81e2623e2a
commit 0395882ca7
4 changed files with 26 additions and 3 deletions

2
.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
server/node_modules
client/node_modules

View File

@@ -7,7 +7,7 @@
<body> <body>
<h1>Bonjour !</h1> <h1>Bonjour !</h1>
<p>Ceci est une page statique servie par Express.</p> <p>Ceci est une page statique servie par Express.</p>
<canvas id="maze" width="490" height="490" style="border: 1px solid #333; display: none;"></canvas> <canvas id="maze" width="490" height="490" style="border: 1px solid #333;"></canvas>
<input type="text" id="input" placeholder="message"> <input type="text" id="input" placeholder="message">
<button id="sendBtn">Envoyer</button> <button id="sendBtn">Envoyer</button>
<script src="/socket.io/socket.io.js"></script> <script src="/socket.io/socket.io.js"></script>
@@ -23,7 +23,7 @@
canvas.style.display = "block"; canvas.style.display = "block";
render(); render();
} else { } else {
canvas.style.display = "none"; drawBlind();
} }
}); });
@@ -51,6 +51,10 @@
const cellSize = 70; const cellSize = 70;
const player = { x : 1, y : 1}; const player = { x : 1, y : 1};
function drawBlind(){
ctx.fillStyle = "black";
ctx.fillRect(0,0, canvas.width, canvas.height);
}
function drawMaze(){ function drawMaze(){
ctx.clearRect(0, 0, canvas.width, canvas.height); ctx.clearRect(0, 0, canvas.width, canvas.height);

View File

@@ -14,7 +14,7 @@ let waitingPlayer = null;
// Sert tous les fichiers du dossier "client" // Sert tous les fichiers du dossier "client"
app.use(express.static(path.join(__dirname, "..", "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) => { io.on("connection", (socket) => {
console.log("Un client s'est connecte : ${socket.id}"); console.log("Un client s'est connecte : ${socket.id}");
@@ -33,6 +33,10 @@ io.on("connection", (socket) => {
socket.data.partnerId = partner.id; socket.data.partnerId = partner.id;
partner.data.partnerId = socket.id; partner.data.partnerId = socket.id;
const pairState = { gameOver: false};
socket.data.pairState = pairState;
partner.data.pairState = pairState;
socket.emit("status", "Partie prete !"); socket.emit("status", "Partie prete !");
partner.emit("status", "Partie prete !"); partner.emit("status", "Partie prete !");
} }
@@ -45,9 +49,16 @@ io.on("connection", (socket) => {
}); });
socket.on("door_reached", (position) => { socket.on("door_reached", (position) => {
const pairState = socket.data.pairState;
if (!pairState || pairState.gameOver) return;
const partnerId = socket.data.partnerId; const partnerId = socket.data.partnerId;
const isCorrect = position.x === correctDoor.x && position.y === correctDoor.y; const isCorrect = position.x === correctDoor.x && position.y === correctDoor.y;
if (!isCorrect){
pairState.gameOver = true;
}
const result = {correct: isCorrect}; const result = {correct: isCorrect};
socket.emit("door_result", result); socket.emit("door_result", result);

6
todo.md Normal file
View File

@@ -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