Ir ao conteúdo
  • Cadastre-se
Dexter xD

Duvida em uma questao ("JOGO DO ARROCHADO")

Recommended Posts

QUESTAO

Escreva um programa que permita que o usuario jogue o jogo do arrochado. neste jogo, o programa gera um numero aleatorio entre 1 e 100 e o usuario deve arrochar o numero gerado pelo pc.  a cada  jogada, os limites do jogo vão se estreitando de acordo com os valores digitador pelo usuario. o jogo acaba quando o usuario consegue imprensar o numero gerado pelo computador(neste caso ele ganha) ou quando o usuario entra com o numero gerado pelo pc(nesse caso ele perde). em pascal, use a funnçao random, ou randomize para a geraçao de numeros aleatorios.

 

 

o que eu fiz foi isso

Program Questao4;var      min,max,n,n_digit,soma:integer;      quase:boolean;Begin      n:=random(101);      quase:=false;      min:=1;      max:=100;      if (n<>n_digit) then repeat                                  soma:=0;                                  write('Digite um numero:');                                  readln(n_digit);                                  if (n_digit>n) then begin                                                            if (n=n_digit-1) then begin                                                                                         quase:=true;                                                                                         soma:=soma+1;                                                                                  end                                                            else quase:=false;                                                            max:=n_digit;                                                            writeln('O valor é entre',min,'e',max);                                                                                                                  end                                  else if (n_digit<n) then begin                                                                 if (n=n_digit+1) then begin                                                                                              quase:=true;                                                                                              soma:=soma+1;                                                                                       end                                                                 else quase:=false;                                                                 min:=n_digit;                                                                 writeln('O valor é entre',min,'e',max);                                                           end                                  else if (n=n_digit) then writeln('voce perdeu!');                          until (soma>=2) or (n=n_digit);                                      readln;                                 End.

eu preciso fazer uma forma de imprimir "você venceu" caso ele consiga "arrochar" um numero por exemplo: o computador gerou 50, e eu consegui imprensar um numero entre 49 e 51 então deve aparecer "você venceu" 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

 

Faça um teste de mesa...  a cada passo do programa, vá atualizando os valores das variáveis... daí tente achar o que está errado...

 

Ao iniciar o programa, as variáveis são inicializadas com esses valores...

min=0max=0n=0n_digit=0soma=0quase=false

A próxima linha é:

n:=random(101);

Invente um número, por exemplo, o 22, daí você atualiza o "n" para 22... ao "quase:=false", muda ela para false (como vai mudar para o mesmo valor que já estava, na prática, não precisa apagar e reescrever, mas o pascal faz isso). Na próxima, "min:=1", muda o min para 1... por ai vai... siga os passos até o fim e veja como o programa irá se comportar...

Fazendo isso, creio que você vá encontrar o que está errado.

 

Obs. 1: o random gera de 0 a X-1, ou seja, de de 0 a 100 para o seu código.  (<== só ai temos um erro, já que o 0 não deve está na lista!!!)

Obs. 2: como definição, é recomendado executar um Randomize; antes do primeiro Random... ele serve meio que para "embaralhar", e evitar que os números se repitam. (sortear o mesmo número muitas vezes)

 

No aguardo.

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×