Jump to content

O código não segue o if "fugir" e o if "nao" e não sei o que posso fazer


Eric_3333

Recommended Posts

O código não quer ir para if "fugir" e nem para o if "nao"

Estou fazendo um trabalho para a escola e eu não sei quase nada sobre pascalzim

Esse código conta uma historia onde o utilizador pode fazer as decisões

///////////////////////////////////////////////////////////////////////
program RPG;
var
acao, nome: string;
/////////////////////////////// Começo da Introdução //////////////////////////////////

    begin;
          writeln;
          textcolor(red);
          writeln ('             ======================================');
          writeln ('             == Produção feita por Eric Faustino ==');
          writeln ('             ======================================');
          writeln;
          textcolor (white);
          writeln ('                -------------------');
          writeln ('                -Explicação rapida-');
          writeln ('                -------------------');
          writeln;
          writeln;
          writeln ('        Para passar os dialogos prescione "Espaço" ');
          writeln;
            textcolor (green+red);
          writeln ('        Letras em Amarelo, representa as indicações');
          writeln;
          textcolor (blue);
          writeln ('        Letras em Azul, representa a historia');
          writeln;
          textcolor (blue+red);
            writeln ('        Letras em Roxo, representa decisões');
            textcolor (white);
            writeln;
            writeln ('        Não use letras maiusculas no dialogo de decisão');
            readln;
          clrscr;
          writeln;
          textcolor (green+red);
            writeln ('Olá, Seja bem-vindo');
              writeln ('Antes de começar, Qual será o nome do seu ou sua personagem? ');
              textcolor (white);
              gotoxy(18,10);
              writeln ('----------------------------------------------------------------');
              gotoxy(19,11);
              writeln ('-- Aqui você pode usar letra maiuscula sem nenhum problema 🙂 --');
              gotoxy(18,12);
              writeln ('----------------------------------------------------------------');
              textcolor (blue+red);
              gotoxy(1,4);
            read (nome);
          clrscr;
      
    
    
//////////////////////////// Fim da Introdução ///////////////////////////////// 

/////////////////////////// Começo da Historia ////////////////////////////////
  
    begin
    textcolor (blue);
    writeln;
    writeln ('Pelas 01:00 da madrugada, 4 amigos estavam em uma viagem de carro...');
    readln;
    writeln;
    writeln ('Junior, Sofia, Johny e o(a) ' ,nome,' estavam se divertindo e cantando uma bela melodia');
    writeln;
    readln;
        writeln ('"Olha se você não me ama então não me ligue e nem fique me fazendo queixa..." ');
      readln;
         clrscr;
      writeln;
      writeln ('Enquanto o carro se movia, eles avistaram uma figura estranha...');
      readln;
      writeln;
      writeln ('O Johny, para não bater nesta figura, ele desviou e os 4 amigos capotaram em uma floresta escura e sombria...');
      readln;
      writeln;
      writeln ('Depois de confirmarem se todos estavam bem, eles desceram do carro e perceberam a situação em que se encontravam...');
      readln;
      writeln;
      writeln ('Incapazes de sair da floresta, eles olharam em volta e notaram uma pequena fonte de luz na floresta');
      readln;
      writeln;
      writeln ('Portanto, continue seu caminho até chegar a este lugar onde a luz viaja');
      writeln;
      readln;
      writeln ('Boa sorte nessa caminhada, ',nome);
      writeln;
      readln;
    end;

/////////////////////////// FIM DA HISTORIA ////////////////////////////////

