Informática, perguntado por meuemaildobs, 1 ano atrás

Alguém me ajuda fazer? esse jogo da ESTRELAS em C

Em ESTRELAS o objetivo é adivinhar um número N (entre 32 e 128) gerado pelo computador. A
cada entrada o computador emitirá uma mensagem composta por “estrelas”, sendo que a diferença
poderá ser tanto para cima quanto para baixo:

Diferença Mensagem
>=64 * (1 estrela)
>=32 ** (2 estrelas)
>=16 *** (3 estrelas)
>=8 **** (4 estrelas)
>=4 ***** (5 estrelas)
>=2 ****** (6 estrelas)
=1 ******* (7 estrelas)

Já tenho o número em mente. Agora é sua vez de adivinhar.
Entre com um valor entre 32 e 128: 96
***
Entre com um valor entre 32 e 128: 112
**
Entre com um valor entre 32 e 128: 80
*****
Entre com um valor entre 32 e 128: 76
******
Entre com um valor entre 32 e 128: 72
*******
Entre com um valor entre 32 e 128: 71
******
Entre com um valor entre 32 e 128: 73
Vencedor após 7 tentativas
ESTRELAS é bem parecido com ARMADILHA, mas poderá ser jogado até por uma pessoa com
deficiência visual, pois, para cada estrela mostrada na tela um beep será produzido pelo alto-falante
do computador.
Esse efeito é dado mostrando o caractere especial \a. Por exemplo:

#include
void main()
{
int i;
for(i=1;i<=10;i++)
printf ("\a");
}

Soluções para a tarefa

Respondido por academicoiffdavi
5

Olá!

Vou escrever o código em C e comentá-lo para você:

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

void main() {

int i,resposta,aleatorio,contador=0,verifica=0,teste;  \\declaração das variáveis

aletorio = (rand() % 128) + 32 \\Gerando número aleatório entre 32 e 128

while(verifica == 0){ \\Repetindo a função enquanto o jogador não acertar

contador++; \\conta o número de tentativas

printf("Digite um número: ");

scanf("%d",&resposta);

teste = resposta - aleatorio;

if(teste >= 64 || teste <= -64){ \\verifica se é maior que 64

printf("*");

for(i=0;i<1;i++){

printf("\a");

}

}else if(teste >= 32 || teste <= -32){ \\ verifica se é maior que 32

printf("**");

for(i=0;i<2;i++){

printf("\a");

}

}else if(teste >= 16 || teste <= -16){

printf("***");

for(i=0;i<3;i++){

printf("\a");

}

}else if(teste >= 8 || teste <= -8){

printf("****");

for(i=0;i<4;i++){

printf("\a");

}

}else if(teste >=4 || teste <= -4){

printf("*****");

for(i=0;i<5;i++){

printf("\a");

}

}else if(teste >= 2 || teste <= -2){

printf("******");

for(i=0;i<6;i++){

printf("\a");

}

}else if(teste == 1 || teste == -1){

printf("*******");

for(i=0;i<7;i++){

printf("\a");

}

}else{

printf("O jogador venceu com %d tentativas",contador);

verifica = 1; \\condição para parar o jogo

}

}

}

Perguntas interessantes