Skip to content
Snippets Groups Projects
Commit efe27402 authored by narindra.rajohnso's avatar narindra.rajohnso
Browse files

correct number of questions

parent 31b94b95
No related branches found
No related tags found
No related merge requests found
No preview for this file type
...@@ -64,7 +64,7 @@ class Server { ...@@ -64,7 +64,7 @@ class Server {
this.io = new ServerIO(this.server); this.io = new ServerIO(this.server);
this.io.use((socket: SocketIoInfo, next) => { this.io.use((socket: SocketIoInfo, next) => {
const token = socket.handshake.auth.token; const token = socket.handshake.auth.token;
console.log("token=", token)
try { try {
socket.user = jwt.verify(token, process.env.SECRET_KEY); socket.user = jwt.verify(token, process.env.SECRET_KEY);
next(); next();
......
...@@ -10,11 +10,4 @@ router.get('/:username', checkExistingUser, verifyToken, (req: TokenRequest, res ...@@ -10,11 +10,4 @@ router.get('/:username', checkExistingUser, verifyToken, (req: TokenRequest, res
res.status(StatusCodes.OK).json({access_user: req.user}); res.status(StatusCodes.OK).json({access_user: req.user});
}); });
export default router; export default router;
...@@ -30,6 +30,11 @@ class ServerIO extends IO.Server { ...@@ -30,6 +30,11 @@ class ServerIO extends IO.Server {
this.on('connection', (socket: SocketIoInfo) => { this.on('connection', (socket: SocketIoInfo) => {
if (!socket.user) {
// Jeton invalide, ne pas poursuivre la connexion
console.log('Jeton invalide');
return;
}
logger.info(`Nouveau socket vers ${socket.client.conn.remoteAddress}`); logger.info(`Nouveau socket vers ${socket.client.conn.remoteAddress}`);
console.log(`Socket info: ${socket.user.username} // ${socket.user.firstname} // ${socket.user.lastname}`); console.log(`Socket info: ${socket.user.username} // ${socket.user.firstname} // ${socket.user.lastname}`);
this.initializeGame(socket); this.initializeGame(socket);
...@@ -104,6 +109,8 @@ class ServerIO extends IO.Server { ...@@ -104,6 +109,8 @@ class ServerIO extends IO.Server {
}); });
socket.on("validate-question", async (responseSelected) => { socket.on("validate-question", async (responseSelected) => {
this.nbQuestion+=1;
console.log("nb question: ", this.nbQuestion);
console.log("current question:", this.currentQuestion); console.log("current question:", this.currentQuestion);
if (responseSelected === this.currentQuestion.correctResponse) { if (responseSelected === this.currentQuestion.correctResponse) {
// le joueur gagne 1 point // le joueur gagne 1 point
...@@ -116,7 +123,7 @@ class ServerIO extends IO.Server { ...@@ -116,7 +123,7 @@ class ServerIO extends IO.Server {
} }
console.log("playerScore:", this.playersScore); console.log("playerScore:", this.playersScore);
let randomQuestion = await this.getRandomQuestion(); let randomQuestion = await this.getRandomQuestion();
if(this.nbQuestion<=10){ if(this.nbQuestion<10){
this.emit("question", randomQuestion); this.emit("question", randomQuestion);
}else{ }else{
const playersScoreFormatted = Object.keys(this.playersScore).reduce((formatted:any, key) => { const playersScoreFormatted = Object.keys(this.playersScore).reduce((formatted:any, key) => {
...@@ -125,7 +132,6 @@ class ServerIO extends IO.Server { ...@@ -125,7 +132,6 @@ class ServerIO extends IO.Server {
}, {}); }, {});
this.emit("game-finished", playersScoreFormatted); this.emit("game-finished", playersScoreFormatted);
} }
this.nbQuestion++;
}); });
socket.on("restart-game", ()=>{ socket.on("restart-game", ()=>{
...@@ -145,7 +151,7 @@ class ServerIO extends IO.Server { ...@@ -145,7 +151,7 @@ class ServerIO extends IO.Server {
// Vérifiez si le joueur est dans le dictionnaire // Vérifiez si le joueur est dans le dictionnaire
if (this.players[playerKey]) { if (this.players[playerKey]) {
// Le joueur est connecté, retirez-le du dictionnaire delete socket.user;
delete this.players[playerKey]; delete this.players[playerKey];
delete this.playersReady[playerKey]; delete this.playersReady[playerKey];
delete this.playersScore[playerKey]; delete this.playersScore[playerKey];
...@@ -189,7 +195,9 @@ class ServerIO extends IO.Server { ...@@ -189,7 +195,9 @@ class ServerIO extends IO.Server {
this.currentQuestion = this.questions[randomIndex].dataValues; this.currentQuestion = this.questions[randomIndex].dataValues;
this.questions.splice(randomIndex, 1); this.questions.splice(randomIndex, 1);
// pour ne pas envoyer au frontend la reponse attendue // pour ne pas envoyer au frontend la reponse attendue
return {...this.currentQuestion}; let randomQuestion={...this.currentQuestion};
randomQuestion.correctResponse=-1;
return randomQuestion;
} }
private testNumberOfReady() { private testNumberOfReady() {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment