1
resposta

[Projeto] Faça como eu fiz: primeiro jogo com C#

//Faça como eu fiz: primeiro jogo com C#

//OBS: Eu nem sabia por onde começar, então eu vi a sugestão do instrutor, dei uma lida, entendi o conceito e estou fazendo porem nao copiando e colando.

using System;

Random aleatorio = new Random(); //Aqui ele ta usando uma classe que chama Random, a gente instancio essa classe e colocou o nome de aleatorio?
int numeroSecreto = aleatorio.Next(1, 101); //Aqui a gente criou a variavel numeroSecreto, demos a ela a aleatorio que é o random, o next n sei oq é e os parametros fala que o numero pd ir do 1 até 101 de forma aleatoria, ne ?

do
{
    Console.WriteLine("Digite um numero aleatorio: ");
    int chute = Convert.ToInt32(Console.ReadLine());
    
    if (chute == numeroSecreto)
    {
        Console.WriteLine("Parabens, voce acertou!");
        break; //Me expliquem mais sobre o break, pfv nn entendi mt bem, ele serve para parar a aplicaca?
    }
    
    else if (chute < numeroSecreto)
    {
        Console.WriteLine("Seu numero é menor que o numero secreto");
    }
    
    else
    {
        Console.WriteLine("Seu numero é maior que o numero secreto");
    }
    
} while(true) //Pq isso? oq é isso? significa q ele vai ficar rodando para sempre?
1 resposta

Oi, Mateus! Tudo bem?

Antes de tudo, parabéns pela iniciativa de ler, entender o conceito e tentar escrever o código por conta própria. Esse é exatamente o caminho para desenvolver o raciocínio lógico e realmente consolidar o aprendizado.

As dúvidas que você colocou nos comentários são muito boas, vou tentar te ajudar mas se sobrar dúvidas, conte comigo.

Sobre aleatorio = new Random();

Você está certo na sua interpretação. O C# possui várias ferramentas prontas, e uma delas é a classe Random, usada para gerar valores aleatórios.

Quando escrevemos aleatorio = new Random();, estamos criando uma instância dessa classe e guardando essa instância em uma variável chamada aleatorio. A partir desse momento, podemos usar esse objeto para gerar números aleatórios dentro do programa.

Sobre .Next(1, 101);

O método Next pertence ao objeto aleatorio. Ele serve para pedir ao programa que gere o próximo número aleatório.

Os valores (1, 101) definem o intervalo do sorteio.

O primeiro número (1) é inclusivo, ou seja, pode ser sorteado.

O segundo número (101) é exclusivo, ou seja, não será sorteado.

Na prática, isso significa que o C# vai gerar números de 1 até 100. É como se disséssemos: “gere um número de 1 até antes de chegar no 101”.

Sobre break;

A palavra-chave break é usada para interromper imediatamente um laço de repetição.

Ela não encerra o programa inteiro. Apenas faz com que o fluxo de execução saia do laço em que está.

Nesse caso, ele sai do laço do-while. Sem o break, mesmo depois de acertar o número, o programa continuaria executando o laço e pedindo novas entradas.

Sobre while(true)

Na estrutura while, quando usamos true como condição, criamos um laço infinito, porque a condição é sempre verdadeira.

Isso é intencional e bastante comum. O controle de quando o laço deve parar acontece dentro do próprio bloco de código. No seu exemplo, isso acontece quando a condição do if é atendida e o break é executado.

Continue com essa curiosidade e dedicação,seu código está no caminho certo. Questionar cada parte do código é exatamente o que faz alguém evoluir na programação.

Bons estudos!

Sucesso

Imagem da comunidade