Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program Pelda26;
- uses crt;
- var lab:array [1..10,1..10] of byte
- = ((9,9,9,9,9,9,9,9,9,9),
- (9,0,0,9,0,9,0,9,0,5),
- (9,0,9,9,0,9,0,9,0,9),
- (9,0,0,0,0,9,0,0,0,9),
- (9,9,0,9,9,9,9,9,0,9),
- (9,0,0,0,0,0,0,9,0,9),
- (9,0,9,9,9,0,9,0,0,9),
- (9,0,0,0,9,0,0,0,9,9),
- (9,0,9,0,9,0,9,0,0,9),
- (9,0,9,9,9,9,9,9,9,9));
- procedure kiiras;
- var i,j:integer;
- begin
- for i:=1 to 10 do
- begin
- for j:=1 to 10 do
- case lab[i,j] of
- 9: begin {fal}
- textcolor(lightgray);
- write(#219); { #219 = befestett
- negyzet karakter }
- end;
- 0,5: write(' '); { ures vagy celpont }
- 1: begin { helyes utvonal }
- textcolor(lightgreen);
- write('X');
- end;
- 2: begin { bejart, de rossz utvonal }
- textcolor(red);
- write('O');
- end;
- end;
- writeln;
- end;
- writeln;
- end;
- procedure lepes(x,y:integer);
- begin
- { nem ertunk be a celba? }
- if lab[x,y]<>5 then
- begin
- { lepes elore... }
- lab[x,y]:=1;
- { van felfele bejaratlan utvonal (ures vagy celpont)? }
- if (x>1) and (lab[x-1,y] in [0,5]) then lepes(x-1,y);
- { van jobbra bejaratlan utvonal (ures vagy celpont)? }
- if (y<10) and (lab[x,y+1] in [0,5]) then lepes(x,y+1);
- { van balra bejaratlan utvonal (ures vagy celpont)? }
- if (y>1) and (lab[x,y-1] in [0,5]) then lepes(x,y-1);
- { van lefele bejaratlan utvonal (ures vagy celpont)? }
- if (x<10) and (lab[x+1,y] in [0,5]) then lepes(x+1,y);
- { lepes vissza...
- megjeloles bejart, de rossz utvonalnak }
- lab[x,y]:=2;
- end
- else
- begin
- { celba ertunk, utolso lepes elore... }
- lab[x,y]:=1;
- { megtalalt utvonal kirajzolasa }
- kiiras;
- { utolso lepes vissza }
- lab[x,y]:=2;
- end;
- end;
- begin
- clrscr;
- { ures labirintus kirajzolasa }
- kiiras;
- { megoldas keresese,
- elso lepes: [10,2] }
- lepes(10,2);
- { magyarazat kiirasa }
- textcolor(lightgray);
- writeln(#219,' ... fal');
- textcolor(red);
- write('O');
- textcolor(lightgray);
- writeln(' ... bejart, de rossz utvonal');
- textcolor(lightgreen);
- write('X');
- textcolor(lightgray);
- write(' ... helyes utvonal');
- { varakozas egy billentyu megnyomasara }
- readkey;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement