dtenente Posted June 6, 2018 at 09:29 AM Report #610872 Posted June 6, 2018 at 09:29 AM Bom dia Estou a fazer um jogo chamado "Jogo da Baleia" que tem como objetivo fazer com que a baleia consiga atravessar o mar, sendo que tem 2 obstaculos os piratas (P) e os surfistas (S), caso a baleia for contra um deles o utilizador perde o jogo, e estou com o erro ('.' não esperado!), alguém me consegue dar uma ajuda? Obrigado pela atenção! Program Pzim ; Var jogada,resp:string; Procedure baleia; Begin Writeln('O jogo vai começar! O objetivo é ajudares uma baleia que ficou encalhada na praia a regressar ao mar'); Writeln('O "B" representa a baleia,o "S" representa os surfistas e o "P" representa os piratas,caso fores contra os surfistas ou contra os piratas,perdes'); Writeln('Para te moveres usa o E (Esquerda), F (Frente) ou D (Direita)'); Writeln ('X X X X P P P'); Writeln ('S S X X P P P'); Writeln ('X X X S X X X'); Writeln (' B '); Writeln('Para onde pretende ir?'); read(jogada); End; Begin baleia; if (jogada='E') or (jogada='e') then Begin Writeln('Para te moveres usa o E (Esquerda), F (Frente) ou D (Direita)'); Writeln ('X X X X P P P'); Writeln ('S S X X P P P'); Writeln ('X X X S X X X'); Writeln (' B '); Writeln('Para onde pretende ir?'); read(jogada); if (jogada='F') or (jogada='f') then End; Begin Writeln('Para te moveres usa o E (Esquerda), F (Frente) ou D (Direita)'); Writeln ('X X X X P P P'); Writeln ('S S X X P P P'); Writeln ('X X X S B X X'); Writeln('Para onde pretende ir?'); read(jogada); Case jogada of 'E':Writeln('O jogador foi contra os surfistas. Fim do Jogo.'); 'e':Writeln('O jogador foi contra os surfistas. Fim do Jogo.'); 'F':Writeln('O jogador foi contra os piratas. Fim do Jogo.'); 'f':Writeln('O jogador foi contra os piratas. Fim do Jogo.'); Else If (jogada='D') or (jogada='d') then End; Begin Writeln('Para te moveres usa o E (Esquerda), F (Frente) ou D (Direita)'); Writeln ('X X X X P P P'); Writeln ('S S X X P P P'); Writeln ('X X X S X B X'); Writeln('Para onde pretende ir?'); read(jogada); If (jogada='F') or (jogada='f') then Writeln('O jogador foi contra os piratas. Fim do Jogo.') Else End; Begin If (jogada='D') or (jogada='d') then Writeln('Para te moveres usa o E (Esquerda), F (Frente) ou D (Direita)'); Writeln ('X X X X P P P'); Writeln ('S S X X P P P'); Writeln ('X X X S X X B'); Writeln('Não tem escapatoria,deseja reiniciar o jogo? (s/n)'); Read(resp); If resp= ('s'or'sim') then Else End; Begin baleia; If (jogada='E') or (jogada='e') then End; Begin Writeln('O "B" representa a baleia,o "S" representa os surfistas e o "P" representa os piratas,caso fores contra os surfistas ou contra os piratas,perdes'); Writeln('Para te moveres usa o E (Esquerda), F (Frente) ou D (Direita)'); Writeln ('X X X X P P P'); Writeln ('S S X X P P P'); Writeln ('X X X S X X X'); Writeln (' B '); Writeln('Para onde pretende ir?'); read(jogada); If (jogada='F') or (jogada='f') then Writeln('O jogador foi contra o surfista. Fim do Jogo.') Else If (jogada='E') or (jogada='e') then End; Begin Writeln('O "B" representa a baleia,o "S" representa os surfistas e o "P" representa os piratas,caso fores contra os surfistas ou contra os piratas,perdes'); Writeln('Para te moveres usa o E (Esquerda), F (Frente) ou D (Direita)'); Writeln ('X X X X P P P'); Writeln ('S S X X P P P'); Writeln ('X X X S X X X'); Writeln (' B '); Writeln('Para onde pretende ir?'); read(jogada); If (jogada='F') or (jogada='f') then End; Begin Writeln('O "B" representa a baleia,o "S" representa os surfistas e o "P" representa os piratas,caso fores contra os surfistas ou contra os piratas,perdes'); Writeln('Para te moveres usa o E (Esquerda), F (Frente) ou D (Direita)'); Writeln ('X X X X P P P'); Writeln ('S S X X P P P'); Writeln ('X X B S X X X'); Writeln('Para onde pretende ir?'); read(jogada); If (jogada='D') or (jogada='d') then End; Begin Writeln('O "B" representa a baleia,o "S" representa os surfistas e o "P" representa os piratas,caso fores contra os surfistas ou contra os piratas,perdes'); Writeln('Para te moveres usa o E (Esquerda), F (Frente) ou D (Direita)'); Writeln ('X X X X P P P'); Writeln ('S S X X P P P'); Writeln ('X B X S X X X'); Writeln('Para onde pretende ir?'); read(jogada); Case jogada of 'F':Writeln('O jogador foi contra os surfistas. Fim do Jogo.'); 'f':Writeln('O jogador foi contra os surfistas. Fim do Jogo.'); Else If (jogada='D') or (jogada='d') then End; Begin Writeln('O "B" representa a baleia,o "S" representa os surfistas e o "P" representa os piratas,caso fores contra os surfistas ou contra os piratas,perdes'); Writeln('Para te moveres usa o E (Esquerda), F (Frente) ou D (Direita)'); Writeln ('X X X X P P P'); Writeln ('S S X X P P P'); Writeln ('B X X S X X X'); Writeln('Para onde pretende ir?'); read(jogada); If (jogada='D') or (jogada='d') then Writeln('O jogador foi contra os surfistas. Fim do Jogo.'); baleia; If (jogada='E') or (jogada='e') then End; Begin Writeln('O "B" representa a baleia,o "S" representa os surfistas e o "P" representa os piratas,caso fores contra os surfistas ou contra os piratas,perdes'); Writeln('Para te moveres usa o E (Esquerda), F (Frente) ou D (Direita)'); Writeln ('X X X X P P P'); Writeln ('S S X X P P P'); Writeln ('X X X S X X X'); Writeln (' B '); Writeln('Para onde pretende ir?'); read(jogada); If (jogada='F') or (jogada='f') then Writeln('O jogador foi contra o surfista. Fim do Jogo.') Else If (jogada='E') or (jogada='e') then End; Begin Writeln('O "B" representa a baleia,o "S" representa os surfistas e o "P" representa os piratas,caso fores contra os surfistas ou contra os piratas,perdes'); Writeln('Para te moveres usa o E (Esquerda), F (Frente) ou D (Direita)'); Writeln ('X X X X P P P'); Writeln ('S S X X P P P'); Writeln ('X X X S X X X'); Writeln (' B '); Writeln('Para onde pretende ir?'); read(jogada); If (jogada='F') or (jogada='f') then End; Begin Writeln('O "B" representa a baleia,o "S" representa os surfistas e o "P" representa os piratas,caso fores contra os surfistas ou contra os piratas,perdes'); Writeln('Para te moveres usa o E (Esquerda), F (Frente) ou D (Direita)'); Writeln ('X X X X P P P'); Writeln ('S S X X P P P'); Writeln ('X X B S X X X'); Writeln (' '); Writeln('Para onde pretende ir?'); read(jogada); If (jogada='F') or (jogada='f') then End; Begin Writeln('O "B" representa a baleia,o "S" representa os surfistas e o "P" representa os piratas,caso fores contra os surfistas ou contra os piratas,perdes'); Writeln('Para te moveres usa o E (Esquerda), F (Frente) ou D (Direita)'); Writeln ('X X X X P P P'); Writeln ('S S B X P P P'); Writeln ('X X X S X X X'); Writeln (' '); Writeln('Para onde pretende ir?'); read(jogada); If (jogada='F') or (jogada='f') then End; Begin Writeln('O "B" representa a baleia,o "S" representa os surfistas e o "P" representa os piratas,caso fores contra os surfistas ou contra os piratas,perdes'); Writeln('Para te moveres usa o E (Esquerda), F (Frente) ou D (Direita)'); Writeln ('X X B X P P P'); Writeln ('S S X X P P P'); Writeln ('X X X S X X X'); Writeln('Para onde pretende ir?'); read(jogada); If (jogada='F') or (jogada='f') then End; Writeln('Parabéns, conseguiste ajudar a baleia a chegar ao seu objetivo!'); End.
passarito Posted June 6, 2018 at 10:08 AM Report #610874 Posted June 6, 2018 at 10:08 AM (edited) Assim de repente, não podes ter um if ... then end; sem nada entre o then e o end Mais, isso que tu fizeste não é programação é simplesmente usar uma linguagem de programação para escrever no ecra. Não desanimes, um dos meus primeiros programas foi a triângulo de pascal e caí exactamente no mesmo erro que tu. Se quizeres fazer isso como deve de ser, tenho a certeza que o pessoal aqui te vai ajudar. Há pessoal muito porreiro aqui. Edited June 6, 2018 at 10:52 AM by passarito 1 Report
dtenente Posted June 6, 2018 at 11:06 AM Author Report #610875 Posted June 6, 2018 at 11:06 AM Obrigado pelo conselho, já corrigi o assunto em relação aos end's! E acerca do programar, eu comecei a pouco tempo devido ao facto de que estou a ter programação no meu curso e estou a adorar,por isso tento sempre saber mais e mais. Mas este é o maior programa que eu fiz até agora e talvez isso tenha a ver com isso ahaha mas obrigado pela força, n vou perder o animo e vou continuar dar o meu maximo para melhorar!
passarito Posted June 6, 2018 at 03:24 PM Report #610876 Posted June 6, 2018 at 03:24 PM Eu para resolver este problema da forma mais fácil utilizava um array bidimensional e gotoxy para a movimentação. O gotoxy é básico, mas arrays... conheces de arrays? sabes trabalhar com arrays?
dtenente Posted June 7, 2018 at 08:38 AM Author Report #610883 Posted June 7, 2018 at 08:38 AM Eu tenho conhecimento que dá para fazer utilizando array, o problema é que a minha professora ainda não nos ensinou e disse que para já para não utilizarmos
passarito Posted June 11, 2018 at 08:24 AM Report #610929 Posted June 11, 2018 at 08:24 AM Conselhos: - Usa o movimento do jogo de cima para baixo para que o movimento da baleia vá ao encontro da numeração das linhas e das colunas. - Usa duas constantes IniX e IniY (por exemplo) para a localização do jogo no ecrã.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now