Kellene egy kis segítség a Programomhoz: Free Pascalban?
Lényege, hogy ellenőrzöm a lépéseket, s ha falat talál, akkor dobja vissza eredeti pontba a kurzort, ez a rész valamiért nem működik, mindent kipróbálttam már.
Program Labirintus;
Uses crt;
Var matr,matures:array[1..10,1..10] of integer;
j:integer;
fal,ch:char;
f:text;
i:smallint;
x,y,x1,y1:byte;
BEGIN
Clrscr;
Assign(f,'labiri.txt');
Reset(f);
for i:=1 to 5 do Begin
for j:=1 to 10 do Begin
read(f,fal);
if fal='x' then Begin
matr[i,j]:=987;
matures[i,j]:=987;
End
else
matr[i,j]:=255;
End;
readln(f);
End;
Close(f);
for i:=1 to 5 do Begin
for j:=1 to 10 do
write(chr(matr[i,j]));
writeln;
End;
x:=2;
y:=2;
Repeat
ch:=readkey;
x1:=x;
y1:=y;
case UpCase(ch) of
'W':if y>1 then Dec(y);
'S':if y<23 then Inc(y);
'A':if x>1 then Dec(x);
'D':if x<10 then Inc(x);
End;
i:=x;
j:=y;
if matures[i,j]=987 then
if (x=i) and (y=j) then Begin x:=x1;
y:=y1;
End;
GoToxy(x,y);
Until Upcase(ch)='Q';
readkey;
END.
if matures[i,j]=987 then
if (x=i) and (y=j) then Begin x:=x1;
y:=y1;
End;
matures[j,i]-t kell vizsgalni nem i,j-t
matures:array[1..10,1..10] of integer ha csak 5 sor van, akkor miert 2x10-es ?:P
A tobbire utana mar rajossz.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!