Ir ao conteúdo
  • Cadastre-se

iSoft.

Membro Júnior
  • Posts

    1
  • Cadastrado em

  • Última visita

Reputação

0
  1. Alguém me ajuda nessa parte que esta logo abaixo, não estou conseguindo fazer, tentei mais da erro. Sempre que o jogador repetir um chute que ele já tenha dado anteriormente, o programa deverá recusá-lo e emitir uma mensagem informando ao jogador sobre essa situação e pedindo para ele tentar outro chute. Obviamente, esse chute duplicata não deverá ser contabilizado com uma das 10 tentativas que o jogador tem direito. (SUGESTÃO: Utilizar um array de 10 elementos para armazenar os chutes do jogador.) program guessgame; function Status(n: integer; chute: integer) : string; begin if chute < (n-18) then status := 'CG' else if chute < (n-15) then status := 'MF' else if chute < (n-12) then status := 'FR' else if chute < (n-9) then status := 'MO' else if chute < (n-6) then status := 'QT' else if chute < (n-3) then status := 'MQ' else if chute <= (n+3) then status := 'FV' else if chute <= (n+6) then status := 'MQ' else if chute <= (n+9) then status := 'QT' else if chute <= (n+12) then status := 'MO' else if chute <= (n+15) then status := 'FR' else if chute <= (n+18) then status := 'MF' else status := 'CG'; end; procedure emiteMensagem(var e1, e2: string); begin case e1 of 'FV': case e2 of 'FV': writeln('Ainda continua fervendo'); 'MQ': writeln('Oops, deu uma pequena esfriada, agora está muito quente.'); 'QT': writeln('Oops, deu uma esfriada, agora esta quente.'); 'MO': writeln('Oops, agora você esta morno.'); 'FR': writeln('Oops, esfriou mais ainda ,agora ficou frio.'); 'MF': writeln('Oops, esfriou muito, agora ficou muito frio.'); 'CG': writeln('Oops, Agora esfriou de vez, esta congelando.'); else writeln('esta Fervendo.'); end; 'MQ': case e2 of 'FV': writeln('Oops, esta pegando fogo, agora estar fervendo.'); 'MQ': writeln('Ainda continua muito quente.'); 'QT': writeln('Oops, deu uma esfriada, mas ainda esta quente.'); 'MO': writeln('Oops, Agora esfrio, mas ainda esta morno.'); 'FR': writeln('Oops, agora ficou frio.'); 'MF': writeln('Oops, agora ficou muito frio.'); 'CG': writeln('Oops, Agora esfriou de vez, esta congelando.'); else writeln('esta muito quente.'); end; 'QT': case e2 of 'FV': writeln('Oops, esta pegando fogo, agora estar fervendo.'); 'MQ': writeln('Oops, deu uma esquentada e agora ficou muito quente.'); 'QT': writeln('Ainda continua quente.'); 'MO': writeln('Oops, Agora esfrio mais ainda, esta morno.'); 'FR': writeln('Oops, deu uma esfriada e agora ficou frio.'); 'MF': writeln('Oops, deu uma baita esfriada e agora ficou muito frio.'); 'CG': writeln('Oops, Agora esfriou de vez, esta congelando.'); else writeln('esta quente.'); end; 'MO': case e2 of 'FV': writeln('Oops, esta pegando fogo, agora esta fervendo.'); 'MQ': writeln('Oops, deu uma baita esquentada e agora ficou muito quente.'); 'QT': writeln('Oops, deu uma esquentada e agora ficou quente.'); 'MO': writeln('Ainda continua morno'); 'FR': writeln('Oops, esfriou um pouco, agora esta frio.'); 'MF': writeln('Oops, deu uma esfriada e agora ficou muito frio.'); 'CG': writeln('Oops, agora esfriou muito e esta congelando.'); else writeln('esta morno.'); end; 'FR': case e2 of 'FV': writeln('Oops, esta pegando fogo, agora esta fervendo.'); 'MQ': writeln('Oops, deu uma baita esquentada e agora ficou muito quente.'); 'QT': writeln('Oops, deu uma esquentada e agora ficou quente.'); 'MO': writeln('Oops, deu uma pequena esquentada, agora ficou morno.'); 'FR': writeln('Ainda continua frio.'); 'MF': writeln('Oops, deu uma esfriada e agora ficou muito frio.'); 'CG': writeln('Oops, deu uma baita esfriada, agora esta congelando.'); else writeln('esta frio.'); end; 'MF': case e2 of 'FV': writeln('Oops, esta pegando fogo, agora esta fervendo.'); 'MQ': writeln('Oops, deu uma baita esquentada e agora ficou muito quente.'); 'QT': writeln('Oops, de uma esquentada e agora ficou quente.'); 'MO': writeln('Oops, esquentou mais um pouco, mas agora esta mortno.'); 'FR': writeln('Oops, esquentou um pouco, mas ainda esta frio.'); 'MF': writeln('Ainda continua muito frio.'); 'CG': writeln('Oops, deu uma baita esfriada, agora esta congelando.'); else writeln('esta muito frio.'); end; 'CG': case e2 of 'FV': writeln('Oops, esta pegando fogo, agora esta fervendo.'); 'MQ': writeln('Oops, deu uma baita esquentada e agora ficou muito quente.'); 'QT': writeln('Oops, deu uma esquentada e agora ficou quente.'); 'MO': writeln('Oops, ficou um pouco quente, agora esta morno.'); 'FR': writeln('Oops, esquentou um pouco , mas ainda esta frio.'); 'MF': writeln('Oops, esquentou bem pouco, mas ainda esta muito frio.'); 'CG': writeln('Ainda continua congelando') else writeln('esta Congelando.'); end; end; end; var k: array [1..10] of integer; acertos, n, j, chute, erro, p: integer; e1, e2, resp: string; begin // gerar número aleatório entre 1 e 100 randomize; n := random(100); // zerar contador de acertos acertos := 0; // apresentar jogo ao usuãrio writeln('voce tem 10 chances de acertar o numero que eu estou pensando.'); writeln('Trata-se de um valor entre 1 e 100. então vamos la.'); writeln; // executar laço de 10 tentativas: for j := 1 to 10 do begin // < ler (chute) > write ('Tentativa ', j, ': '); repeat readln(resp); val(resp, chute[k], erro); if erro <> 0 or <> k then begin writeln('Valor invalido, ou você já chutou esse numero!'); write ('Tente de novo: '); end; until (erro = 0) or (chute[k] = k) ; // < se acertou: > if chute[k] = n then begin // < parabenizar o usuário > writeln; writeln('Parabens !'); // < incrementar contador de acertos > inc(acertos); // < quebrar laço > break; end // < senão: > else begin // < determinar status > if j = 1 then // determinar estado1 begin e1 := status(n, chute); e2 := ''; end else // determinar estado2 e2 := status(n, chute); // < gerar mensagem correspondente > emiteMensagem(e1, e2); // < alterar status > if e2 <> '' then e1 := e2; writeln; end; end; // < comunicar resultado ao usuário > writeln; if acertos = 0 then writeln('Infelizmente, apos 10 tentativas, voce nao conseguiu acertar o numero ', n, '.') else writeln('voce acertou o numero ', n, ' apos ', j, ' tentativas.'); readln; end.

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...