home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 1999 August
/
Chip_1999-08_cd.bin
/
tema
/
Ozogan
/
RUNTIME
/
APLIKACE.EXE
/
BLUDISTE.KL3
< prev
next >
Wrap
Text File
|
1999-06-17
|
3KB
|
101 lines
Program bludiste;
Var SizeR, SizeS, PozR, PozS: Integer;
procedure ShowPoint(x, y, vis);
begin
if vis then Image.PenColor(clRed) else Image.PenColor(clWhite);
Image.Point(x*SizeS-(SizeS/2), y*SizeR-(SizeR/2), 10);
end;
procedure LoadBlu(Soubor: String);
Var x, y, R, S: Integer; Rad: String;
begin
PozR := 1; PozS := 2;
Image.PenColor(clBlack); Image.BrushColor(clWhite);
Image.Rectangle(1,1, Image.GetMaxX, Image.GetMaxY);
Image.BrushColor(clBlack);
Memo.Lines.LoadFromFile(Soubor);
for x:= 0 to Memo.Lines.Count-1 do
begin
rad:= Memo.Lines[x];
for y:= 1 to Length(Rad) do
begin
if Copy(Rad, y, 1) = '*' then
begin
R:= (x+1)*SizeR-SizeR; S:= y*SizeS-SizeS;
Image.Rectangle(S, R, S+SizeS, R+SizeR);
end;
end;
end;
ShowPoint(PozS, PozR, True);
end;
procedure Krok_J;
begin
if Copy(Memo.Lines[PozR], PozS, 1) = ' ' then
begin
ShowPoint(PozS, PozR, False); PozR := PozR+1; ShowPoint(PozS, PozR, True);
end;
end;
procedure Krok_V;
begin
if Copy(Memo.Lines[PozR-1], PozS+1, 1) = ' ' then
begin
ShowPoint(PozS, PozR, False); PozS := PozS+1; ShowPoint(PozS, PozR, True);
end;
end;
procedure Krok_S;
begin
if Copy(Memo.Lines[PozR-2], PozS, 1) = ' ' then
begin
ShowPoint(PozS, PozR, False); PozR := PozR-1; ShowPoint(PozS, PozR, True);
end;
end;
procedure Krok_Z;
begin
if Copy(Memo.Lines[PozR-1], PozS-1, 1) = ' ' then
begin
ShowPoint(PozS, PozR, False); PozS := PozS-1; ShowPoint(PozS, PozR, True);
end;
end;
procedure TForm.FormCreate(Sender: TObject);
begin
SizeR := 10; SizeS := 10;
if FileExists('bludiste.map') then LoadBlu('bludiste.map');
end;
procedure TForm.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if key=39 then Krok_V;
if key=38 then Krok_S;
if key=40 then Krok_J;
if key=37 then Krok_Z;
end;
procedure TForm.Button_JClick(Sender: TObject);
begin
Krok_J;
end;
procedure TForm.Button_VClick(Sender: TObject);
begin
Krok_V;
end;
procedure TForm.Button_SClick(Sender: TObject);
begin
Krok_S;
end;
procedure TForm.Button_ZClick(Sender: TObject);
begin
Krok_Z;
end;
procedure TForm.SpeedButton1Click(Sender: TObject);
begin
Form.Close;
end;
procedure TForm.OpenButtonClick(Sender: TObject);
begin
If OpenDialog.Execute then LoadBlu(OpenDialog.FileName);
end;
end.