Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Resoluçao

void Cabecalho()
{
    string NomeJogo = "Jogo de adivinhação";
    string asteriscos = new string('*', NomeJogo.Length);
    Console.WriteLine(asteriscos);
    Console.WriteLine(NomeJogo);
    Console.WriteLine(asteriscos);
    Console.WriteLine("Tente adivinhar o numero que estou pensando");
    
}
void jogo()
{
    Random random = new Random();
    int RanNumero = random.Next(1, 101);
    do
    {
        Console.Write("Digite o numero de 1 a 100: ");
        string numerodigitado = Console.ReadLine();
        int numero = int.Parse(numerodigitado);
        if (numero > 100 || numero < 0)
        {
            Console.WriteLine("Numero invalido, digite um numero entre 1 e 100");
            continue;
        }

        if (numero == RanNumero)

        {
            Console.WriteLine("Parabens, voce acertou");
            break;
        }
        else if (numero < RanNumero)
        {
            Console.WriteLine($"Voce errou! O numero que {numero} e menor do que o numero que pensei");
        }
        else if (numero > RanNumero)
        {
            Console.WriteLine($"Voce errou! O numero que {numero} e maior do que o numero que pensei");
        }
       

    } while (true);
 }


Cabecalho();
jogo();

3 respostas

Boa Marcelo, muito bom!

solução!

Olá Marcelo! Bom dia, tudo bom?

Seu código está muito bom para o que a atividade pede. No entanto, notei que você não está utilizando o switch case, que é mencionado na descrição da atividade. O uso do switch case não é obrigatório para o funcionamento do jogo, mas pode ser um bom exercício para praticar essa estrutura de controle.

Aqui está uma sugestão de como você poderia incorporar o switch case no seu código:

void jogo()
{
    Random random = new Random();
    int RanNumero = random.Next(1, 101);
    do
    {
        Console.Write("Digite o numero de 1 a 100: ");
        string numerodigitado = Console.ReadLine();
        int numero = int.Parse(numerodigitado);

        if (numero > 100 || numero < 1)
        {
            Console.WriteLine("Numero invalido, digite um numero entre 1 e 100");
            continue;
        }

        switch (numero.CompareTo(RanNumero))
        {
            case 0:
                Console.WriteLine("Parabens, voce acertou");
                return;
            case -1:
                Console.WriteLine($"Voce errou! O numero {numero} e menor do que o numero que pensei");
                break;
            case 1:
                Console.WriteLine($"Voce errou! O numero {numero} e maior do que o numero que pensei");
                break;
        }

    } while (true);
}

Neste exemplo, utilizamos numero.CompareTo(RanNumero), que retorna 0 se os números forem iguais, -1 se numero for menor que RanNumero, e 1 se numero for maior. Assim, podemos usar o switch case para tratar cada situação.

Espero ter ajudado e bons estudos!

E parabéns pela atividade!

Ah beleza, obrigado. Tentei fazer com o switch e não tinha conseguido. Agora entendi como usar