Ir ao conteúdo
  • Cadastre-se

restaum

Membro Júnior
  • Posts

    1
  • Cadastrado em

  • Última visita

Reputação

0
  1. Galera estou tentando fazer esse jogo em Pascal e estou tendo problemas na hora de rodar o código, na hora de rodar recebo um erro de que a posição -1 está fora dos limites do vetor. Alguém pode me ajudar? Program Resta1 ;uses crt;Vardirecao,c,i,j,l,resposta,a,podejogar,lista,col:integer;M:array[1..5,1..5] of integer;res: boolean;resp: char;Procedure inicio ; Begin writeln ('Para jogar novamente digite "s"') ; readln (resp) ; if (resp = 's') then res:= True else res:= False ; if res then inicio ; end; Begin podejogar:=0; for i:=1 to 5 do for j:=1 to 5 do Begin if ((((i=1) or (i=5)) and (j<>3)) or (((i=2) or (i=4)) and ((j=1) or (j=5))))then M[i,j]:=0 else if (((i=4) or (i=5)) and (j=3))then M[i,j]:=2 else M[i,j]:=1; end; for a:=1 to 11 do Begin writeln(' Observe o Resta1 abaixo:'); writeln; podejogar:=0; for i:=1 to 5 do Begin writeln; write(' '); for j:=1 to 5 do Begin if(M[i,j]=1)then write(' O ') else if(M[i,j]=0)then write(' - ') else write(' '); end; writeln; end; writeln; writeln; writeln(' Digite a linha da peca desejada'); write(' '); read(l); writeln; writeln(' Digite a coluna da peca desejada'); write(' '); read(c); if(M[l][c]=1)then Begin writeln; writeln(' Digite a direcao do movimento'); writeln(' 1. Para cima'); writeln(' 2. Para direita'); writeln(' 3. Para baixo'); writeln(' 4. Para esquerda'); write(' '); readln(direcao); if((direcao=1) and (M[l-1,c]=1) and (M[l-2,c]=2))then Begin M[l-2,c]:=1; M[l,c]:=2; M[l-1,c]:=2; end else if((direcao=2) and (M[l][c+1]=1) and (M[l][c+2]=2))then Begin M[l,c+2]:=1; M[l,c]:=2; M[l+1,c]:=2; end else if((direcao=3) and (M[l+1][c]=1) and (M[l+2][c]=2))then Begin M[l+2,c]:=1; M[l,c]:=2; M[l+1,c]:=2; end else if((direcao=4) and (M[l][c-1]=1) and (M[l][c-2]=2))then Begin M[l,c-2]:=1; M[l,c]:=2; M[l,c-1]:=2; end else writeln('Movimento indisponivel'); end else writeln('Coluna e peca invalidas!'); for lista:=1 to 5 do Begin for col:=1 to 5 do Begin if((M[lista,col]=1) and (((M[lista+2,col]=2) and (M[lista+1,col]=1)) or((M[lista-2,col]=2) and (M[lista-1,col]=1)) or((M[lista,col+2]=2) and (M[lista,col+1]=1)) or((M[lista,col-2]=2) and (M[lista,col-1]=1))))then podejogar:=podejogar+1; end; end; if(podejogar=0)then Begin writeln('Sabe de nada, inocente... Game Over'); writeln('voce deseja jogar novamente? Digite 1 para sim e 2 para nao!'); readln(resposta); if(resposta=1)then inicio else readkey; exit; end; if(a=10)then Begin writeln('Parabens, voce terminou o jogo!'); writeln('Deseja jogar novamente?'); writeln('Digite 1 para sim ou 2 para nao'); readln(resposta); if(resposta=1)then inicio; end; end; 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...