31 lines
627 B
JavaScript
31 lines
627 B
JavaScript
/*
|
|
timer.js
|
|
|
|
minuteur autoritaire cote serveur
|
|
*/
|
|
|
|
const { GAME_DURATION } = require("./config");
|
|
|
|
function startTimer(socket, partnerSocket, pairState) {
|
|
const interval = setInterval(() => {
|
|
if (pairState.gameOver) {
|
|
clearInterval(interval);
|
|
return;
|
|
}
|
|
|
|
pairState.timeLeft--;
|
|
|
|
socket.emit("timer", pairState.timeLeft);
|
|
partnerSocket.emit("timer", pairState.timeLeft);
|
|
|
|
if (pairState.timeLeft <= 0) {
|
|
pairState.gameOver = true;
|
|
socket.emit("timeout");
|
|
partnerSocket.emit("timeout");
|
|
clearInterval(interval);
|
|
}
|
|
}, 1000);
|
|
}
|
|
|
|
module.exports = { startTimer };
|