Dze je subor www.TrSek.com/pas/miny.pas{ MINY.PAS Copyright (c) TrSek alias Zdeno Sekerak }
{ Znama hra z OS Windows kde mate za ulohu hladat miny. }
{ Program ukazuje iba pocet min v okoli policka smer musite urcit. }
{ }
{ Datum:28.05.1996 http://www.trsek.com }
program dos_miny;
uses crt,dos;
const
UP = 0;
LEFT = 0;
DLZ_X=15;
DLZ_Y=22;
POC_MIN=30;
var miny:array[0..DLZ_X+1,0..DLZ_Y+1] of boolean;
{ false-nieje mina, true-mina }
vminy:array[1..DLZ_X,1..DLZ_Y] of byte;
{ 0-zakryte, 1-odkryte, 2-mina oznacena }
x,y:integer;
but:integer;
odkr :integer;
oznac:integer;
finish:boolean;
omode:integer;
{ vypise na suradnice x,y text }
procedure WriteXY(x,y:byte;txt:string);
begin
GotoXY(x,y);
Write(txt);
end;
{ vypne/zapne kurzor }
procedure KurzorZap(ZapVyp:boolean);
var Regs : Registers;
begin
with Regs do
begin
AH := $03;
BH := $00;
Intr($10,Regs);
If not(Zapvyp) then
CH := CH or $20
else
CH := CH and $DF;
AH := $01;
Intr($10,Regs);
end;
end;
{ zinicializuje ovladac mysi }
function mys_init:boolean;
var reg:registers;
begin
reg.ax:=$0000;
intr($33,reg);
if reg.ax=$0000 then mys_init:=false
else mys_init:=true;
{ but:=reg.bx;}
end;
{ zobrazi kurzor mysi}
procedure mys_view;
var reg:registers;
begin
reg.ax:=$0001;
intr($33,reg);
end;
{ zistuje stav tlacidiel a polohu mysi }
procedure mys_get(var x,y,but:integer);
var reg:registers;
begin
reg.ax:=$0003;
intr($33,reg);
x:=(Integer(reg.cx)-8*LEFT) div 32;
y:=(Integer(reg.dx)-8*UP) div 16;
but:=reg.bx;
end;
{ do policka vpise cislo, alebo text }
procedure PolXY(x,y:integer);
begin
GotoXY(LEFT+4*x+1,UP+2*y+1);
end;
{ zobrazi siet }
procedure siet(dx,dy:byte);
var x,y:byte;
l,r:char;
str:string;
begin
dy:=dy+1;
TextColor(CTEXT);
TextBackGround(CPODKL);
for y:=1 to dy do
for x:=1 to dx do
begin
l:='Å'; str:='ÄÄÄ'; r:=' ';
{ horna, dolna lista }
if(y=1) then str:='ÄÄÄ';
if(y=1) then l:='Â';
if(y=dy)then l:='Á';
{ lavy, pravy okraj }
if(x=1) then l:='Ã';
if(x=dx)then r:='´';
{ rohy }
if(x=1) and (y=1) then l:='Ú';
if(x=1) and (y=dy)then l:='À';
if(x=dx)and (y=1) then r:='¿';
if(x=dx)and (y=dy)then r:='Ù';