const fetch = require('node-fetch'); const WebSocket = require('ws'); var word; var game; function getRandomInt(max) { return Math.floor(Math.random() * max); } function getWordSize() { return JSON.stringify(["Taille", word.length]); } function displayLetter(char) { return JSON.stringify(["Char", char, word.indexOf(char)]); } // On créé notre Web Serveur qui écoute sur le port 8080 const wss = new WebSocket.Server({ port: 8080 }); fetch('http://localhost:3001/mots') // une requete GET .then((response) => { // lorsque la requête est terminée on traite la réponse response.json() // que l’on passe en JSON .then((mots) => { // On fois fait on peut travailler sur la liste des mots word = mots[getRandomInt(Object.keys(mots).length)].value; //on choisi aléatoirement le mot dans la liste mots console.log("Mot choisi : " + word); //on l'affiche sur notre console serveur pour tester plus facilement game = word.length; } ); }).catch(error => console.error); // Lorsqu'un client se connecte on reçoit un événement 'connection' wss.on('connection', ws => { ws.send(getWordSize()); // Lorsqu'il nous envoie un message on reçoit un événement message ainsi que le message ! ws.on('message', message => { console.log(`Received message => ${message}`); let char = message.charAt(1); if(word.indexOf(char) > -1) { game--; ws.send(displayLetter(char)); if(game === 0) { ws.send(JSON.stringify(["Partie", true])); } } else { ws.send(JSON.stringify(["CharError"])); } }); })