feat: add: boucle principale de jeu fonctionnelle
This commit is contained in:
@@ -27,19 +27,25 @@ io.on("connection", (socket) => {
|
||||
waitingPlayer = null;
|
||||
|
||||
const socketIsGuide = Math.random() < 0.5;
|
||||
socket.emit("role", socketIsGuide ? "guide" : "explorateur");
|
||||
partner.emit("role", socketIsGuide ? "explorateur" : "guide");
|
||||
const socketRole = socketIsGuide ? "guide" : "explorateur";
|
||||
const partnerRole = socketIsGuide ? "explorateur" : "guide";
|
||||
|
||||
socket.data.partnerId = partner.id;
|
||||
partner.data.partnerId = socket.id;
|
||||
|
||||
socket.emit("status", "Partie prete !");
|
||||
partner.emit("status", "Partie prete !");
|
||||
|
||||
socket.data.role = socketRole;
|
||||
partner.data.role = partnerRole;
|
||||
|
||||
const pairState = { gameOver: false};
|
||||
socket.data.pairState = pairState;
|
||||
partner.data.pairState = pairState;
|
||||
|
||||
socket.emit("status", "Partie prete !");
|
||||
partner.emit("status", "Partie prete !");
|
||||
}
|
||||
socket.emit("role", socketRole);
|
||||
partner.emit("role", partnerRole);
|
||||
}
|
||||
|
||||
socket.on("message", (data) => {
|
||||
const partnerId = socket.data.partnerId;
|
||||
@@ -53,15 +59,36 @@ io.on("connection", (socket) => {
|
||||
if (!pairState || pairState.gameOver) return;
|
||||
|
||||
const partnerId = socket.data.partnerId;
|
||||
const partnerSocket = io.sockets.sockets.get(partnerId);
|
||||
const isCorrect = position.x === correctDoor.x && position.y === correctDoor.y;
|
||||
|
||||
if (!isCorrect){
|
||||
pairState.gameOver = true;
|
||||
const result = { correct: false};
|
||||
socket.emit("door_result", result);
|
||||
if (partnerSocket) partnerSocket.emit("door_result", result);
|
||||
return;
|
||||
}
|
||||
|
||||
const temp = socket.data.role;
|
||||
socket.data.role = partnerSocket.data.role;
|
||||
partnerSocket.data.role = temp;
|
||||
|
||||
const startPos = { x: 1, y: 1};
|
||||
|
||||
console.log(pairState);
|
||||
const result = {correct: isCorrect};
|
||||
|
||||
socket.emit("door_result", result);
|
||||
socket.emit("door_result", { correct: true});
|
||||
socket.emit("new_round", startPos);
|
||||
socket.emit("role", socket.data.role);
|
||||
|
||||
if (partnerSocket){
|
||||
partnerSocket.emit("door_result", { correct: true });
|
||||
partnerSocket.emit("new_round", startPos);
|
||||
partnerSocket.emit("role", partnerSocket.data.role);
|
||||
}
|
||||
|
||||
if (partnerId){
|
||||
io.to(partnerId).emit("door_result", result);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user