Ir ao conteúdo
  • Cadastre-se

Jogo em Pascal


Henrique Rick

Posts recomendados

Boa noite pessoal!

Eu estou tentando escrever um jogo aqui em pascal mas nao sei o que esta acontecendo de errado. Ele é tipo um jogo de perfil, dá as caracteristicas para descobrir o personagem.

Primeiro se dá a caracteristica do personagem e se a resposta da pergunta for igual a do personagem é para passar para o proximo personagem. Se o personagem digitado estiver errado pula para a proxima caracteristica

Aqui esta o codigo que consegui desenvolver:

program jogo;
uses crt;
var
resposta:string;

begin
clrscr;

procedure a;
const
personagem='x';

begin
clrscr;

writeln('caracteristica do personagem');
readln(resposta);

if resposta = personagem then

begin
clrscr;
b;

else writeln('caracteristica2 personagem');
readln(resposta);

if resposta = personagem then

begin
clsrcr;
b;

end;
end;
end;

procedure b;
const
personagem='x';

begin
clrscr;

writeln('caracteristica do personagem');
readln(resposta);

if resposta = personagem then

begin
clrscr;
c;

else writeln('caracteristica2 personagem');
readln(resposta);

if resposta = personagem then

begin
clsrcr;
c;

end;
end;
end;


procedure c;
const
personagem='x';

begin
clrscr;

writeln('caracteristica do personagem');
readln(resposta);

if resposta = personagem then

begin
clrscr;
a;

else writeln('caracteristica2 personagem');
readln(resposta);

if resposta = personagem then

begin
clsrcr;
a;

else

end;
end;
end;

begin
clrscr;
a;
readln;
end.

Agradeço a todos que puderem me ajudar

Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois...

Opa, só vou lhe ajudar por que eu morei em uma cidade próxima da sua hehehe(brincadeira).

Ok amigo, você está pecando um pouco na estrutura do programa e nos desvios condicionais. Segue o código comentado,não corrigido, pelo menos não na lógica de funcionamento.


program jogo;
uses crt;
var
resposta:string; //poderia ser um char

{Funções e procedimentos ficam fora do corpo principal do programa}


//begin clrscr; se vier begin aqui, então functions e procedures nao podem vir abaixo

procedure a;
const
personagem='x';

begin
clrscr;
writeln('caracteristica do personagem');
readln(resposta);
if (resposta = personagem) then
begin
clrscr;
{b; para chamar b, ele deve estar acima do procedimento a}
end //sem ; pois vem antes do else
else
begin
writeln('caracteristica2 personagem');
readln(resposta);
end;//necessário pois sao executados 2 comandos, writeln e clrscr;
if (resposta = personagem) then

begin
clsrcr;
//b; b deve vir antes de a

end;
end;


procedure b;
const
personagem='x';

begin
clrscr;

writeln('caracteristica do personagem');
readln(resposta);

if (resposta = personagem) then

begin
clrscr;
//c; deve vir antes de b
end
else
begin
writeln('caracteristica2 personagem');
readln(resposta);
end;
if (resposta = personagem) then

begin
clsrcr;
//c;
end;
end;



procedure c;
const
personagem='x';

begin
clrscr;

writeln('caracteristica do personagem');
readln(resposta);

if (resposta = personagem) then

begin
clrscr;
a;

else writeln('caracteristica2 personagem');
readln(resposta);

if resposta = personagem then

begin
clsrcr;
a; {certo, pois a está acima de b}
end;
//else não necessário pois não há comandos


end;
end;

{corpo principal do programa}
begin
clrscr;
a;
readln;
end.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para 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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!