Checagem de letra enviada adicionado

O servidor agora vai checar se uma letra já foi enviada.
This commit is contained in:
luca0N! 2020-12-31 16:00:43 -03:00
parent b46c39a5c0
commit 2ee90a96c2
Signed by: luca0N
GPG Key ID: 68FDED9A81B90723
3 changed files with 21 additions and 14 deletions

View File

@ -17,7 +17,13 @@
"cliente.ping.tempoMáximo": 50000,
"cliente.uas.limite": 180000,
"misc.tempo.pings": 10000,
"misc.tempo.checarInatividade": 10000
"misc.tempo.checarInatividade": 10000,
"palavra.regex.caracteresIlegais": "[^A-Za-zÀ-ÿ0-9\\s\\-&]+",
"palavra.tamanho.mín": 3,
"palavra.tamanho.máx": 48,
"tema.tamanho.mín": 0,
"tema.tamanho.máx": 32
}
}

View File

@ -317,8 +317,6 @@ wss.on('connection', ws => {
ws.send(JSON.stringify(new Resposta("PEDIDO_CANCELADO", "SERVIDOR", "AGUARDE_SUA_VEZ")));
break;
}
cliente.uas = Date.now();
salaObj.uas = Date.now();
// Verificar o tipo do termo enviado.
let letra = resposta.extra.termo.length === 1;
@ -331,12 +329,6 @@ wss.on('connection', ws => {
return;
}
/*// A sala está aceitando apenas letras?
if (salaObj.estadoTermo === "AGUARDANDO_LETRA" && !letra){
// A sala não está esperando termos.
ws.send(JSON.stringify(new Resposta("PEDIDO_CANCELADO", "SERVIDOR", "TERMO_INVÁLIDO_TERMO_INESPERADO")));
break;
}*/
// O jogador deseja pular?
if (salaObj.estadoTermo === "AGUARDANDO_TERMO" &&
resposta.extra.termo === '?'){
@ -352,6 +344,10 @@ wss.on('connection', ws => {
ws.send(JSON.stringify(new Resposta("PEDIDO_CANCELADO", "SERVIDOR", "TERMO_INVÁLIDO_LETRA_INESPERADA")));
break;
}
cliente.uas = Date.now();
salaObj.uas = Date.now();
let resultadoTermo = salaObj.processarTermo(resposta.extra.termo);
let lp = resultadoTermo.letrasPreenchidas;
let r = resultadoTermo.resultado;

15
sala.js
View File

@ -44,7 +44,6 @@ class Sala {
/**
* Inicia uma nova partida nesta sala.
* @returns null
* @since 19 de outubro de 2020.
*/
novaPartida(){
@ -147,12 +146,18 @@ class Sala {
termo = termo.toUpperCase();
let resultadoTermo = { letrasPreenchidas: 0, resultado: null };
if (termo.length === 1){
// Este termo já foi enviado?
if (this.lee.indexOf(termo) !== -1
|| this.lei.indexOf(termo) !== -1)
resultadoTermo.resultado = "LETRA_JÁ_ESCOLHIDA";
// A palavra escolhida possui a letra enviada?
if (this.palavra.indexOf(termo) === -1)
resultadoTermo.resultado = 'LETRA_INEXISTENTE';
else {
else if (this.palavra.indexOf(termo) === -1){
this.lei.push(termo);
resultadoTermo.resultado = "LETRA_INEXISTENTE";
} else {
resultadoTermo.letrasPreenchidas = this.preencherCampos(termo);
resultadoTermo.resultado = 'LETRAS_PREENCHIDAS';
this.lee.push(termo);
resultadoTermo.resultado = "LETRAS_PREENCHIDAS";
}
return resultadoTermo;
} else {