clrscr;
textcolor ( green+red );
writeln;
writeln ('Agora você esta pronto para iniciar sua caminhada');
writeln;
writeln ('Preste muita atenção nas suas decisões');
readln;
clrscr;
writeln;
writeln ('Vamos começar!!!');
readln;
clrscr;

        textcolor (blue);
          writeln;
            writeln (nome, ' pergunta se eles querem entrar na flosta para pedir ajuda e todos do grupo concordam');
          readln;
            writeln;
            writeln ('Quando o grupo decide entrar na floresta o Junior reclama pois ele acha muito perigoso pois esta muito escuro');
            writeln;
            readln;
            writeln (nome,', responde que não havia problema em dar uma caminhada matinal (respondendo em um tom de humor)');
            readln;
            writeln;
            writeln ('Sofia confia em seus amigos');
            readln;
            writeln;
            writeln ('Johny esta indeciso, e mesmo assim segue na descisão do grupo');
            readln;
            clrscr;
            writeln;
            writeln ('Caminhando por um tempo, O grupo encontra pedaços de madeiras jogadas no chão');
            textcolor (green+red);
            writeln;
            writeln ('Talves vocês poderiam usar para se protegerem dos animais selvagens');
            readln;
            writeln;
            writeln ('Mas essas madeiras atrasariam um pouco, Por conta do peso extra');
            readln;
            writeln;
            writeln ('Você quer pegar as madeiras');
            writeln;
            textcolor (blue+red);
            write ('sim ');
            textcolor (green+red);
            write ('ou ');
            textcolor (blue+red);
            write ('nao');
            writeln;
            read (acao);
            
            if acao = 'sim' then
                begin
                  clrscr;
                  textcolor (green+red);
                  writeln;
              writeln ('Vocês pegaram as madeiras');
              readln;
              writeln;
              writeln ('Agora vocês estão um pouco mais forte');
              readln;
              clrscr;
              textcolor (blue);
              writeln;
              write ('Derrepente');
                delay (1000);
                write ('.');
                delay (1000);
                write ('.');
                delay (1000);
                write ('.');
                delay (1000);
                write (' O grupo escuta um rugido bem alto, E todos se assustam');
              readln;
              writeln;
              writeln ('Eles olham diretamente para a fera e descobrem que era um Tigre faminto');
                readln;
                writeln;
                writeln ('Por um instante Johny abaixa a guarda e o Tigre aproveita esse curto periodo de tempo para abocanhar o ombro de Johny');
                readln;
                writeln;
                writeln ('Johny fica aterrorizado e grita de dor, enquanto todos ficam olhando com muito medo de serem os proximos');
                readln;
                clrscr;
                textcolor (green+red);
                writeln;
                writeln ('O que você ira fazer?');
                readln;
                textcolor (blue+red);
                writeln;
                writeln ('Você pode tentar salvar a vida de johny mas você estara colocando sua vida em risco');
                textcolor (green+red);
                writeln ('Pense bem, a vida dele é mais valiosa do que a sua?');
                readln;
                writeln;
                textcolor (blue+red);
                writeln ('Você pode fugir e salvar o Junior e a Sofia');
                textcolor (green+red);
                writeln ('Como você ira se sentir sabendo que teve uma chance de salvar Johny e mesmo assim o deixou-lhe?');
                readln;
                textcolor (green+red);
                writeln;
                writeln;
                write ('Escolha: ');
                textcolor (blue+red);
                write ('salvar');
                textcolor (green+red);
                write (' ou ');
                textcolor (blue+red);
                write ('fugir');
                textcolor (blue+red);
                writeln;
                read (acao); 
                
                if acao = 'salvar' then
                
                begin
                textcolor (blue);
                clrscr;
                writeln;
                writeln (nome, ' resolve ajudar o Johny, E vai para cima do Tigre dando uma pancada na cabeça dele com uma das madeiras que foram encontradas no caminho');
                readln;
                writeln;
                writeln ('Depois do seu ataque o Tigre fica meio tonto, Então Junior e Sofia percebem uma oportunidade de desferir outro golpe');
                readln;
                writeln;
                writeln ('Assim... Acabando com a ameaça, Matando o tigre e conseguindo resgatar o Johny com apenas alguns ferimentos no ombro');
                writeln;
                readln;
                writeln ('Antes de comemorarem o proprio Johny com toda sua raiva vai ate o corpo para conferir se o Tigre estava vivo, Dando 3 ataques na cabeça do tigre');
                readln;
                clrscr;
                writeln;
                delay (1000);
                write ('.');
                delay (1000);
                write ('.');
                delay (1000);
                write ('.');
                delay (1000);
                writeln;
                writeln ('Depois de um tempo fazendo um corativo improvisado no Johny, O grupo decidiu continuar sua trajetora');
                readln;
                clrscr;
                writeln;
                writeln ('Eles finalmente enchergam uma cabana de onde vem a luz');
                writeln;
                readln;
                writeln ('Eles olham para dentro da cabana e percebem que a lareira estava com algumas faiscas e um pouco de fumaça');
                readln;
                writeln;
                writeln ('Claramente, alguem tinha acabado de apagar aquela lareira');
                writeln;
                readln;
                writeln;
                writeln ('Eles resolvem bater na porta, Mas aparenemente não tem ninguem la dentro');
                readln;
                writeln ('Junior tem a ideia de invadir a cabana para que nós possamos nos abrigarmos');
                readln;
                writeln;
                writeln ('Sofia diz que a melhor coisa a se fazer é esperar ate que o dono da cabana apareça para que podesemos conversar');
                readln;
                clrscr;
                writeln;
                writeln ('O que você irá fazer?');
                readln;
                writeln;
                writeln ('Você pode esperar até que o dono dessa cabana chegue, talvez ele demore e o Johny ainda esta sangrando aos poucos');
                readln;
                writeln;
                writeln ('Você pode invadir a cabana para se abrigar e usar o telefone para se comunicar com as autoridades');
                writeln;
                readln;
                writeln ('Qual a sua decisão?');
                readln;
                writeln;
                textcolor (blue+red);
                write ('esperar');
                textcolor (green+red);
                write ('ou');
                textcolor (blue+red);
                write ('invadir');
                writeln;
                read (acao);
                
                    if acao = 'esperar' then
                begin
                clrscr;
                writeln;
                writeln (nome,' acha melhor esperar, então o grupo se senta a beira da porta da cabana');
                writeln;
                readln;
                writeln ('Depois de 30 minutos o dono da cabana aparece com uma arma na mão e um pato morto na outra mão');
                readln;
                writeln;
                writeln ('O tal caçador deixou o grupo ficar na sua cabana ate que as autoridades chegem...');
                readln;
                writeln;
                writeln ('Foi assim que Johny, Sofia, Junior e o(a) ' ,nome, ' sobreviveram a esse acidente');
                readln;
                clrscr;
                writeln;
                writeln ('Todos os 4 amigos sobreviveram');
                end;
                
                if acao = 'invadir' then
                begin
                clrscr;
                writeln;
                writeln (nome,' toma descisão de invadir');
                readln;
                writeln;
                writeln ('Mas logo que a porta e quebrada, ' ,nome,' e Sofia são acertados por um tiro de espingarda');
                writeln;
                readln;
                writeln ('Eles demoram pra entender o que esta acontecendo');
                writeln;
                writeln ('E quando eles olham para trás, o grupo se depara com o dono da cabana com uma arma na mão');
                writeln;
                writeln ('Logo eles entende o que aconteceu, enquanto o ' ,nome, ' e a Sofia, caiem no chão com sangue escorrendo pela boca...');
                readln;
                writeln;
                writeln ('Esse foi seu fim, Johny e Junior sobreviveram.');
                writeln;
                writeln ('Suas decisões te levaram para a morte            x_x');
                
                end;
                        
                    if acao = 'fugir' then    
                begin
                textcolor (blue);
                writeln;
                writeln ('Mesmo podendo usar as madeiras como arma, ' ,nome, ' decide fugir para conseguir salvar 2 amigos'); 
                writeln;
                readln;
                writeln ('Com muito medo ' ,nome, ' fala para Junior e Sofia para correrem se eles quisesem ficar vivos');
                writeln;
                writeln ('Com lagrimas nos olhos Johny vê os melhores amigos indo em bora sem olhar para tras, enquanto ele é devorado pela fera');
                readln;
                writeln;
                writeln ( nome, ', Junior e Sofia sobrevivem, e o Johny infelizmente é morto pelo Tigre faminto'); 
                readln;
                writeln;
                writeln ('Depois de um tempo correndo pela floresta com medo de serem os proximos');
                readln;
                clrscr;
                writeln;
                writeln ('Eles finalmente enchergam uma cabana de onde vem a luz');
                writeln;
                readln;
                writeln ('Eles olham para dentro da cabana e percebem que a lareira estava com algumas faiscas e um pouco de fumaça');
                readln;
                writeln;
                writeln ('Claramente, alguém tinha acabado de apagar aquela lareira');
                writeln;
                readln;
                writeln;
                writeln ('Eles resolvem bater na porta, Mas aparenemente não tem ninguem la dentro');
                readln;
                writeln ('Junior tem a ideia de invadir a cabana para que nós possamos nos abrigarmos');
                readln;
                writeln;
                writeln ('Sofia diz que a melhor coisa a se fazer é esperar ate que o dono da cabana apareça para que posamos conversar');
                readln;
                clrscr;
                writeln;
                writeln ('O que você irá fazer?');
                readln;
                writeln;
                writeln ('Você pode esperar até que o dono dessa cabana chegue, talvez ele demore, e a Sofia esta ficando com resfriado por conta do frio');
                readln;
                writeln;
                writeln ('Você pode invadir a cabana para se abrigar e usar o telefone para se comunicar com as autoridades');
                writeln;
                readln;
                writeln ('Qual a sua decisão?');
                readln;
                writeln;
                textcolor (blue+red);
                write ('esperar');
                textcolor (green+red);
                write ('ou');
                textcolor (blue+red);
                write ('invadir');
                writeln;
                end;
                read (acao);
                
                if acao = 'esperar' then
                begin
                clrscr;
                writeln;
                writeln (nome,' acha melhor esperar, então o grupo se senta a beira da porta da cabana');
                writeln;
                readln;
                writeln ('Depois de 30 minutos o dono da cabana aparece com uma arma na mão e um pato morto na outra mão');
                readln;
                writeln;
                writeln ('O tal caçador deixou o grupo ficar na sua cabana ate que as autoridades chegem...');
                readln;
                writeln;
                writeln ('Foi assim que Sofia, Junior e o(a) ' ,nome, ' sobreviveram a esse acidente');
                readln;
                clrscr;
                writeln;
                writeln ('Todos os 3 amigos sobreviveram');
                end;
                
                if acao = 'invadir' then
                begin
                clrscr;
                writeln;
                writeln (nome,' toma descisão de invadir');
                readln;
                writeln;
                writeln ('Mas logo que a porta e quebrada, ' ,nome,' e Sofia são acertados por um tiro de espingarda');
                writeln;
                readln;
                writeln ('Eles demoram pra entender o que esta acontecendo');
                writeln;
                writeln ('E quando eles olham para trás, o grupo se depara com o dono da cabana com uma arma na mão');
                writeln;
                writeln ('Logo eles entende o que aconteceu, enquanto o ' ,nome, ' e a Sofia, caiem no chão com sangue escorrendo pela boca...');
                readln;
                writeln;
                writeln ('Esse foi seu fim, só o Junior sobreviveu.');
                end;     
                
                if acao = 'salvar' then
                
                begin
                textcolor (blue);
                clrscr;
                writeln;
                writeln (nome, ' resolve ajudar o Johny');
                readln;
                writeln;
                writeln ('Sem arma nenhuma ' ,nome, ' vai para cima da fera');
                readln;
                writeln;
                writeln ('E é morto brutalmente com um ataque do Tigre, caindo no chão e jorrando sangue pelo pescoço');
                writeln;
                readln;                                                                                                                                                   
                clrscr;
                writeln;
                delay (1000);
                write ('.');
                delay (1000);
                write ('.');
                delay (1000);
                write ('.');
                delay (1000);
                writeln;
                writeln ('Johny e ' ,nome, ' morreram, Junior e Sofia sobreviveram.');
                readln;
                clrscr;
                writeln;
                writeln ('Esse foi seu fim.');
                writeln;
                readln;
                textcolor (green+red);
                writeln ('Suas decisões te levaram para a morte            x_x');
                readln;
              
                end; 
            
            if acao = 'nao' then
            begin
            writeln;
            writeln ('Vocês não pegaram as madeiras');
            readln;
            writeln;
            writeln ('O grupo continua fraco, mas eles não ficaram consados por conta do peso');
            readln;
            clrscr;
              textcolor (blue);
              writeln;
              write ('Derrepente');
                delay (1000);
                write ('.');
                delay (1000);
                write ('.');
                delay (1000);
                write ('.');
                delay (1000);
                write (' O grupo escuta um rugido bem alto, E todos se assustam');
              readln;
              writeln;
              writeln ('Eles olham diretamente para a fera e descobrem que era um Tigre faminto');
                readln;
                writeln;
                writeln ('Por um instante Johny abaixa a guarda e o Tigre aproveita esse curto periodo de tempo para abocanhar o ombro de Johny');
                readln;
                writeln;
                writeln ('Johny fica aterrorizado e grita de dor, enquanto todos ficam olhando com muito medo de serem os proximos');
                readln;
                clrscr;
                textcolor (green+red);
                writeln;
                writeln ('O que você ira fazer?');
                readln;
                textcolor (blue+red);
                writeln;
                writeln ('Você pode tentar salvar a vida de johny mas você estara colocando sua vida em risco');
                textcolor (green+red);
                writeln ('Pense bem, a vida dele é mais valiosa do que a sua?');
                readln;
                writeln;
                textcolor (blue+red);
                writeln ('Você pode fugir e salvar o Junior e a Sofia');
                textcolor (green+red);
                writeln ('Como você ira se sentir sabendo que teve uma chance de salvar Johny e mesmo assim o deixou-lhe?');
                readln;
                textcolor (green+red);
                writeln;
                writeln;
                write ('Escolha: ');
                textcolor (blue+red);
                write ('salvar');
                textcolor (green+red);
                write (' ou ');
                textcolor (blue+red);
                write ('fugir');
                textcolor (blue+red);
                writeln;
                read (acao);
                
                if acao = 'fugir' then    
                begin
                textcolor (blue);
                writeln;
                writeln ('Mesmo podendo usar as madeiras como arma, ' ,nome, ' decide fugir para conseguir salvar 2 amigos'); 
                writeln;
                readln;
                writeln ('Com muito medo ' ,nome, ' fala para Junior e Sofia para correrem se eles quisesem ficar vivos');
                writeln;
                writeln ('Com lagrimas nos olhos Johny vê os melhores amigos indo em bora sem olhar para tras, enquanto ele é devorado pela fera');
                readln;
                writeln;
                writeln ( nome, ', Junior e Sofia sobrevivem, e o Johny infelizmente é morto pelo Tigre faminto'); 
                readln;
                writeln;
                writeln ('Depois de um tempo correndo pela floresta com medo de serem os proximos');
                readln;
                clrscr;
                writeln;
                writeln ('Eles finalmente enchergam uma cabana de onde vem a luz');
                writeln;
                readln;
                writeln ('Eles olham para dentro da cabana e percebem que a lareira estava com algumas faiscas e um pouco de fumaça');
                readln;
                writeln;
                writeln ('Claramente, alguém tinha acabado de apagar aquela lareira');
                writeln;
                readln;
                writeln;
                writeln ('Eles resolvem bater na porta, Mas aparenemente não tem ninguem la dentro');
                readln;
                writeln ('Junior tem a ideia de invadir a cabana para que nós possamos nos abrigarmos');
                readln;
                writeln;
                writeln ('Sofia diz que a melhor coisa a se fazer é esperar ate que o dono da cabana apareça para que posamos conversar');
                readln;
                clrscr;
                writeln;
                writeln ('O que você irá fazer?');
                readln;
                writeln;
                writeln ('Você pode esperar até que o dono dessa cabana chegue, talvez ele demore, e a Sofia esta ficando com resfriado por conta do frio');
                readln;
                writeln;
                writeln ('Você pode invadir a cabana para se abrigar e usar o telefone para se comunicar com as autoridades');
                writeln;
                readln;
                writeln ('Qual a sua decisão?');
                readln;
                writeln;
                textcolor (blue+red);
                write ('esperar');
                textcolor (green+red);
                write ('ou');
                textcolor (blue+red);
                write ('invadir');
                writeln;
                end;
                read (acao);
                
                if acao = 'esperar' then
                begin
                clrscr;
                writeln;
                writeln (nome,' acha melhor esperar, então o grupo se senta a beira da porta da cabana');
                writeln;
                readln;
                writeln ('Depois de 30 minutos o dono da cabana aparece com uma arma na mão e um pato morto na outra mão');
                readln;
                writeln;
                writeln ('O tal caçador deixou o grupo ficar na sua cabana ate que as autoridades chegem...');
                readln;
                writeln;
                writeln ('Foi assim que Sofia, Junior e o(a) ' ,nome, ' sobreviveram a esse acidente');
                readln;
                clrscr;
                writeln;
                writeln ('Todos os 3 amigos sobreviveram');
                end;
                
                if acao = 'invadir' then
                begin
                clrscr;
                writeln;
                writeln (nome,' toma descisão de invadir');
                readln;
                writeln;
                writeln ('Mas logo que a porta e quebrada, ' ,nome,' e Sofia são acertados por um tiro de espingarda');
                writeln;
                readln;
                writeln ('Eles demoram pra entender o que esta acontecendo');
                writeln;
                writeln ('E quando eles olham para trás, o grupo se depara com o dono da cabana com uma arma na mão');
                writeln;
                writeln ('Logo eles entende o que aconteceu, enquanto o ' ,nome, ' e a Sofia, caiem no chão com sangue escorrendo pela boca...');
                readln;
                writeln;
                writeln ('Esse foi seu fim, só o Junior sobreviveu.');
                end;     
                
                if acao = 'salvar' then
                
                begin
                textcolor (blue);
                clrscr;
                writeln;
                writeln (nome, ' resolve ajudar o Johny');
                readln;
                writeln;
                writeln ('Sem arma nenhuma ' ,nome, ' vai para cima da fera');
                readln;
                writeln;
                writeln ('E é morto brutalmente com um ataque do Tigre, caindo no chão e jorrando sangue pelo pescoço');
                writeln;
                readln;                                                                                                                                                   
                clrscr;
                writeln;
                delay (1000);
                write ('.');
                delay (1000);
                write ('.');
                delay (1000);
                write ('.');
                delay (1000);
                writeln;
                writeln ('Johny e ' ,nome, ' morreram, Junior e Sofia sobreviveram.');
                readln;
                clrscr;
                writeln;
                writeln ('Esse foi seu fim.');
                writeln;
                readln;
                textcolor (green+red);
                writeln ('Suas decisões te levaram para a morte            x_x');
                readln;
              
                end; 
                
                
            end;
    
    
        end;
    end;
    end.

 

Edited by nunopicado
Syntax Highlight

Eric Faustino

Link to comment
Share on other sites

O problema é que os IFs não estão corretamente encadeados.
Por exemplo esta linha:

  if acao = 'sim' then

É o primeiro IF, e todo o resto do programa decorre dentro dele. Ou seja, nunca haverá um 'não', a não ser dentro do 'sim'.

Da mesma forma, o IF do 'fugir' está dentro do bloco THEN do IF 'salvar', ou seja, nunca será executado em vez do 'salvar'.

 

É tudo uma questão de verificar o posicionamento dos vários END. Ao estarem no lugar errado, blocos de código são executados em momentos diferentes, ou nem sequer são executados.

Idealmente, deves indentar corretamente o código para ser mais fácil encontrar este tipo de falhas.

"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Link to comment
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.