Jump to content
Maninho

Desenvolver o jogo Adivinha Números.

Recommended Posts

Maninho

O jogo funciona da seguinte forma:

  • o jogador deve informar a quantidade de algarismos que ele quer adivinhar, sendo 2 algarismos o mínimo permitido (o mais fácil) e 4 o máximo (o mais complexo);

  • o sistema sorteia os números, conforme a quantidade que o jogador informou;

Exemplo: jogador informa que quer adivinhar um número com 3 algarismos, o jogo sorteia um número com 3 algarismos, exemplo: 467

Importante: não poderão ser sorteados números repetidos.

  • o jogador digita os números, após o sistema informa: quantos números ele acertou e quantos estão em posição correta;

Exemplo: número sorteado: 346

jogador digita: 248

sistema informa: um número certo na posição certa

  • o jogo termina quando o número de tentativas é correspondente ao dobro da quantidade informada.

Exemplo: jogador deseja adivinhar um número com três algarismos, então terá 6 tentativas.

O jogo deverá ficar disponível para 5 jogadores a cada vez que for executado.

O jogo deve ter um livro de recordes, que armazene os registros dos 3 melhores jogadores: nome do jogador, pontuação e nível do jogo.O jogo funciona da seguinte forma:

  • o jogador deve informar a quantidade de algarismos que ele quer adivinhar, sendo 2 algarismos o mínimo permitido (o mais fácil) e 4 o máximo (o mais complexo);

  • o sistema sorteia os números, conforme a quantidade que o jogador informou;

Exemplo: jogador informa que quer adivinhar um número com 3 algarismos, o jogo sorteia um número com 3 algarismos, exemplo: 467

Importante: não poderão ser sorteados números repetidos.

  • o jogador digita os números, após o sistema informa: quantos números ele acertou e quantos estão em posição correta;

Exemplo: número sorteado: 346

jogador digita: 248

sistema informa: um número certo na posição certa

  • o jogo termina quando o número de tentativas é correspondente ao dobro da quantidade informada.

Exemplo: jogador deseja adivinhar um número com três algarismos, então terá 6 tentativas.

O jogo deverá ficar disponível para 5 jogadores a cada vez que for executado.

O jogo deve ter um livro de recordes, que armazene os registros dos 3 melhores jogadores: nome do jogador, pontuação e nível do jogo.

Já consegui gerar os números randômicos, estou com dificuldades para desmembrar os valores em um vetor...devo fazer por divisão e usar o resto né, alguem sabe esse código ?

vlww

Share this post


Link to post
Share on other sites
Maninho

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{
int i,vetor[4],x,t=0,a1,a2,a3,a4;

printf("\n_____________________________________________________________________________");
printf("\n							FOI GERADO UM NUMERO");
printf("\n								  ADIVINHE!");
printf("\n_____________________________________________________________________________");

printf("\n2 algarismos = nivel facil ! \n ");
printf("\n3 algarismos = nivel intermediario ! \n");
printf("\n4 algarismos = nivel dificil ! \n\n");





   srand(time(NULL));
printf("escolha o nivel que deseja jogar : \n");
scanf("%i", &x);
switch(x){
	case 2:
           t=x*2;
		printf("2 algarismos possuem %d tentativas\n",t);

           for(i=0;i<x;i++){
                vetor[i]=rand()%10;
                printf("%d", vetor[i]);
           }
           break;
      case 3:
           t=x*2;
           printf("3 algarismos possuem %d tentativas\n",t);
           for(i=0;i<x;i++){
                vetor[i]=rand()%10;
                printf("%d", vetor[i]);
          }
          break;
     case 4:
		t=x*2;
           printf("4 algarismos possuem %d tentativas\n",t);
           for(i=0;i<x;i++){
               vetor[i]=rand()%10;
               printf("%d", vetor[i]);
           }
           break;
    default:
           printf("quantidade invalida\n");
           break;
}

}

ta ai o que eu consegui fazer até o momento...

Edited by Rui Carlos
GeSHi

Share this post


Link to post
Share on other sites
Rui Carlos

Aparentemente já resolveste a questão dos vários dígitos do número. Agora podes começar por isolar a geração dos números numa função, de modo a não teres tanto código no main. (Em geral, tenta separar o código em várias funções pequenas.)

A função pode ter uma assinatura como void gera_numeros(int vetor[], int n), e colocaria em vetor n números aleatórios. Tem em atenção o requisitos de não teres dígitos repetidos. E também não faz sentido imprimires o número gerado.

Depois podes passar para a função que pega no número gerado, e no número sugerido pelo utilizador, e devolve a quantos acertou.

A função pode ter uma assinatura como int compara_numeros(int vetor[], int vetor_u[], int n), e devolve um valor que diz em quantas das n primeiras posições vetor e vetor_u têm o mesmo dígitos.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.