Ir para conteúdo
Fórum Script Brasil
  • 0

O Computador Advinha 1 numero pensado pelo usuario


wallace

Pergunta

ola turma...

tenho q fazer um jogo de adivinhar...

a primeira fase

o usuário advinha um numero gerado aleatoriamente pelo pc e o pc informa se é maior, menor ou igual - este eu fiz e rodou beleza

a segunda fase é o oposto o pc q tem q advinhar o numero pensado pelo usuario e o usuario informar se é maior, menor ou igual

como deveria fazer? busca binaria ? preencher um vetor com os numeros (no caso coloquei no intervalo de 0 a 50) e ordenado e fazer uma busca sequencial ?

como seria gerar um novo numero aleatorio maior ou menor q o anterior ?

valeu

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Olha, não sei, mas parece um tanto trabalhoso isso.

Eu fiz uma tabela mágica, ano passado q nem sei onde está... é a base de regras, truque, que seja... onde a pessoa escolhe o numero de colunas que a tabela vai ter, os numeros são gerados, mas existe uma regra pra isso, dai a pessoa pensa no numero e informa em quais colunas ele está e em quais ele não está. Através de um método, é "adivinhado" o numero que a pessoa pensou. É interessante. Mas é só uma analogia ao que você está fazendo.

Link para o comentário
Compartilhar em outros sites

  • 0

Você pode gerar um número aleatório.

Então o usuário responde se é maior ou menor (ou igual).

Caso for maior, acrescente um valor ao número, se ainda for maior, vá acrescendo.

Se não, vá decrescendo. Uma hora você vai chegar no valor do usuário. (Apesar de talvez, um pouco demorado)

Abraços.

Link para o comentário
Compartilhar em outros sites

  • 0

ola Durub certo daria mesmo

mas seria muito complicado para o usuario testar o programa conforme por exemplo o enunciado real do exercicio q é em um intervalo de 0 a 32000

criei o primeiro numero aleatorio num e mostrei na tela

ai eu pensei q na hora q o usuario passasse "+" ou "-" chamasse as funcoes Maior() ou Menor() sendo essas recursivas

mas a minha dificuldade é gerar um novo numero aleatorio com base em um intervalo (primeiro caso na funcao Maior) q seja maior q o anterior e menor q o limite

o meu codigo abaixo para as funcoes

na funcao do Menor() tentei fazer um for mas sempre geraria varios numeros ao mesmo tempo

int Maior (int &num, int &aux){ // num é o primeiro numero criado aleatoriamente aux é iniciado com 50

int nAMaior; time_t t;

srand((unsigned) time(&t)); // cria aleatoriamente os numeros deveria ser sem se repetir a cada funcao mas repete

nAMaior=rand()% 50; // 50 é o intervalo (esse é o problema)

if ((nAMaior > num) && (nAMaior <= aux)) { // neste caso se o novo numero for maior q o anterio e estiver no intervalo 50

aux=num; //aux recebe o num anterior para posterior comparacao

return num=nAMaior;

}

else{

if ((nAMaior < num) && (nAMaior < aux)){// meu interesse seria uma funcao recursiva

Maior(num, aux);}

}

}

int Menor (int &num){

time_t t;int nAMenor,i;

srand((unsigned) time(&t));

for (i<num; i>=0;i--){

nAMenor=rand()%i;

}

if ( nAMenor<num)

return nAMenor;

else

Menor (num);

}

valeu

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...