Verificação de palavras repetidas adicionado

O servidor dará uma outra chance para jogadores que tentarem adivinhar uma palavra que já foi enviada.
This commit is contained in:
luca0N! 2021-01-02 23:42:47 -03:00
parent 47547c2ec4
commit 5c70dc6b87
Signed by: luca0N
GPG Key ID: 68FDED9A81B90723
2 changed files with 12 additions and 0 deletions

View File

@ -370,6 +370,11 @@ wss.on('connection', ws => {
tentarNovamente = true; tentarNovamente = true;
break; break;
} }
case "PALAVRA_JÁ_ESCOLHIDA":{
alertarClientesEvento("EVENTO_TERMO_ESCOLHIDO", cliente.sala, { tipo: letra ? "LETRA" : "TERMO", termo: resposta.extra.termo, resultado: r });
tentarNovamente = true;
break;
}
case "LETRAS_PREENCHIDAS":{ case "LETRAS_PREENCHIDAS":{
alertarClientesEvento("EVENTO_TERMO_ESCOLHIDO", cliente.sala, { tipo: letra ? "LETRA" : "TERMO", termo: resposta.extra.termo, resultado: r, ldc: salaObj.ldc }); alertarClientesEvento("EVENTO_TERMO_ESCOLHIDO", cliente.sala, { tipo: letra ? "LETRA" : "TERMO", termo: resposta.extra.termo, resultado: r, ldc: salaObj.ldc });

View File

@ -86,6 +86,7 @@ class Sala {
novaRodada(){ novaRodada(){
this.lei = []; // Letras escolhidas inexistentes this.lei = []; // Letras escolhidas inexistentes
this.lee = []; // Letras escolhidas existentes this.lee = []; // Letras escolhidas existentes
this.pei = []; // Palavras escolhidas inexistentes
this.ldc = []; // Letras descobertas this.ldc = []; // Letras descobertas
this.jpa = null; // Jogador que escolheu a palavra atual (Jogador Palavra Atual) this.jpa = null; // Jogador que escolheu a palavra atual (Jogador Palavra Atual)
this.palavra = null; this.palavra = null;
@ -185,6 +186,12 @@ class Sala {
} }
return resultadoTermo; return resultadoTermo;
} else { } else {
// Esta palavra já foi enviada?
if (this.pei.indexOf(termo) !== -1){
resultadoTermo.resultado = "PALAVRA_JÁ_ESCOLHIDA";
return resultadoTermo;
}
this.pei.push(termo);
let palavraCorreta = this.palavra === termo; let palavraCorreta = this.palavra === termo;
resultadoTermo.resultado = palavraCorreta ? "PALAVRA_CORRETA" : "PALAVRA_INCORRETA"; resultadoTermo.resultado = palavraCorreta ? "PALAVRA_CORRETA" : "PALAVRA_INCORRETA";
if (palavraCorreta){ if (palavraCorreta){