
Может кто видел, что-нибудь связанное с моей работой???

{$X-}
uses crt,graph;
type
karta1=record
m,n:byte;
end;
koloda=^kol;
kol=record
kr:karta1;
sl:koloda;
end;
ar36=array[1..36]of karta1;
const
zader=1000;
x2=70;y2=80;
kar1:ar36=
((m:1;n:1),(m:2;n:1),(m:3;n:1),(m:4;n:1),
(m:1;n:2),(m:2;n:2),(m:3;n:2),(m:4;n:2),
(m:1;n:3),(m:2;n:3),(m:3;n:3),(m:4;n:3),
(m:1;n:4),(m:2;n:4),(m:3;n:4),(m:4;n:4),
(m:1;n:5),(m:2;n:5),(m:3;n:5),(m:4;n:5),
(m:1;n:6),(m:2;n:6),(m:3;n:6),(m:4;n:6),
(m:1;n:7),(m:2;n:7),(m:3;n:7),(m:4;n:7),
(m:1;n:8),(m:2;n:8),(m:3;n:8),(m:4;n:8),
(m:1;n:9),(m:2;n:9),(m:3;n:9),(m:4;n:9));
var
myou,mvra,msbros:ar36;
dr,md:integer;
a,b,c,d,mkol:koloda;
prohd,stop2:boolean;
i1,i2,kz,nkz,nomp,ii,k,kolvok:byte;
mymsg:string;
{------------}
(*
procedure mydrv;external;
{$L serg}
*)
{------------}
procedure loading;
var
i,nn,j,max:byte;
begin
mymsg:='';
kolvok:=24;
new(a);a^.kr:=kar1[1];a^.sl:=nil;c:=a;
for i:=2 to 36 do
begin
new(b);b^.kr:=kar1[i];b^.sl:=nil;
a^.sl:=b;a:=b
end;
a^.sl:=c;
d:=nil;
for i:=1 to 36 do
begin
nn:=random(100)+1;
for j:=1 to nn do
begin
b:=c;c:=b^.sl;
end;
a:=c;
new(mkol);mkol^.kr:=a^.kr;mkol^.sl:=d;d:=mkol;
if i=1 then begin kz:=a^.kr.m;nkz:=a^.kr.n end;
b^.sl:=a^.sl;c:=b^.sl;
dispose(a)
end;
if random(2)=0 then prohd:=true else prohd:=false;
max:=10;i1:=6;i2:=6;
for i:=1 to 6 do
begin
myou[i]:=mkol^.kr;d:=mkol;mkol:=d^.sl;dispose(d);
mvra[i]:=mkol^.kr;d:=mkol;mkol:=d^.sl;dispose(d);
if (myou[i].m=kz)and(myou[i].n<max) then
begin max:=myou[i].n;prohd:=true end;
if (mvra[i].m=kz)and(mvra[i].n<max) then
begin max:=mvra[i].n;prohd:=false end;
end;
ii:=1;stop2:=false
end;
{------------}
procedure helping;
begin
cleardevice;
setfillstyle(1,7);
bar(30,50,getmaxx-30,getmaxy-30);
setcolor(1);
rectangle(31,51,getmaxx-31,getmaxy-31);
rectangle(33,53,getmaxx-33,getmaxy-33);
setcolor(0);
settextstyle(0,0,4);
outtextxy(getmaxx div 2+2,82,'фЕЙЗйпамка квЙДл:');
setcolor(4);
outtextxy(getmaxx div 2,80,'фЕЙЗйпамка квЙДл:');
settextstyle(0,0,2);
setcolor(0);
outtextxy(getmaxx div 2+1,131,'ййаЙт - нα«ЯїΓ∞ ¬бαΓπ');
outtextxy(getmaxx div 2+1,161,'ймкз - «¬«ЎτїΓ∞ Яу«⌐ σ«с');
outtextxy(getmaxx div 2+1,191,'їЅї »αїЎ∩Γ∞ ¬бαΓδ »α«ΓїуЎї¬б');
outtextxy(getmaxx div 2+1,221,'йЕЙЗйД,йпайД - уδн«α ¬бαΓδ');
outtextxy(getmaxx div 2+1,251,'ESC - уδσ«с');
setcolor(5);
outtextxy(getmaxx div 2,130,'ййаЙт - нα«ЯїΓ∞ ¬бαΓπ');
outtextxy(getmaxx div 2,160,'ймкз - «¬«ЎτїΓ∞ Яу«⌐ σ«с');
outtextxy(getmaxx div 2,190,'їЅї »αїЎ∩Γ∞ ¬бαΓδ »α«ΓїуЎї¬б');
outtextxy(getmaxx div 2,220,'йЕЙЗйД,йпайД - уδн«α ¬бαΓδ');
outtextxy(getmaxx div 2,250,'ESC - уδσ«с');
setfillstyle(1,0);
bar(getmaxx div 2-145,280,getmaxx div 2+155,310);
setfillstyle(1,4);
bar(getmaxx div 2-150,275,getmaxx div 2+150,305);
setcolor(0);
outtextxy(getmaxx div 2+1,291,'>> мф ЕДатЗпк <<');
setcolor(1);
outtextxy(getmaxx div 2,290,'>> мф ЕДатЗпк <<');
while readkey<>#13 do;
setfillstyle(1,7);
bar(getmaxx div 2-150,275,getmaxx div 2+150,305);
setfillstyle(1,4);
bar(getmaxx div 2-145,280,getmaxx div 2+155,310);
setcolor(0);
outtextxy(getmaxx div 2+6,296,'-> мф ЕДатЗпк <-');
setcolor(1);
outtextxy(getmaxx div 2+5,295,'-> мф ЕДатЗпк <-');
sound(300);delay(100);
nosound;
delay(2000);
end;
{------------}
procedure izokar(ma,no:byte;dx,dy:word);
var
stroka:string[2];
ch:char;
begin
setfillstyle(1,3);
case no of
9:stroka:='Ж';
8:stroka:='и';
7:stroka:='д';
6:stroka:='й';
else str(no+5,stroka);
end;
case ma of
1:ch:=#3;
2:ch:=#4;
3:ch:=#5;
4:ch:=#6;
end;
setcolor(9);
rectangle(dx,dy,dx+x2,dy+y2);
bar(dx+1,dy+1,dx+x2-1,dy+y2-1);
if ma<3 then setcolor(4) else setcolor(0);
settextstyle(0,0,1);
outtextxy(dx+10,dy+10,stroka);
outtextxy(dx+10,dy+20,ch);
setcolor(0);
outtextxy(dx+x2 div 2+1,dy+y2-9,'SAM 2000');
setcolor(11);
outtextxy(dx+x2 div 2,dy+y2-10,'SAM 2000');
settextstyle(0,0,4);
if ma<3 then setcolor(0) else setcolor(4);
outtextxy(dx+x2 div 2+1,dy+y2 div 2+6,stroka);
if ma<3 then setcolor(4) else setcolor(0);
outtextxy(dx+x2 div 2,dy+y2 div 2+5,stroka);
end;
{------------}
procedure izo(dx,dy:word);
begin
setcolor(9);
setfillstyle(9,4);
bar(dx,dy,dx+x2,dy+y2);
rectangle(dx,dy,dx+x2,dy+y2);
end;
{------------}
procedure izobr;
procedure perebor;
var
i,j,k,min:byte;
l,mink:karta1;
begin
j:=1;
repeat
min:=myou[j].n;mink:=myou[j];
k:=j;
for i:=i1 downto j do
if myou[i].n<min then
begin
min:=myou[i].n;mink:=myou[i];
k:=i;
end;
l:=myou[j];myou[j]:=mink;myou[k]:=l;
inc(j);
until j>i1;
end;
var
x1,y1:word;
j:byte;
s:string[10];
ch:char;
begin
perebor;
if nomp=0 then nomp:=1 else nomp:=0;
setactivepage(nomp);
cleardevice;
x1:=10;
for j:=1 to i1 do
begin
y1:=getmaxy-y2-5;
if j=ii then y1:=y1-10;
izokar(myou[j].m,myou[j].n,x1,y1);
x1:=x1+15
end;
x1:=10;
for j:=1 to i2 do
begin
izo(x1,5);
x1:=x1+15
end;
x1:=10;y1:=getmaxy div 2-y2;
for j:=1 to k do
begin
izokar(msbros[j].m,msbros[j].n,x1,y1);
x1:=x1+15
end;
if mkol<>nil then
begin
x1:=getmaxx-x2-25;
y1:=getmaxy div 2-y2;
izokar(kz,nkz,x1,y1);
if mkol^.sl<>nil then
begin
x1:=x1+15;
y1:=y1+5;
izo(x1,y1)
end
end;
setfillstyle(1,7);
bar(10,getmaxy div 2+20,520,getmaxy div 2+70);
setcolor(1);
rectangle(11,getmaxy div 2+21,519,getmaxy div 2+69);
rectangle(13,getmaxy div 2+23,517,getmaxy div 2+67);
line(30,getmaxy div 2+35,500,getmaxy div 2+35);
setcolor(4);
settextstyle(0,0,1);
outtextxy(265,getmaxy div 2+30,'<F1> - »«ј«Θ∞, <ESC> - уδσ«с');
settextstyle(0,0,2);
setcolor(0);
outtextxy(266,getmaxy div 2+51,mymsg);
setcolor(5);
outtextxy(265,getmaxy div 2+50,mymsg);
if kolvok>0 then
begin
bar(getmaxx-85,getmaxy div 2+15,getmaxx-5,getmaxy div 2+75);
setcolor(4);
rectangle(getmaxx-84,getmaxy div 2+16,getmaxx-6,getmaxy div 2+74);
rectangle(getmaxx-82,getmaxy div 2+18,getmaxx-8,getmaxy div 2+72);
settextstyle(0,0,3);
setcolor(0);
str(kolvok,s);outtextxy(getmaxx-44,getmaxy div 2+46,s);
setcolor(13);
outtextxy(getmaxx-45,getmaxy div 2+45,s);
settextstyle(0,0,1);
setcolor(1);
str(kolvok,s);outtextxy(getmaxx-44,getmaxy div 2+25,'«ЯΓбЅ«Я∞:');
outtextxy(getmaxx-44,getmaxy div 2+65,'¬бαΓ(б,δ)');
end
else
begin
bar(getmaxx-85,getmaxy div 2-65,getmaxx-5,getmaxy div 2+15);
setcolor(1);
case kz of
1:begin ch:=#3;s:='щаЙйў'; end;
2:begin ch:=#4;s:='ьфьк'; end;
3:begin ch:=#5;s:='иЙажЖк'; end;
4:begin ch:=#6;s:='Екик'; end;
end;
if kz<3 then setcolor(0) else setcolor(4);
rectangle(getmaxx-84,getmaxy div 2-64,getmaxx-6,getmaxy div 2+14);
rectangle(getmaxx-82,getmaxy div 2-62,getmaxx-8,getmaxy div 2+12);
settextstyle(0,0,5);
outtextxy(getmaxx-44,getmaxy div 2-25,ch);
if kz<3 then setcolor(4) else setcolor(0);
outtextxy(getmaxx-45,getmaxy div 2-26,ch);
settextstyle(0,0,1);
outtextxy(getmaxx-44,getmaxy div 2+5,s);
outtextxy(getmaxx-44,getmaxy div 2-55,'¬«єδα∞:');
end;
setvisualpage(nomp);
end;
{------------}
procedure zvuk(z:word);
begin
case z of
1:z:=20;
2:z:=5500;
end;
sound(z);delay(100);nosound;
end;
{------------}
procedure youhd;
var
stop,pro:boolean;
i,j,i3:byte;
kar:karta1;
nom:array[1..36]of byte;
begin
mymsg:='йбΦ σ«с.';
settextstyle(0,0,10);
setcolor(4);
outtextxy(getmaxx div 2-5,getmaxy div 2+5,'тДдк!!!');
setcolor(1);
outtextxy(getmaxx div 2,getmaxy div 2,'тДдк!!!');
delay(zader);
stop:=false;k:=0;prohd:=false;
repeat
ii:=1;pro:=false;izobr;
repeat
case readkey of
#27:begin stop2:=true;exit end;
#0:case readkey of
#72:if k=0 then pro:=true else
for j:=1 to k do
if myou[ii].n=msbros[j].n then pro:=true;
#80:if k<>0 then stop:=true;
#75:if ii>1 then begin dec(ii);izobr;zvuk(1) end
else begin ii:=i1;izobr;zvuk(1) end;
#77:if ii<i1 then begin inc(ii);izobr;zvuk(1) end
else begin ii:=1;izobr;zvuk(1) end;
#59:begin helping;izobr end;
end
end
until stop or pro;
if pro then
begin
dec(i1);inc(k);kar:=myou[ii];msbros[k]:=kar;
for j:=ii to i1 do myou[j]:=myou[j+1];ii:=1;izobr;zvuk(2);
i3:=0;
if kar.m=kz then
begin
for i:=1 to i2 do
if (mvra[i].m=kz)and(mvra[i].n>kar.n) then
begin
inc(i3);nom[i3]:=i
end
end
else
for i:=1 to i2 do
if (mvra[i].m=kar.m)and(mvra[i].n>kar.n) then
begin
inc(i3);nom[i3]:=i
end
else
if mvra[i].m=kz then
begin
inc(i3);nom[i3]:=i
end;
if i3<>0 then
begin
j:=0;
if kar.m<>kz then
for i:=1 to i3 do
if mvra[nom[i]].m<>kz then
if (j=0)or(mvra[nom[i]].n<mvra[j].n) then j:=nom[i];
if j=0 then
begin
j:=nom[1];
for i:=2 to i3 do if mvra[nom[i]].n<mvra[j].n then j:=nom[i];
end;
inc(k);msbros[k]:=mvra[j];dec(i2);
for i:=j to i2 do mvra[i]:=mvra[i+1];izobr;zvuk(2)
end
else
begin
mymsg:='ьСαπ, с«нбу∞ СΘ±...';
settextstyle(0,0,11);
setcolor(4);
outtextxy(getmaxx div 2-5,getmaxy div 2+5,'ьаЙф!!!');
setcolor(1);
outtextxy(getmaxx div 2,getmaxy div 2,'ьаЙф!!!');
delay(zader);
ii:=1;i3:=i2-1;izobr;
repeat
if i3>0 then
case readkey of
#27:begin stop2:=true;exit end;
#0:case readkey of
#72:for j:=1 to k do
if myou[ii].n=msbros[j].n then
begin
inc(k);
msbros[k]:=myou[ii];dec(i1);
for i:=ii to i1 do myou[i]:=myou[i+1];
dec(i3);ii:=1;izobr;zvuk(2);
end;
#80:stop:=true;
#75:if ii>1 then begin dec(ii);izobr;zvuk(1) end
else begin ii:=i1;izobr;zvuk(1) end;
#77:if ii<i1 then begin inc(ii);izobr;zvuk(1) end
else begin ii:=1;izobr;zvuk(1) end;
#59:begin helping;izobr end;
end
end
else stop:=true
until stop;
prohd:=true;
for i:=i2+1 to i2+k do mvra[i]:=msbros[i-i2];i2:=i2+k
end
end
until stop or(i1=0)or(i2=0);
if i1<6 then
while (i1<>6)and(mkol<>nil) do
begin
inc(i1);dec(kolvok);
myou[i1]:=mkol^.kr;d:=mkol;mkol:=d^.sl;dispose(d)
end;
if i2<6 then
while (i2<>6)and(mkol<>nil) do
begin
inc(i2);dec(kolvok);
mvra[i2]:=mkol^.kr;d:=mkol;mkol:=d^.sl;dispose(d)
end
end;
{------------}
procedure vrahd;
var
stop,pro,pro2,pro4:boolean;
kar:karta1;
i,j,i3:byte;
nom:array[1..36]of byte;
procedure youvz;
var
i3,i,j,k1:byte;
pro3:boolean;
begin
settextstyle(0,0,7);
setcolor(4);
outtextxy(getmaxx div 2-5,getmaxy div 2+5,'ЕДпфщЗл!!!');
setcolor(1);
outtextxy(getmaxx div 2,getmaxy div 2,'ЕДпфщЗл!!!');
delay(zader);
i3:=i1-1;
for j:=1 to k do
begin
i:=1;
while i<=i2 do
begin
if i3<>0 then
if mvra[i].n=msbros[j].n then
if mvra[i].m<>kz then
begin
dec(i2);inc(k);msbros[k]:=mvra[i];dec(i3);
for k1:=i to i2 do mvra[k1]:=mvra[k1+1];izobr;zvuk(2)
end;
inc(i)
end
end;
stop:=true;prohd:=false;
for i:=i1+1 to i1+k do myou[i]:=msbros[i-i1];i1:=i1+k
end;
begin
mymsg:='т«с »α«ΓїуЎї¬б. ДΓнїуб⌐ΓСЯ∞...';
izobr;
settextstyle(0,0,15);
setcolor(4);
outtextxy(getmaxx div 2-5,getmaxy div 2+5,'ƒ!!!');
setcolor(1);
outtextxy(getmaxx div 2,getmaxy div 2,'ƒ!!!');
delay(zader);
prohd:=true;stop:=false;k:=0;
repeat
ii:=1;pro:=true;izobr;
if k=0 then
begin
kar.n:=10;
for i:=1 to i2 do
if (mvra[i].m<>kz)and(mvra[i].n<kar.n) then
begin
pro:=false;kar:=mvra[i];j:=i
end;
if pro then
for i:=1 to i2 do
if mvra[i].n<kar.n then
begin
kar:=mvra[i];j:=i
end
end
else
begin
i3:=0;
for i:=1 to k do
for j:=1 to i2 do
if mvra[j].n=msbros[i].n then
if mvra[j].m<>kz then
begin
inc(i3);nom[i3]:=j
end;
if i3<>0 then
begin
j:=nom[1];
for i:=2 to i3 do if mvra[nom[i]].n<mvra[j].n then j:=nom[i];
kar:=mvra[j];
pro:=false;
end
else stop:=true
end;
if not stop then
begin
dec(i2);inc(k);msbros[k]:=kar;
for i:=j to i2 do mvra[i]:=mvra[i+1];pro2:=true;izobr;zvuk(2);
if pro then
begin
for i:=1 to i1 do
if (myou[i].m=kz)and(myou[i].n>kar.n) then pro2:=false
end
else
for i:=1 to i1 do
if ((myou[i].m=kar.m)and(myou[i].n>kar.n))or(myou[i].m=kz) then pro2:=false;
if pro2 then youvz else
begin
ii:=1;pro4:=false;izobr;
repeat
case readkey of
#27:begin stop2:=true;exit end;
#0:case readkey of
#72:if pro then
begin
if (myou[ii].m=kz)and(myou[ii].n>kar.n) then pro4:=true
end
else
if ((myou[ii].m=kar.m)and(myou[ii].n>kar.n))or(myou[ii].m=kz) then pro4:=true;
#80:youvz;
#75:if ii>1 then begin dec(ii);izobr;zvuk(1) end
else begin ii:=i1;izobr;zvuk(1) end;
#77:if ii<i1 then begin inc(ii);izobr;zvuk(1) end
else begin ii:=1;izobr;zvuk(1) end;
#59:begin helping;izobr end;
end
end
until stop or pro4;
if pro4 then
begin
inc(k);msbros[k]:=myou[ii];dec(i1);
for j:=ii to i1 do myou[j]:=myou[j+1];ii:=1;izobr;zvuk(2)
end
end
end
until stop or(i1=0)or(i2=0);
if i2<6 then
while (i2<>6)and(mkol<>nil) do
begin
inc(i2);dec(kolvok);
mvra[i2]:=mkol^.kr;d:=mkol;mkol:=d^.sl;dispose(d)
end;
if i1<6 then
while (i1<>6)and(mkol<>nil) do
begin
inc(i1);dec(kolvok);
myou[i1]:=mkol^.kr;d:=mkol;mkol:=d^.sl;dispose(d)
end
end;
{------------}
procedure endgame;
var
s:string;
begin
cleardevice;
if (i1=0)and(i2=0) then s:='мкщЈƒ !!!'
else if i1=0 then s:='йў йўквЙЗпк !!!'
else if i2=0 then s:='йў ЕЙДквЙЗпк !!!';
setfillstyle(1,7);
bar(30,50,getmaxx-30,getmaxy-50);
setcolor(1);
rectangle(31,51,getmaxx-31,getmaxy-51);
rectangle(33,53,getmaxx-33,getmaxy-53);
settextstyle(0,0,4);
setcolor(0);
outtextxy(getmaxx div 2+2,getmaxy div 2+2,s);
setcolor(4);
outtextxy(getmaxx div 2,getmaxy div 2,s);
settextstyle(0,0,2);
setfillstyle(1,0);
bar(getmaxx div 2-145,250,getmaxx div 2+155,280);
setfillstyle(1,4);
bar(getmaxx div 2-150,245,getmaxx div 2+150,275);
setcolor(0);
outtextxy(getmaxx div 2+1,261,'>> ЕЙДдДпеко <<');
setcolor(1);
outtextxy(getmaxx div 2,260,'>> ЕЙДдДпеко <<');
while readkey<>#13 do;
setfillstyle(1,7);
bar(getmaxx div 2-150,245,getmaxx div 2+150,275);
setfillstyle(1,4);
bar(getmaxx div 2-145,250,getmaxx div 2+155,280);
setcolor(0);
outtextxy(getmaxx div 2+6,266,'-> ЕЙДдДпеко <-');
setcolor(1);
outtextxy(getmaxx div 2+5,265,'-> ЕЙДдДпеко <-');
sound(300);delay(100);nosound;delay(2000);
end;
{------------}
function zasta:boolean;
var
v1,v2:byte;
v,game:boolean;
procedure vibor1;
var
s1,s2:string[14];
begin
setfillstyle(1,v1);bar(50,getmaxy-100,250,getmaxy-70);
setfillstyle(1,v2);bar(getmaxx-250,getmaxy-100,getmaxx-50,getmaxy-70);
if game then
begin
s1:='>> квЙЗ <<';s2:='йўтДд';
end
else
begin
s1:='квЙЗ';s2:='>> йўтДд <<';
end;
setcolor(0);
outtextxy(151,getmaxy-84,s1);
outtextxy(getmaxx-149,getmaxy-84,s2);
setcolor(1);
outtextxy(150,getmaxy-85,s1);
outtextxy(getmaxx-150,getmaxy-85,s2);
end;
procedure buttonpress;
var
s1,s2:string[14];
begin
setfillstyle(1,7);
if game then
begin
bar(50,getmaxy-100,250,getmaxy-70);
s1:='-> квЙЗ <-';s2:='йўтДд';
setfillstyle(1,v1);bar(55,getmaxy-95,255,getmaxy-65);
setfillstyle(1,v2);bar(getmaxx-250,getmaxy-100,getmaxx-50,getmaxy-70);
setcolor(0);
outtextxy(156,getmaxy-79,s1);
outtextxy(getmaxx-149,getmaxy-84,s2);
setcolor(1);
outtextxy(155,getmaxy-80,s1);
outtextxy(getmaxx-150,getmaxy-85,s2);
end
else
begin
bar(getmaxx-250,getmaxy-100,getmaxx-50,getmaxy-70);
s1:='квЙЗ';s2:='-> йўтДд <-';
setfillstyle(1,v1);bar(50,getmaxy-100,250,getmaxy-70);
setfillstyle(1,v2);bar(getmaxx-245,getmaxy-95,getmaxx-45,getmaxy-65);
setcolor(0);
outtextxy(151,getmaxy-84,s1);
outtextxy(getmaxx-144,getmaxy-79,s2);
setcolor(1);
outtextxy(150,getmaxy-85,s1);
outtextxy(getmaxx-145,getmaxy-80,s2);
end;
sound(300);
delay(100);
nosound;
delay(2000);
end;
procedure vibso;
begin
sound(50);delay(100);nosound
end;
begin
cleardevice;
setfillstyle(1,7);
bar(20,20,getmaxx-20,getmaxy-20);
setcolor(1);
rectangle(21,21,getmaxx-21,getmaxy-21);
rectangle(23,23,getmaxx-23,getmaxy-23);
settextstyle(0,0,11);
setcolor(0);
outtextxy(getmaxx div 2+5,95,'дфЙЗик');
setcolor(4);
outtextxy(getmaxx div 2,90,'дфЙЗик');
settextstyle(0,0,4);
setcolor(0);
outtextxy(getmaxx div 2+2,162,'(ЙπЯЯ¬б∩ уСαЯї∩)');
setcolor(1);
outtextxy(getmaxx div 2,160,'(ЙπЯЯ¬б∩ уСαЯї∩)');
settextstyle(0,0,1);
setcolor(4);
outtextxy(320,300,'ЗуΓ«αЯ¬їС »αбуб:');
outtextxy(320,310,'жΓπсСЎΓ ъαπ»»δ Ео 98-2 оСЎ∞Φ«у жСαъС⌐');
outtextxy(320,320,'2000 ъ«с иδєδЅ«αсб, ивф');
setfillstyle(1,0);
bar(55,getmaxy-95,255,getmaxy-65);
bar(getmaxx-245,getmaxy-95,getmaxx-45,getmaxy-65);
zasta:=true;
v:=false;
settextstyle(0,0,2);
v1:=4;v2:=8;game:=true;vibor1;
repeat
case readkey of
#27:begin v:=true;game:=false end;
#13:v:=true;
#0:case readkey of
#75:begin v1:=4;v2:=8;game:=true;vibor1;vibso end;
#77:begin v1:=8;v2:=4;game:=false;vibor1;vibso end;
end
end;
until v;
buttonpress;
zasta:=game;
end;
{------------}
procedure outkozir;
var
s:string[10];
begin
izobr;
case kz of
1:s:='щаЙйў';
2:s:='ьфьк';
3:s:='иЙажЖк';
4:s:='Екик';
end;
settextstyle(0,0,5);
setcolor(4);
outtextxy(getmaxx div 2-5,getmaxy div 2+5,'иДзўЙЈ - '+s);
setcolor(1);
outtextxy(getmaxx div 2,getmaxy div 2,'иДзўЙЈ - '+s);
delay(zader);
izobr;
settextstyle(0,0,7);
setcolor(4);
outtextxy(getmaxx div 2-5,getmaxy div 2+5,'ЕДатЗпк!!!');
setcolor(1);
outtextxy(getmaxx div 2,getmaxy div 2,'ЕДатЗпк!!!');
delay(zader);
izobr;
end;
{------------}
procedure pressesc;
begin
settextstyle(0,0,15);
setcolor(4);
outtextxy(getmaxx div 2-5,getmaxy div 2-85,'квЙЗ');
setcolor(1);
outtextxy(getmaxx div 2,getmaxy div 2-90,'квЙЗ');
delay(zader);
settextstyle(0,0,7);
setcolor(4);
outtextxy(getmaxx div 2-5,getmaxy div 2+5,'жДЙйЗмЗ...');
setcolor(1);
outtextxy(getmaxx div 2,getmaxy div 2,'жДЙйЗмЗ...');
delay(zader);
settextstyle(0,0,8);
setcolor(4);
outtextxy(getmaxx div 2-5,getmaxy-65,'ДдмЗиД!!!');
setcolor(1);
outtextxy(getmaxx div 2,getmaxy-70,'ДдмЗиД!!!');
delay(zader);
end;
{------------}
begin
(* if registerbgidriver(@mydrv)<0 then halt; *)
dr:=vga;md:=vgamed;
initgraph(dr,md,'');
settextjustify(1,1);
nomp:=1;
randomize;
while zasta do
begin
k:=0;
loading;
helping;
outkozir;
repeat
k:=0;
if prohd then youhd else vrahd
until (i1=0)or(i2=0)or stop2;
if not stop2 then endgame
else
begin
while mkol<>nil do
begin
d:=mkol;mkol:=d^.sl;dispose(d)
end;
pressesc;
end;
end;
closegraph
end.