Umiestnenie súboru www.TrSek.com/cover/benkovic/oko.pas{ OKO.PAS Copyright (c) Jan Benkovic }
{ Program na hratie hry oko s pocitacom. }
{ }
{ Po zacati hry sa zobrazia karty. Vlavo hore je karta hraca, pravo }
{ hore je obratena karta pocitaca, vlavo dole je ties obratena karta}
{ pocitaca 2 a pravo dole je miesto pre karty banku. V strede je }
{ kopa a vrchna karta je obratena. Pri kazdej katre sa nachadzaju }
{ konta a vsadene ciastky hracov. Po odklepnuti si hrac moze vsadit.}
{ Pri nespravnom zadani vsadenej ciatky, alebo po odklepnuti bez }
{ napisania nejakej ciastky sa program sam vypne. Maximalna hodnota }
{ vsadenia je urcena bud hracovym kontom, alebo kontom Banku, ktore }
{ sa deli 3 aby kazdi hrac mohol vsadit rovanku ciastku. Po vsadeni }
{ program caka na stlacenie 'a' alebo 'n' pre tahanie dalsej karty, }
{ alebo prestanie tahania. Po stopnuti tahania pokracuje hrac }
{ stlacanim akejkolvek klavesi. Teraz si potiahne pocitac a Bank. }
{ Nakoniec hra vyhodnoti kto vyhral a mate moznost bud pokracovat, }
{ alebo hru ukoncit 'Esc', alebo klinkutim na koniec. Hra bude }
{ pokracovat pokial niekto s hracov nedosiahne nulu, alebo bank bude}
{ mat nulu. Ostatna cast hry ostava rovnaka ako pri normalnom OKU. }
{ Pri tejto verzii sa vynechali veci ako CERVENA SEDMA a }
{ TRI SEDMICKY, ktore mozu byt neskor dodane navise v novsich }
{ verziach. }
{ }
{ Datum:08.06.2000 http://www.trsek.com }
procedure err_koniec;
begin
cleardevice;
setcolor(white);
outtextxy(200,200,'V programe nastala chyba !!');
readkey;
halt;
closegraph;
end;
procedure nor_koniec;
begin
cleardevice;
if _hra=0 then
begin
setcolor(green);
outtextxy(230,150,'CREATED BY TRIO CREW');
setcolor(white);
outtextxy(275,190,'Macko 007');
outtextxy(190,210,'http://freeweb.coco.cz/triocrew ');
outtextxy(230,230,'Benkovic@internet.sk ');
setcolor(red);
outtextxy(240,470,'PRESS ANY KEY TO END');
readkey;
end
else
begin
setcolor(red);
outtextxy(275,1,'RESULTS :');
setcolor(white);
outtextxy(265,21,'Bank :');
str(konto_bank,prem);
outtextxy(325,21,prem);
outtextxy(265,41,'PC 1 :');
str(konto_PC1,prem);
outtextxy(325,41,prem);
outtextxy(265,61,'PC 2 :');
str(konto_PC2,prem);
outtextxy(325,61,prem);
outtextxy(265,81,'Hrac :');
str(konto_hrac,prem);
outtextxy(325,81,prem);
setcolor(yellow);
if _hra=254 then
outtextxy(40,200,'Prepacte ale hra bola prerusena koli dlzke premmenej, DAKUJEM !')
else if konto_bank=0 then
outtextxy(200,200,'Gratulujem vyhrali ste...')
else if (konto_hrac=0)or(konto_PC1=0)or(konto_PC2=0) then
outtextxy(230,200,'Jeden z hracov prehral')
else outtextxy(195,200,'Hra bola prerusena uzivatelom');
readkey;
cleardevice;
setcolor(green);
outtextxy(230,150,'CREATED BY TRIO CREW');
setcolor(white);
outtextxy(275,190,'Macko 007');
outtextxy(190,210,'http://freeweb.coco.cz/triocrew ');
outtextxy(230,230,'Benkovic@internet.sk ');
setcolor(red);
outtextxy(240,470,'PRESS ANY KEY TO END');
readkey;
end;
closegraph;
halt;
end;
procedure vyk_karty (x,y,x1,y1 : integer;cislo : string);
begin
setcolor(red);
rectangle(x-1,y-1,x1+1,y1+1);
rectangle(x-2,y-2,x1+2,y1+2);
bar (x,y,x1,y1);
setcolor(black);
if (pp=1)or(bb=1) then
begin
val(cislo,a,err);
if err<>0 then err_koniec;
if a<=9 then
begin
outtextxy(x+3,(345-(q*19+q)),cislo);
outtextxy(x1-8,(460-(q*19+q)),cislo);
outtextxy(x1-8,(345-(q*19+q)),cislo);
outtextxy(x+3,(460-(q*19+q)),cislo);
end
else
begin
outtextxy(x+3,(345-(q*19+q)),cislo);
outtextxy(x1-17,(460-(q*19+q)),cislo);
outtextxy(x1-17,(345-(q*19+q)),cislo);
outtextxy(x+3,(460-(q*19+q)),cislo);
end;
end
else
begin
val(cislo,a,err);
if err<>0 then err_koniec;
if a<=9 then
begin
outtextxy(x+3,(19+(q*19+q)),cislo);
outtextxy(x1-8,(19+(q*19+q)),cislo);
outtextxy(x1-8,(134+(q*19+q)),cislo);
outtextxy(x+3,(134+(q*19+q)),cislo);
end
else
begin
outtextxy(x+3,(19+(q*19+q)),cislo);
outtextxy(x1-17,(19+(q*19+q)),cislo);
outtextxy(x1-17,(134+(q*19+q)),cislo);
outtextxy(x+3,(134+(q*19+q)),cislo);
end;
end;
end;
procedure zakr_karty(x,y,x1,y1 : integer);
begin
setcolor(red);
rectangle(x-1,y-1,x1+1,y1+1);
rectangle(x-2,y-2,x1+2,y1+2);
SetFillStyle(XHatchFill,red);
bar (x,y,x1,y1);
setcolor(black);
GetFillPattern(OldPattern);
SetFillPattern(OldPattern,White);
end;
procedure plyer1 (posun_hrac:byte);
begin
repeat
e:=e+1;
str(hrac,prem);
repeat c:=readkey until (c='a')or(c='A')or(c='n')or(c='N');
case c of
'a','A' : begin
posun_hrac:=posun_hrac+1;
q:=q+1;
if (pom_hrac=11)and(karty[e+5]=11) then jedenastka_h:=1;
hrac:=hrac+karty[e+5];
str(karty[e+5],prem1);
vyk_karty(2,(14+(posun_hrac*19+posun_hrac)),102,(144+(posun_hrac*19+posun_hrac)),prem1);
setcolor(white);
end;
'n','N' : koniec:=koniec+1;
end;
until (hrac>=19)or(koniec=1);
str(hrac,prem);
end;
procedure player2 (posun_PC1:byte);
begin
repeat
e:=e+1;
posun_PC1:=posun_PC1+1;
if (pom_PC1=11)and(karty[e+5]=11) then jedenastka_p1:=1;
case PC_1 of
1..13 : begin
PC_1:=PC_1+karty[e+5];
zakr_karty(500,(14+(posun_PC1*19+posun_PC1)),600,(144+(posun_PC1*19+posun_PC1)));
PC1_karty[e]:=karty[e+5];
end;
14..16 : begin
g:=random(5)+1;
if (g>=1)and(g<=3) then
begin
PC_1:=PC_1+karty[e+5];
PC1_karty[e]:=karty[e+5];
zakr_karty(500,(14+(posun_PC1*19+posun_PC1)),600,(144+(posun_PC1*19+posun_PC1)));
end
else koniec:=koniec+1;
end;
17..21 : koniec:=koniec+1;
end;
until (PC_1>=19)or(koniec=1);
end;
procedure player3(posun_PC3:byte);
begin
repeat
posun_PC3:=posun_PC3+1;
e:=e+1;
if (pom_PC2=11)and(karty[e+5]=11) then jedenastka_p2:=1;
case PC_2 of
1..15 : begin
PC_2:=PC_2+karty[e+5];
PC2_karty[e]:=karty[e+5];
zakr_karty(2,340-(posun_PC3*19+posun_PC3),102,470-(posun_PC3*19+posun_PC3));
end;
16..17 : begin
g:=random(5)+1;
if (g>=1)and(g<=3) then
begin
PC_2:=PC_2+karty[e+5];
zakr_karty(2,340-(posun_PC3*19+posun_PC3),102,470-(posun_PC3*19+posun_PC3));
PC2_karty[e]:=karty[e+5];
end
else koniec:=koniec+1;
end;
18..21 : koniec:=koniec+1;
end;
until (PC_2>=19)or(koniec=1);
end;
procedure player4(posun_PC4:byte);
begin
bb:=1;
repeat
if (bank+vrch=21)or(bank+vrch=20)or(bank+vrch=19)or(bank+vrch=18)then
begin
posun_PC4:=posun_PC4+1;
q:=q+1;
bank:=bank+vrch;
zakr_karty(250,135,350,265);
str(vrch,l);
vyk_karty(500,340-(posun_PC4*19+posun_PC4),600,470-(posun_PC4*19+posun_PC4),l);
end;
posun_PC4:=posun_PC4+1;
e:=e+1;
if (pom_bank=11)and(karty[e+5]=11) then jedenastka_b:=1;
case bank of
1..14 : begin
q:=q+1;
str(karty[e+5],l);
vyk_karty(500,340-(posun_PC4*19+posun_PC4),600,470-(posun_PC4*19+posun_PC4),l);
bank:=bank+karty[e+5];
end;
15..17 : begin
g:=random(5)+1;
if (g>=1)and(g<=2) then
begin
q:=q+1;
bank:=bank+karty[e+5];
str(karty[e+5],l);
vyk_karty(500,340-(posun_PC4*19+posun_PC4),600,470-(posun_PC4*19+posun_PC4),l);
end
else koniec:=koniec+1;
end;
18..21 : koniec:=koniec+1;
end;
until (bank>=19)or(koniec=1);
bb:=0;
end;
procedure miesanie;
begin
a:=0;
koef_miesania:=0;
assign(t,'oko.dat');
reset(t);
randomize;
repeat
e:=e+1;
readln(t,karta);
val(karta,a,err);
if err<>0 then err_koniec;
if (a<>3)and(a<>4)and(a<>2)and(a<>7)and(a<>8)and(a<>9)and(a<>10)and(a<>11) then err_koniec;
karty[e]:=a;
until e=32;
close(t);
repeat
for e:=1 to 32 do
begin
g:=random(32)+1;
pom:=karty[g];
karty[g]:=karty[e];
karty[e]:=pom;
end;
koef_miesania:=koef_miesania+1;
until koef_miesania=2501;
end;
procedure vsadenie_hraca;
begin
gotoxy(16,2);
readln(aa);
val(aa,vsadene_hrac,err);
if err<>0 then vsadene_hrac:=0;
if (vsadene_hrac>max_vsad)or(vsadene_hrac>konto_hrac) then
begin
outtextxy(160,18,'- Nevsadil si sapravne');
readkey;
setcolor(black);
outtextxy(160,18,'- Nevsadil si sapravne');
setcolor(white);
vsadenie_hraca;
end;
end;
procedure hra;
begin
cleardevice;
if (konto_bank<=2)or(konto_hrac=0)or(konto_PC1=0)or(konto_PC2=0)or(_hra=254)then nor_koniec;
setcolor(white);
outtextxy(270,150,'-=LOADING=-');
outtextxy(260,220,'Miesaine...');
miesanie;
outtextxy(350,220,'OK');
outtextxy(260,240,'Nulovanie...');
inc(_hra);
prehra_bank:=0;
prehra_hrac:=0;
prehra_PC1:=0;
prehra_PC2:=0;
p1:=0;
p2:=0;
p3:=0;
randomize;
koniec:=0;
vsadene_PC1:=0;
vsadene_PC2:=0;
vsadene_hrac:=0;
e:=0;
for k:= 1 to 32 do
begin
PC1_karty[k]:=0;
PC2_karty[k]:=0;
end;
bank:=0;
PC_1:=0;
PC_2:=0;
hrac:=0;
vrch:=0;
pom_hrac:=0;
pom_PC1 :=0;
pom_PC2 :=0;
pom_bank :=0;
jedenastka_h:=0;
jedenastka_p1:=0;
jedenastka_p2:=0;
jedenastka_b:=0;
outtextxy(350,240,'OK');
outtextxy(260,260,'Tahanie....');
bank:=karty[1];
PC_1:=karty[2];
PC_2:=karty[3];
hrac:=karty[4];
vrch:=karty[5];
pom_hrac:=karty[4];
pom_PC1 :=karty[2];
pom_PC2 :=karty[3];
pom_bank :=karty[1];
outtextxy(350,260,'OK');
cleardevice;
str(vrch,prem);
setcolor(red);
rectangle(250-1,135-1,350+1,265+1);
rectangle(250-2,135-2,350+2,265+2);
bar (250,135,350,265);
setcolor(black);
if vrch<=9 then
begin
outtextxy(250+3,140,prem);
outtextxy(350-8,140,prem);
outtextxy(350-8,255,prem);
outtextxy(250+3,255,prem);
end
else
begin
outtextxy(250+3, 140,prem);
outtextxy(350-17,140,prem);
outtextxy(350-17,255,prem);
outtextxy(250+3, 255,prem);
end;
setcolor(white);
outtextxy(460,465,'Bank ma :');
zakr_karty(500,34,600,164);
setcolor(white);
outtextxy(460,5,'Konto PC : ');
outtextxy(545,5,vsad_PC1);
str(PC_1,prem);
PC1_karty[1]:=PC_1;
outtextxy(460,18,'Vsadil : ');
max_vsad:=(konto_bank)DIV(3);
case PC_1 of
3..5 : begin
case konto_PC1 of
1..10 : vsadene_PC1:=1;
11..25 : vsadene_PC1:=5;
26..50 : vsadene_PC1:=random(10)+11;
51..100 : vsadene_PC1:=random(10)+11;
101..200 : vsadene_PC1:=random(20)+21;
201..250 : vsadene_PC1:=random(55)+11;
250..500 : vsadene_PC1:=random(90)+11;
else vsadene_PC1:=random(140)+51;
end;
if vsadene_PC1>max_vsad then vsadene_PC1:=max_vsad;
end;
7..9 : begin
case konto_PC1 of
1..10 : vsadene_PC1:=1;
11..25 : vsadene_PC1:=10;
26..50 : vsadene_PC1:=random(15)+11;
51..100 : vsadene_PC1:=random(30)+11;
101..200 : vsadene_PC1:=random(35)+21;
201..250 : vsadene_PC1:=random(75)+11;
250..500 : vsadene_PC1:=random(90)+21;
else vsadene_PC1:=random(150)+81;
end;
if vsadene_PC1>max_vsad then vsadene_PC1:=max_vsad;
end;
10..11 : begin
case konto_PC1 of
1..4 : vsadene_PC1:=1;
5..10 : vsadene_PC1:=3;
11..25 : vsadene_PC1:=11;
26..50 : vsadene_PC1:=random(10)+16;
51..100 : vsadene_PC1:=random(35)+16;
101..200 : vsadene_PC1:=random(40)+31;
201..250 : vsadene_PC1:=random(80)+21;
250..500 : vsadene_PC1:=random(115)+31;
else vsadene_PC1:=random(160)+131;
end;
if vsadene_PC1>max_vsad then vsadene_PC1:=max_vsad;
end;
end;
konto_PC1:=konto_PC1-vsadene_PC1;
konto_bank:=konto_bank-vsadene_PC1;
str(vsadene_PC1,prem);
outtextxy(530,18,prem);
str(konto_PC1,prem);
outtextxy(545,5,prem);
zakr_karty(2,320,102,450);
setcolor(white);
outtextxy(1,458,'Konto PC : ');
outtextxy(86,458,vsad_PC2);
str(PC_2,prem);
PC2_karty[1]:=PC_2;
outtextxy(1,468,'Vsadil : ');
case PC_2 of
3..5 : begin
case konto_PC2 of
1..10 : vsadene_PC2:=1;
11..25 : vsadene_PC2:=5;
26..50 : vsadene_PC2:=random(10)+11;
51..100 : vsadene_PC2:=random(20)+11;
101..200 : vsadene_PC2:=random(30)+21;
201..250 : vsadene_PC2:=random(60)+21;
250..500 : vsadene_PC2:=random(100)+11;
else vsadene_PC2:=random(160)+71;
end;
if vsadene_PC2>max_vsad then vsadene_PC2:=max_vsad;
end;
7..9 : begin
case konto_PC2 of
1..10 : vsadene_PC2:=1;
11..25 : vsadene_PC2:=10;
26..50 : vsadene_PC2:=random(15)+11;
51..100 : vsadene_PC2:=random(30)+11;
101..200 : vsadene_PC2:=random(40)+21;
201..250 : vsadene_PC2:=random(105)+21;
250..500 : vsadene_PC2:=random(110)+11;
else vsadene_PC2:=random(180)+81;
end;
if vsadene_PC2>max_vsad then vsadene_PC2:=max_vsad;
end;
10..11 : begin
case konto_PC2 of
1..4 : vsadene_PC2:=1;
5..10 : vsadene_PC2:=3;
11..25 : vsadene_PC2:=11;
26..50 : vsadene_PC2:=random(10)+16;
51..100 : vsadene_PC2:=random(25)+16;
101..200 : vsadene_PC2:=random(50)+21;
201..250 : vsadene_PC2:=random(100)+21;
250..500 : vsadene_PC2:=random(115)+11;
else vsadene_PC2:=random(200)+91;
end;
if vsadene_PC2>max_vsad then vsadene_PC2:=max_vsad;
end;
end;
konto_PC2:=konto_PC2-vsadene_PC2;
konto_bank:=konto_bank-vsadene_PC2;
str(vsadene_PC2,prem);
outtextxy(86,468,prem);
str(konto_PC2,prem);
outtextxy(86,458,prem);
str(konto_bank,prem);
outtextxy(540,465,prem);
q:=1;
str(hrac,prem);
vyk_karty(2,34,102,164,prem);
setcolor(white);
str(konto_hrac,vsad_hrac);
outtextxy(1,5,'Momentalne mas : ');
outtextxy(135,5,vsad_hrac);
outtextxy(1,18,'Kolko vsadit : ');
str(konto_hrac,prem);
str(max_vsad,prem1);
outtextxy(115,18,'Max ');
if konto_hrac>max_vsad then outtextxy(145,18,prem1)
else if konto_hrac<max_vsad then outtextxy(145,18,prem)
else outtextxy(145,18,prem1);
readkey;
setcolor(black);
if konto_hrac>max_vsad then outtextxy(145,18,prem1)
else if konto_hrac<max_vsad then outtextxy(145,18,prem)
else outtextxy(145,18,prem1);
outtextxy(115,18,'Max ');
setcolor(white);
vsadenie_hraca;
setcolor(black);
str(konto_bank,prem);
outtextxy(540,465,prem);
setcolor(white);
konto_hrac:=(konto_hrac)-vsadene_hrac;
konto_bank:=konto_bank-vsadene_hrac;
str(konto_bank,prem);
outtextxy(540,465,prem);
plyer1(1);
koniec:=0;
q:=0;
readkey;
player2(1);
koniec:=0;
q:=0;
readkey;
player3(1);
koniec:=0;
q:=1;
str(bank,prem);
bb:=1;
vyk_karty(500,320,600,450,prem);
bb:=0;
player4(1);
koniec:=0;
readkey;
q:=0;
o:=0;
for k:=1 to 32 do
begin
if PC1_karty[k]=0 then
else
begin
o:=o+1;
q:=q+1;
str(PC1_karty[k],l);
vyk_karty(500,(14+(o*19+o)),600,(144+(o*19+o)),l);
end;
end;
readkey;
pp:=1;
o:=0;
q:=0;
for k:=1 to 32 do
begin
if PC2_karty[k]=0 then
else
begin
o:=o+1;
str(PC2_karty[k],l);
q:=q+1;
vyk_karty(2,340-(o*19+o),102,470-(o*19+o),l)
end;
end;
pp:=0;
readkey;
if hrac>21 then
begin
if jedenastka_h=1 then
else
begin
p1:=1;
konto_bank:=konto_bank+(2*vsadene_hrac);
prehra_hrac:=1;
end;
end;
if PC_1>21 then
begin
if jedenastka_p1=1 then
else
begin
p2:=1;
konto_bank:=konto_bank+(2*vsadene_PC1);
prehra_PC1:=1;
end;
end;
if PC_2>21 then
begin
if jedenastka_p2=1 then
else
begin
p3:=1;
konto_bank:=konto_bank+(2*vsadene_PC2);
prehra_PC2:=1;
end;
end;
if bank>21 then
begin
if jedenastka_b=1 then
else
begin
prehra_bank:=1;
if p1=1 then
else
begin
konto_hrac:=konto_hrac+(2*vsadene_hrac);
p1:=1;
end;
if p2=1 then
else
begin
konto_PC1:=konto_PC1+(2*vsadene_PC1);
p2:=1;
end;
if p3=1 then
else
begin
p3:=1;
konto_PC2:=konto_PC2+(2*vsadene_PC2);
end;
end;
end;
if p1=0 then
begin
if (jedenastka_b=1) and (jedenastka_h=1) then
begin
konto_bank:=konto_bank+(2*vsadene_hrac);
prehra_hrac:=1;
end
else if (jedenastka_b=1) and (jedenastka_h=0) then
begin
konto_bank:=konto_bank+(2*vsadene_hrac);
prehra_hrac:=1;
end
else if (jedenastka_b=0) and (jedenastka_h=1) then
begin
konto_hrac:=konto_hrac+(2*vsadene_hrac);
prehra_bank:=1;
end
else if bank>hrac then
begin
konto_bank:=konto_bank+(2*vsadene_hrac);
prehra_hrac:=1;
end
else if bank<hrac then
begin
konto_hrac:=konto_hrac+(2*vsadene_hrac);
prehra_bank:=1;
end
else if bank=hrac then
begin
konto_bank:=konto_bank+(2*vsadene_hrac);
prehra_hrac:=1;
end;
end;
if p2=0 then
begin
if (jedenastka_b=1) and (jedenastka_p1=1) then
begin
konto_bank:=konto_bank+(2*vsadene_PC1);
prehra_PC1:=1;
end
else if (jedenastka_b=1) and (jedenastka_p1=0) then
begin
konto_bank:=konto_bank+(2*vsadene_PC1);
prehra_PC1:=1;
end
else if (jedenastka_b=0) and (jedenastka_p1=1) then
begin
konto_PC1:=konto_PC1+(2*vsadene_PC1);
prehra_bank:=1;
end
else if bank>PC_1 then
begin
konto_bank:=konto_bank+(2*vsadene_PC1);
prehra_PC1:=1;
end
else if bank<PC_1 then
begin
konto_PC1:=konto_PC1+(2*vsadene_PC1);
prehra_bank:=1;
end
else if bank=PC_1 then
begin
konto_bank:=konto_bank+(2*vsadene_PC1);
prehra_PC1:=1;
end;
end;
if p3=0 then
begin
if (jedenastka_b=1)and(jedenastka_p2=1) then
begin
konto_bank:=konto_bank+(2*vsadene_PC2);
prehra_PC2:=1;
end
else if (jedenastka_b=1) and (jedenastka_p2=0) then
begin
konto_bank:=konto_bank+(2*vsadene_PC2);
prehra_PC2:=1;
end
else if (jedenastka_b=0) and (jedenastka_p1=1) then
begin
konto_PC2:=konto_PC2+(2*vsadene_PC2);
prehra_bank:=1;
end
else if bank>PC_2 then
begin
konto_bank:=konto_bank+(2*vsadene_PC2);
prehra_Pc2:=1;
end
else if bank<PC_2 then
begin
konto_PC2:=konto_PC2+(2*vsadene_PC2);
prehra_bank:=1;
end
else if bank=PC_2 then
begin
konto_bank:=konto_bank+(2*vsadene_PC2);
prehra_PC2:=1;
end;
end;
bar(190,100,420,300);
setcolor(yellow);
outtextxy(275,80,'Vysledky');
setcolor(blue);
line(190,220,420,220);
rectangle(190-1,100-1,420+1,300+1);
rectangle(190-2,100-2,420+2,300+2);
rectangle(192,102,292,122);
rectangle(192,132,292,152);
rectangle(192,162,292,182);
rectangle(192,192,292,212);
rectangle(300,102,330,122);
rectangle(300,132,330,152);
rectangle(300,162,330,182);
rectangle(300,192,330,212);
rectangle(338,102,418,122);
rectangle(338,132,418,152);
rectangle(338,162,418,182);
rectangle(338,192,418,212);
rectangle(250,260,300,298);
rectangle(310,260,360,298);
rectangle(192,228,280,248);
rectangle(288,228,418,248);
setcolor(black);
outtextxy(257,275,'Dalej');
outtextxy(321,275,'Exit');
outtextxy(195,233,'Pocet hier');
str(_hra,prem);
outtextxy(292,233,prem);
outtextxy(195,107,'Hrac');
outtextxy(195,137,'Pocitac I');
outtextxy(195,167,'Pocitac II');
outtextxy(195,197,'Bank');
str(konto_hrac,prem);
outtextxy(341,107,prem);
str(konto_PC1,prem);
outtextxy(341,137,prem);
str(konto_PC2,prem);
outtextxy(341,167,prem);
str(konto_bank,prem);
outtextxy(341,197,prem);
if prehra_hrac=1 then outtextxy(305,107,'-P-')
else outtextxy(305,107,'-V-');
if prehra_PC1=1 then outtextxy(305,137,'-P-')
else outtextxy(305,137,'-V-');
if prehra_PC2=1 then outtextxy(305,167,'-P-')
else outtextxy(305,167,'-V-');
if prehra_bank=1 then outtextxy(305,197,'-P-')
else outtextxy(305,197,'-V-');
koniec:=0;
vyber:=1;
setcolor(green);
rectangle(250,260,300,298);
setcolor(green);
outtextxy(257,275,'Dalej');
repeat
repeat c:=readkey until (c=#13)or(c=#27)or(c='K')or(c='M');
case c of
'M' : begin
vyber:=2;
setcolor(blue);
rectangle(250,260,300,298);
setcolor(red);
rectangle(310,260,360,298);
outtextxy(321,275,'Exit');
setcolor(black);
outtextxy(257,275,'Dalej');
end;
'K' : begin
vyber:=1;
setcolor(green);
rectangle(250,260,300,298);
setcolor(blue);
rectangle(310,260,360,298);
setcolor(green);
outtextxy(257,275,'Dalej');
setcolor(black);
outtextxy(321,275,'Exit');
end;
#13 : koniec:=1;
#27 : begin
koniec:=1;
vyber:=2;
end;
end;
until koniec=1;
if vyber=1 then hra
else nor_koniec;
end;
procedure Help;
var
stopp: string;
text : string;
rychlost : integer;
rych : string;
begin
e:=0;
assign(t,'oko.dat');
reset(t);
repeat
readln(t,stopp);
until stopp='*';
cleardevice;
setcolor(red);
outtextxy(300,1,'HELP');
readln(t,rych);
val(rych,rychlost,err);
if err<>0 then err_koniec;
setcolor(white);
repeat
inc(e);
readln(t,text);
delay(rychlost);
outtextxy(1,20+e*12,text);
if e=16 then delay(0);
until e=19;
setcolor(red);
outtextxy(300,330,'INFO');
setcolor(white);
e:=0;
repeat
inc(e);
readln(t,text);
delay(rychlost);
outtextxy(1,340+e*12,text);
until e=9;
e:=0;
setcolor(red);
outtextxy(265,470,'PRESS ANY KEY');
readkey;
hra;
end;
procedure Credits;
var
stopp: string;
text : string;
begin
e:=0;
assign(t,'oko.dat');
reset(t);
repeat
readln(t,stopp);
until stopp='=';
cleardevice;
setcolor(red);
outtextxy(280,1,'CREDITS');
setcolor(white);
repeat
inc(e);
readln(t,text);
outtextxy(10,40+e*12,text);
until e=26;
setcolor(red);
e:=0;
outtextxy(265,470,'PRESS ANY KEY ');
readkey;
hra;
end;
begin
clrscr;
detectgraph(gd,gm);
initgraph(gd,gm,'');
randomize;
cleardevice;
assign(t,'oko.dat');
reset(t);
repeat
readln(t);
e:=e+1;
until eof(t);
if e<>90 then err_koniec;
e:=0;
cleardevice;
konto_hrac:=random(215)+101;
konto_PC1:=random(200)+151;
konto_PC2:=random(200)+201;
konto_bank:=(konto_PC1)+(konto_PC2)+(konto_hrac)+(random(250)+51);
_hra:=0;
setcolor(green);
rectangle(235,195,375,210);
setcolor(white);
outtextxy(290,150,'MENU');
outtextxy(272,200,'Nova Hra');
outtextxy(260,220,'Info & Help');
outtextxy(277,240,'Credits');
outtextxy(290,260,'Exit');
vyber:=1;
koniec:=0;
repeat
repeat c:=readkey until (c='H')or(c='P')or(c=#13)or(c=#27);
case c of
'P' : begin
if vyber=4 then
begin
vyber:=1;
setcolor(black);
rectangle(235,175+4*19+4,375,190+4*19+4);
setcolor(green);
rectangle(235,175+vyber*19+vyber,375,190+vyber*19+vyber);
end
else vyber:=vyber+1;
setcolor(black);
if vyber=1 then
else rectangle(235,155+vyber*19+vyber,375,170+vyber*19+vyber);
setcolor(green);
rectangle(235,175+vyber*19+vyber,375,190+vyber*19+vyber);
end;
'H' : begin
if vyber=1 then
begin
vyber:=4;
setcolor(black);
rectangle(235,175+1*19+1,375,190+1*19+1);
setcolor(green);
rectangle(235,175+vyber*19+vyber,375,190+vyber*19+vyber);
end
else vyber:=vyber-1;
setcolor(black);
if vyber=4 then
else rectangle(235,195+vyber*19+vyber,375,210+vyber*19+vyber);
setcolor(green);
rectangle(235,175+vyber*19+vyber,375,190+vyber*19+vyber);
end;
#13 : koniec:=1;
#27 : begin
koniec:=1;
vyber:=4;
end;
end;
until koniec=1;
case vyber of
1 : hra;
2 : Help;
3 : Credits;
4 : nor_koniec;
end;
end.