From b010daa87b9025801884d859a37c3219183dde06 Mon Sep 17 00:00:00 2001 From: sebastianjnuwu Date: Mon, 6 Jan 2025 15:50:02 -0300 Subject: [PATCH] feat(version): v1.0.0 --- biome.json | 2 +- socket/package.json | 2 + socket/src/main.js | 142 +++++++++++++++--------- www/index.html | 13 ++- www/src/js/cookie/game.js | 53 --------- www/src/js/cookie/start.js | 129 ++++++++++++++++----- www/src/js/main.js | 1 + www/src/js/modules/bootstrap.min.js | 2 +- www/src/js/modules/bootstrap.min.js.map | 1 + www/src/js/modules/socket.io.min.js.map | 1 + www/src/plugins/admob.ts | 12 +- www/src/styles/css/ui.css | 8 +- 12 files changed, 216 insertions(+), 150 deletions(-) delete mode 100644 www/src/js/cookie/game.js create mode 100644 www/src/js/modules/bootstrap.min.js.map create mode 100644 www/src/js/modules/socket.io.min.js.map diff --git a/biome.json b/biome.json index 25d7e5e..0cd5e6c 100644 --- a/biome.json +++ b/biome.json @@ -16,6 +16,6 @@ "enabled": true }, "files": { - "ignore": ["node_modules", "build", "dist", "android", "ios", "*.log"] + "ignore": ["node_modules", "www/src/js/modules", "build", "dist", "android", "ios", "*.log"] } } diff --git a/socket/package.json b/socket/package.json index 35215da..5e49693 100644 --- a/socket/package.json +++ b/socket/package.json @@ -1,5 +1,7 @@ { + "main": "src/main.js", "type": "module", + "author": "Sebastian Jn ", "dependencies": { "socket.io": "^4.8.1" } diff --git a/socket/src/main.js b/socket/src/main.js index 40bc294..7b1552c 100644 --- a/socket/src/main.js +++ b/socket/src/main.js @@ -63,8 +63,7 @@ io.on("connection", (socket) => { date: new Date(), socket: socket.id, player_date: { - cps: 0, - cookies: 0 + cookies: null }, room_player }); @@ -120,11 +119,14 @@ io.on("connection", (socket) => { if (!room) return; // trocar o socket id - room.players.forEach(x => { - if (x.room_player === room_player) { - x.socket = socket.id; - }; - }); + // Trocar o socket id +for (const player of room.players) { + if (player.room_player === room_player) { + player.socket = socket.id; + break; // Se só um jogador precisa ser atualizado, encerra o loop + } +} + // enter the code room socket.join(room_code); @@ -135,54 +137,92 @@ io.on("connection", (socket) => { }); socket.on("start_game", ({ room_code }) => { - - const room = ROOMS[room_code]; - room.state = "in_game"; - - let countdown = 1; // Contagem regressiva de 10 segundos - const countdownInterval = setInterval(() => { - io.to(room_code).emit("count_down", { countdown }); - - if (countdown === 0) { - clearInterval(countdownInterval); - - // Envia o início do jogo - io.to(room_code).emit("game_start"); - - // Inicia o temporizador do jogo - let time_game = room.time * 1; // Converte minutos em segundos (60 ta em 1 para teste) - - const gameInterval = setInterval(() => { - time_game--; - - // Atualiza o tempo restante - io.to(room_code).emit("timer", { time_game }); - - if (time_game === 0) { - clearInterval(gameInterval); - - // Finaliza o jogo e envia o ranking - const ranking = room.players - .sort((a, b) => b.player_date.cookies - a.player_date.cookies) // Ordena por cookies - .map((player, index) => ({ - rank: index + 1, - room_player: player.room_player, - cookies: player.player_date.cookies - })); - - // Atualiza o estado da sala e envia o ranking - room.state = "finished"; - io.to(room_code).emit("game_end", { ranking }); - - console.log(`Jogo na sala ${room_code} finalizado! Ranking:`, ranking); - } - }, 1000); // Atualiza a cada segundo + const room = ROOMS[room_code]; + + // Verifica se a sala existe + if (!room) { + socket.emit("err_socket", { message: `Sala ${room_code} não encontrada.` }); + return; + } + + // Altera o estado da sala para "in_game" + room.state = "in_game"; + + let countdown = 3; // Contagem regressiva de 10 segundos + const countdownInterval = setInterval(() => { + io.to(room_code).emit("count_down", { countdown }); + + if (countdown === 0) { + clearInterval(countdownInterval); + + // Envia o evento de início do jogo + io.to(room_code).emit("game_start"); + + // Define o tempo de jogo em segundos + let time_game = room.time * 1; // Multiplica os minutos por 60 para converter para segundos + + const gameInterval = setInterval(() => { + time_game--; + + // Envia o tempo restante para a sala + io.to(room_code).emit("timer", { time_game }); + + if (time_game === 0) { + clearInterval(gameInterval); + + // Finaliza o jogo e gera o ranking + const ranking = room.players + .sort((a, b) => b.player_date.cookies - a.player_date.cookies) // Ordena por cookies + .map((player, index) => ({ + rank: index + 1, + room_player: player.room_player, + cookies: player.player_date.cookies, + })); + + // Atualiza o estado da sala + room.state = "finished"; + + // Envia o evento de fim do jogo com o ranking + io.to(room_code).emit("game_end", { ranking }); + + console.log(`Jogo na sala ${room_code} finalizado! Ranking:`, ranking); } + }, 1000); // Atualiza a cada segundo + } + + countdown--; + }, 1000); // Atualiza a cada segundo +}); - countdown--; - }, 1000); // Atualiza a cada segundo + + socket.on("update_cookies", ({ room_player, room_code, cookies }) => { + // Valida se o número de cookies recebido é válido + if (typeof cookies !== "number" || cookies < 0) { + console.error("Dados inválidos recebidos no evento update_cookies."); + return; + } + + // Busca a sala diretamente pelo código + const room = ROOMS[room_code]; + + if (!room) { + console.error(`Sala ${room_code} não encontrada.`); + return; + } + + // Busca o jogador dentro da sala + const player = room.players.find((player) => player.room_player === room_player); + + // Verifica se o jogador existe e atualiza os cookies + if (player) { + player.player_date.cookies = cookies; + console.log(`Jogador ${room_player} na sala ${room_code} atualizou cookies para ${cookies}.`); + } else { + console.error(`Jogador ${room_player} não encontrado na sala ${room_code}.`); + } }); + }); io.listen(3000); \ No newline at end of file diff --git a/www/index.html b/www/index.html index 3dec2b7..007404f 100644 --- a/www/index.html +++ b/www/index.html @@ -6,11 +6,14 @@ Cookie + + - @@ -180,7 +183,7 @@