program test;
uses crt;
uses graph;
var driver,mode,i,j,k:integer;
p:pointer;
top:boolean;
size:word;
{******************************HOUNTER*************************************}
procedure hounter;
var i,j,k:integer;
begin
initgraph(driver,mode,'c:\tp\bgi');
rectangle(250,400,310,460);
end;
procedure mon1;
var i,j,k:integer;
begin
initgraph(driver,mode,'c:\tp\bgi');
circle(40,40,20);
size:=imagesize(19,19,61,61);
getmem(p,size);
getimage(19,19,61,61,p^);
cleardevice;
hounter;
rectangle(11,91,90,460);
for i:=1 to 100 do
putimage(i,40,p^,normalput);
for j:=40 to 430 do
putimage(100,j,p^,normalput);
for k:=100 to 250 do
putimage(k,430,p^,normalput);
closegraph;
end;
{**********************************************************************}
procedure mon2;
var i,j,k:integer;
begin
initgraph(driver,mode,'c:\tp\bgi');
circle(200,200,20);
size:=imagesize(179,179,221,221);
getmem(p,size);
getimage(179,179,221,221,p^);
cleardevice;
rectangle(300,91,379,460);
for i:=300 downto 200 do
putimage(i,40,p^,normalput);
for j:=40 to 430 do
putimage(200,j,p^,normalput);
closegraph;
end;
{********************************************************}
procedure mon3;
var i,j,k:integer;
begin
initgraph(driver,mode,'c:\tp\bgi');
circle(400,400,20);
size:=imagesize(379,379,421,421);
getmem(p,size);
getimage(379,379,421,421,p^);
cleardevice;
rectangle(400,91,479,460);
for i:=400 downto 300 do
putimage(i,40,p^,normalput);
for j:=40 to 430 do
putimage(300,j,p^,normalput);
for k:=300 downto 250 do
putimage(k,430,p^,normalput);
closegraph;
end;
begin
initgraph(driver,mode,'c:\tp\bgi');
for i:=1 to 20 do
begin
k:=random(4);
case k of
1:mon1;
2:mon2;
3:mon3;
end;
end;
readln;
end.