1
resposta

[Projeto] Exercício: Verificar acesso a nível do jogo

import { createInterface } from "readline";

const rl = createInterface({
  input: process.stdin,
  output: process.stdout,
});

rl.question("Quantos pontos você tem?\n> ", (inputPontos) => {
  rl.question("Quantas vidas você tem?\n> ", (inputVidas) => {
    const pontos = Number(inputPontos);
    const vidas = Number(inputVidas);

    if (!Number.isInteger(pontos) || !Number.isInteger(vidas)) {
      console.log("Utilize apenas números inteiros.");
      rl.close();
      return;
    }

    const podeAvancar = pontos >= 50 && vidas >= 1;

    console.log(
      `Você ${podeAvancar ? "pode" : "não pode"} avançar para o próximo nível`,
    );

    rl.close();
  });
});
1 resposta

Oi, Vitor! Como vai?

Agradeço por compartilhar

Seu projeto ficou bem organizado: você usou readline para receber os dados, converteu as entradas com Number() e validou se os valores eram inteiros com Number.isInteger(), o que deixa a lógica mais segura antes de verificar se o jogador pode avançar.

Uma dica interessante para o futuro é usar uma função para separar a regra de avanço, deixando o código mais fácil de reutilizar e testar.


function podeAvancarDeNivel(pontos, vidas) {
  return pontos >= 50 && vidas >= 1;
}

const resultado = podeAvancarDeNivel(60, 2);
console.log(resultado);

Esse código verifica se a pontuação e as vidas atendem aos criterios e retorna true ou false. Continue praticando essa separação de responsabilidades, pois ela ajuda bastante em projetos maiores.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!