Translated names from the networking protocol

This commit is contained in:
luca0N! 2021-08-16 23:17:48 -03:00
parent 18edf28ed8
commit ede1d438a9
Signed by: luca0N
GPG Key ID: 2E7B4655CF16D7D6
1 changed files with 30 additions and 30 deletions

View File

@ -166,7 +166,7 @@ wss.on('connection', ws => {
} }
// Retornar um código de sucesso ao cliente, incluindo a lista de jogadores conectados, estado e o líder da sala. // Retornar um código de sucesso ao cliente, incluindo a lista de jogadores conectados, estado e o líder da sala.
ws.send(JSON.stringify(new Query("SUCCESSFUL", "SERVER", "ROOM_EXISTS", { opções: roomObj.opções, líder: roomObj.líder, estado: roomObj.estado, jogadores: jogadores }))); ws.send(JSON.stringify(new Query("SUCCESSFUL", "SERVER", "ROOM_EXISTS", { options: roomObj.opções, leader: roomObj.líder, roomStatus: roomObj.estado, players: jogadores })));
} else { } else {
// A sala não existe. Vamos criar ela e adicionar o usuário nela. // A sala não existe. Vamos criar ela e adicionar o usuário nela.
// salas.push(new Room(sala, [cliente])); // salas.push(new Room(sala, [cliente]));
@ -214,7 +214,7 @@ wss.on('connection', ws => {
alertarClientesEvento('EVENT_PLAYER_MESSAGE', cliente.sala, { apelido: cliente.apelido, mensagem: mensagem }); alertarClientesEvento('EVENT_PLAYER_MESSAGE', cliente.sala, { apelido: cliente.apelido, mensagem: mensagem });
break; break;
} }
case "INICIAR_PARTIDA":{ case "START_MATCH":{
// O cliente que está tentando iniciar a partida é do líder? // O cliente que está tentando iniciar a partida é do líder?
if (roomObj.líder !== cliente.apelido){ if (roomObj.líder !== cliente.apelido){
// Este cliente não é do líder da sala. Retornar um erro ao cliente e cancelar a tarefa. // Este cliente não é do líder da sala. Retornar um erro ao cliente e cancelar a tarefa.
@ -234,10 +234,10 @@ wss.on('connection', ws => {
roomObj.novaPartida(); roomObj.novaPartida();
alertarClientesEvento("EVENT_ROOM_STATUS_CHANGED", cliente.sala, { estado: roomObj.estado }); alertarClientesEvento("EVENT_ROOM_STATUS_CHANGED", cliente.sala, { roomStatus: roomObj.estado });
// E vamos alertar todos os clientes sobre o jogador escolhido. // E vamos alertar todos os clientes sobre o jogador escolhido.
alertarClientesEvento("EVENT_JOGADOR_ESCOLHIDO", cliente.sala, { jogador: roomObj.vezDe }); alertarClientesEvento("EVENT_PLAYER_CHOSEN", cliente.sala, { nickname: roomObj.vezDe });
break; break;
} }
case "ESCOLHER_PALAVRA":{ case "ESCOLHER_PALAVRA":{
@ -319,7 +319,7 @@ wss.on('connection', ws => {
alertarClientesEvento("EVENT_PALAVRA_ESCOLHIDA", cliente.sala, { palavra: { tamanho: resposta.extra.palavra.length, espaços: roomObj.procurar(' '), hífens: roomObj.procurar('-') }, tema: resposta.extra.tema, termoVezDe: roomObj.termoVezDe }); alertarClientesEvento("EVENT_PALAVRA_ESCOLHIDA", cliente.sala, { palavra: { tamanho: resposta.extra.palavra.length, espaços: roomObj.procurar(' '), hífens: roomObj.procurar('-') }, tema: resposta.extra.tema, termoVezDe: roomObj.termoVezDe });
break; break;
} }
case "ENVIAR_TERMO":{ case "SEND_TERM":{
// A sala está em partida? // A sala está em partida?
if (roomObj.estado !== "IN_SESSION"){ if (roomObj.estado !== "IN_SESSION"){
ws.send(JSON.stringify(new Query("ERRO", "SERVER", "SALA_ESTADO_NÃO_EM_PARTIDA"))); ws.send(JSON.stringify(new Query("ERRO", "SERVER", "SALA_ESTADO_NÃO_EM_PARTIDA")));
@ -346,20 +346,20 @@ wss.on('connection', ws => {
} }
// Verificar o tipo do termo enviado. // Verificar o tipo do termo enviado.
let letra = resposta.extra.termo.length === 1; let letra = resposta.extra.term.length === 1;
let salaClientes = roomObj.clientes; let salaClientes = roomObj.clientes;
let e = Util.receberClientePorApelido(roomObj, roomObj.vezDe); // escolhedor let e = Util.receberClientePorApelido(roomObj, roomObj.vezDe); // escolhedor
// O termo está vazio? // O termo está vazio?
if (resposta.extra.termo.replace(/ /g, "") === ""){ if (resposta.extra.term.replace(/ /g, "") === ""){
ws.send(JSON.stringify(new Query("PEDIDO_CANCELADO", "SERVER", "TERMO_INVÁLIDO", { erroDescrição: "TERMO_VAZIO" }))); ws.send(JSON.stringify(new Query("PEDIDO_CANCELADO", "SERVER", "TERMO_INVÁLIDO", { erroDescrição: "TERMO_VAZIO" })));
return; return;
} }
// O jogador deseja pular? // O jogador deseja pular?
if (roomObj.estadoTermo === "AGUARDANDO_TERMO" && if (roomObj.estadoTermo === "AGUARDANDO_TERMO" &&
resposta.extra.termo === '?'){ resposta.extra.term === '?'){
alertarClientesEvento("EVENT_JOGADOR_PULOU_TERMO", cliente.sala, { jogador: cliente.apelido }); alertarClientesEvento("EVENT_PLAYER_SKIPPED_TERM_TURN", cliente.sala, { nickname: cliente.apelido });
// Escolher outro jogador. // Escolher outro jogador.
escolherJogadorTermo(roomObj); escolherJogadorTermo(roomObj);
return; return;
@ -375,9 +375,9 @@ wss.on('connection', ws => {
cliente.uas = Date.now(); cliente.uas = Date.now();
roomObj.uas = Date.now(); roomObj.uas = Date.now();
resposta.extra.termo = resposta.extra.termo.toUpperCase(); resposta.extra.term = resposta.extra.term.toUpperCase();
let resultadoTermo = roomObj.processarTermo(resposta.extra.termo); let resultadoTermo = roomObj.processarTermo(resposta.extra.term);
let lp = resultadoTermo.letrasPreenchidas; let lp = resultadoTermo.letrasPreenchidas;
let r = resultadoTermo.resultado; let r = resultadoTermo.resultado;
@ -386,17 +386,17 @@ wss.on('connection', ws => {
let dif = 0, // diferença da nova pontuação do jogador que enviou o termo let dif = 0, // diferença da nova pontuação do jogador que enviou o termo
dife = 0; // diferença da nova pontuação do jogador que enviou a palavra atual dife = 0; // diferença da nova pontuação do jogador que enviou a palavra atual
switch (r){ switch (r){
case "LETRA_JÁ_ESCOLHIDA":{ case "LETTER_ALREADY_CHOSEN":{
alertarClientesEvento("EVENT_TERMO_ESCOLHIDO", cliente.sala, { tipo: letra ? "LETRA" : "TERMO", termo: resposta.extra.termo, resultado: r }); alertarClientesEvento("EVENT_TERM_CHOSEN", cliente.sala, { tipo: letra ? "LETRA" : "TERMO", termo: resposta.extra.termo, resultado: r });
tentarNovamente = true; tentarNovamente = true;
break; break;
} }
case "PALAVRA_JÁ_ESCOLHIDA":{ case "TERM_ALREADY_CHOSEN":{
alertarClientesEvento("EVENT_TERMO_ESCOLHIDO", cliente.sala, { tipo: letra ? "LETRA" : "TERMO", termo: resposta.extra.termo, resultado: r }); alertarClientesEvento("EVENT_TERM_CHOSEN", cliente.sala, { tipo: letra ? "LETRA" : "TERMO", termo: resposta.extra.termo, resultado: r });
tentarNovamente = true; tentarNovamente = true;
break; break;
} }
case "LETRAS_PREENCHIDAS":{ case "LETTER_PRESENT":{
alertarClientesEvento("EVENT_TERMO_ESCOLHIDO", cliente.sala, { tipo: letra ? "LETRA" : "TERMO", termo: resposta.extra.termo, resultado: r, ldc: roomObj.ldc }); alertarClientesEvento("EVENT_TERMO_ESCOLHIDO", cliente.sala, { tipo: letra ? "LETRA" : "TERMO", termo: resposta.extra.termo, resultado: r, ldc: roomObj.ldc });
// Também acrescentar pontuação ao jogador. // Também acrescentar pontuação ao jogador.
@ -409,12 +409,12 @@ wss.on('connection', ws => {
alertarClientesEvento("EVENT_JOGADOR_PONTUAÇÃO_ALTERADA", cliente.sala, { jogador: e.apelido, pontos: e.pontos, diferença: dife }); alertarClientesEvento("EVENT_JOGADOR_PONTUAÇÃO_ALTERADA", cliente.sala, { jogador: e.apelido, pontos: e.pontos, diferença: dife });
break; break;
} }
case "LETRA_INEXISTENTE":{ case "LETTER_NOT_PRESENT":{
alertarClientesEvento("EVENT_TERMO_ESCOLHIDO", cliente.sala, { tipo: letra ? "LETRA" : "TERMO", termo: resposta.extra.termo, resultado: r }); alertarClientesEvento("EVENT_TERMO_ESCOLHIDO", cliente.sala, { tipo: letra ? "LETRA" : "TERMO", termo: resposta.extra.termo, resultado: r });
if (alterarTin(roomObj)) return; if (alterarTin(roomObj)) return;
break; break;
} }
case "PALAVRA_CORRETA":{ case "TERM_GUESSED":{
alertarClientesEvento("EVENT_TERMO_ESCOLHIDO", cliente.sala, { acertou: true, palavra: roomObj.palavra, resultado: r }); alertarClientesEvento("EVENT_TERMO_ESCOLHIDO", cliente.sala, { acertou: true, palavra: roomObj.palavra, resultado: r });
// Acrescentar pontos ao jogador por acertar a palavra. // Acrescentar pontos ao jogador por acertar a palavra.
// Pontos pelos campos que antes estavam vazios e pontos por acertar a palavra. // Pontos pelos campos que antes estavam vazios e pontos por acertar a palavra.
@ -447,7 +447,7 @@ wss.on('connection', ws => {
alertarClientesEvento("EVENT_JOGADOR_ESCOLHIDO", cliente.sala, { jogador: roomObj.vezDe }); alertarClientesEvento("EVENT_JOGADOR_ESCOLHIDO", cliente.sala, { jogador: roomObj.vezDe });
return; return;
} }
case "PALAVRA_INCORRETA":{ case "TERM_NOT_GUESSED":{
alterarTin(roomObj); alterarTin(roomObj);
// Penalizar o jogador caso ele tenha errado a palavra cedo. // Penalizar o jogador caso ele tenha errado a palavra cedo.
if (roomObj.estadoTermo === 'AGUARDANDO_LETRA') if (roomObj.estadoTermo === 'AGUARDANDO_LETRA')
@ -465,13 +465,13 @@ wss.on('connection', ws => {
/*alertarClientesEvento("EVENT_TERMO_ESCOLHIDO", cliente.sala, { tipo: letra ? "LETRA" : "TERMO", termo: resposta.extra.termo });*/ /*alertarClientesEvento("EVENT_TERMO_ESCOLHIDO", cliente.sala, { tipo: letra ? "LETRA" : "TERMO", termo: resposta.extra.termo });*/
break; break;
} }
case "CHUTAR_CLIENTE":{ case "KICK_PLAYER":{
// Problema #60: O cliente que enviou este pedido é o líder da sala? // Problema #60: O cliente que enviou este pedido é o líder da sala?
if (roomObj.líder !== cliente.apelido){ if (roomObj.líder !== cliente.apelido){
ws.send(JSON.stringify(new Query("ERRO", "SERVER", "SEM_PERMISSÃO"))); ws.send(JSON.stringify(new Query("ERRO", "SERVER", "SEM_PERMISSÃO")));
return; return;
} }
let jogador = resposta.extra.jogador; let jogador = resposta.extra.nickname;
if (jogador === undefined){ if (jogador === undefined){
ws.send(JSON.stringify(new Query("ERRO", "SERVER", undefined, { motivo: "PARÂMETRO_FALTANDO"}))); ws.send(JSON.stringify(new Query("ERRO", "SERVER", undefined, { motivo: "PARÂMETRO_FALTANDO"})));
break; break;
@ -481,19 +481,19 @@ wss.on('connection', ws => {
// Encerrar conexão com o cliente alvo. // Encerrar conexão com o cliente alvo.
let clienteAlvo = Util.receberClientePorApelido(roomObj, jogador); let clienteAlvo = Util.receberClientePorApelido(roomObj, jogador);
alertarClientesEvento("EVENT_CLIENTE_CHUTADO", cliente.sala, { cliente: clienteAlvo.apelido }); alertarClientesEvento("EVENT_PLAYER_KICKED", cliente.sala, { nickname: clienteAlvo.apelido });
// Remover o cliente da sala. // Remover o cliente da sala.
clienteAlvo.socket.terminate(); clienteAlvo.socket.terminate();
break; break;
} }
case "BANIR_CLIENTE":{ case "BAN_PLAYER":{
// Problema #60: O cliente que enviou este pedido é o líder da sala? // Problema #60: O cliente que enviou este pedido é o líder da sala?
if (roomObj.líder !== cliente.apelido){ if (roomObj.líder !== cliente.apelido){
ws.send(JSON.stringify(new Query("ERRO", "SERVER", "SEM_PERMISSÃO"))); ws.send(JSON.stringify(new Query("ERRO", "SERVER", "SEM_PERMISSÃO")));
return; return;
} }
let jogador = resposta.extra.jogador; let jogador = resposta.extra.nickname;
if (jogador === undefined){ if (jogador === undefined){
ws.send(JSON.stringify(new Query("ERRO", "SERVER", undefined, { motivo: "PARÂMETRO_FALTANDO" }))); ws.send(JSON.stringify(new Query("ERRO", "SERVER", undefined, { motivo: "PARÂMETRO_FALTANDO" })));
break; break;
@ -502,7 +502,7 @@ wss.on('connection', ws => {
// Encerrar conexão com o cliente alvo. // Encerrar conexão com o cliente alvo.
let clienteAlvo = Util.receberClientePorApelido(roomObj, jogador); let clienteAlvo = Util.receberClientePorApelido(roomObj, jogador);
alertarClientesEvento("EVENT_CLIENTE_BANIDO", cliente.sala, { cliente: clienteAlvo.apelido }); alertarClientesEvento("EVENT_PLAYER_BANNED", cliente.sala, { nickname: clienteAlvo.apelido });
// Remover o cliente da sala. // Remover o cliente da sala.
clienteAlvo.socket.terminate(); clienteAlvo.socket.terminate();
@ -563,7 +563,7 @@ wss.on('connection', ws => {
ws.on('close', function(){ ws.on('close', function(){
console.log(' [' + cliente.address + '] Conexão fechada.'); console.log(' [' + cliente.address + '] Conexão fechada.');
// Remover o cliente da lista de clientes. // Remover o cliente da lista de clientes.
removerCliente(cliente, 'MOTIVO_CONEXÃO_FECHADA'); removerCliente(cliente, 'REASON_CONNECTION_CLOSED');
}); });
let resposta = new Query("TEST_CON", "SERVER"); let resposta = new Query("TEST_CON", "SERVER");
ws.send(JSON.stringify(resposta)); ws.send(JSON.stringify(resposta));
@ -603,7 +603,7 @@ function removerCliente(cliente, motivo){
//return; //return;
// Alertar os clientes na sala sobre o jogador que está sendo removido caso um motivo tenha sido especificado. // Alertar os clientes na sala sobre o jogador que está sendo removido caso um motivo tenha sido especificado.
alertarClientesEvento('EVENT_JOGADOR_SAIU', cliente.sala, { apelido: cliente.apelido, motivo: motivo }); alertarClientesEvento('EVENT_PLAYER_LEFT', cliente.sala, { nickname: cliente.apelido, reason: motivo });
if(líder) // Remover todos os jogadores da sala. if(líder) // Remover todos os jogadores da sala.
for (let x = sala.clientes.length; x > 0; x--) for (let x = sala.clientes.length; x > 0; x--)
@ -738,7 +738,7 @@ function verificarPossibilidadeDePartida(sala, forçar){
sala.estado = sala.clientes.length === 1 ? "AGUARDANDO_JOGADORES" : "AGUARDANDO_LÍDER"; sala.estado = sala.clientes.length === 1 ? "AGUARDANDO_JOGADORES" : "AGUARDANDO_LÍDER";
// Alertar os clientes. // Alertar os clientes.
alertarClientesEvento("EVENT_ROOM_STATUS_CHANGED", sala.sala, { estado: sala.estado }); alertarClientesEvento("EVENT_ROOM_STATUS_CHANGED", sala.sala, { roomStatus: sala.estado });
return sala.clientes.length > 1; return sala.clientes.length > 1;
} }
@ -824,7 +824,7 @@ function checarInativos(){
if (Date.now() - clientes[x].uas >= vars["client.uas.max"]){ if (Date.now() - clientes[x].uas >= vars["client.uas.max"]){
console.log("[" + clientes[x].endereço + "] O jogador parece estar inativo. Fechando conexão."); console.log("[" + clientes[x].endereço + "] O jogador parece estar inativo. Fechando conexão.");
// Alertar os clientes. // Alertar os clientes.
alertarClientesEvento("EVENT_JOGADOR_CHUTADO_POR_INATIVIDADE", clientes[x].sala, { jogador: clientes[x].apelido }); alertarClientesEvento("EVENT_PLAYER_KICKED_FOR_INACTIVITY", clientes[x].sala, { nickname: clientes[x].apelido });
clientes[x].socket.terminate(); clientes[x].socket.terminate();
} }
} }
@ -836,7 +836,7 @@ function checarInativos(){
if (Date.now() - salas[x].uas >= vars["room.uas.max"]){ if (Date.now() - salas[x].uas >= vars["room.uas.max"]){
console.log(salas[x].sala + ": esta sala parece estar inativa. Removendo ela."); console.log(salas[x].sala + ": esta sala parece estar inativa. Removendo ela.");
// Esta sala está inativa. Alertar aos clientes de que eles serão desconectados desta sala por inatividade. // Esta sala está inativa. Alertar aos clientes de que eles serão desconectados desta sala por inatividade.
alertarClientesEvento("EVENT_SALA_INATIVA", salas[x].sala); alertarClientesEvento("EVENT_ROOM_INACTIVE", salas[x].sala);
// Terminar conexão com o líder, que automaticamente irá desconectar todos da sala. // Terminar conexão com o líder, que automaticamente irá desconectar todos da sala.
Util.receberClientePorApelido(salas[x], salas[x].líder).socket.terminate(); Util.receberClientePorApelido(salas[x], salas[x].líder).socket.terminate();
} }