Ir ao conteúdo
  • Cadastre-se

Duvida em uma questao ("JOGO DO ARROCHADO")


Posts recomendados

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" 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

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

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...