Program na hratie hry oko s počítačom
Author: Ján Benkovič
web: www.tbteacher.host.sk
Program: Oko.pas
File exe: Oko.exe
need: Oko.dat
Po začatí hry sa zobrazia karty. Vľavo hore je karta hráča, pravo hore je obrátená karta počítača, vľavo dole je tiež obrátená karta počítača 2 a vpravo dole je miesto pre karty banku. V strede je kopa a vrchná karta je obrátená. Pri každej katre sa nachádzajú kontá a vsadené čiastky hráčov.
Po odklepnutí si hráč môže vsadiť. Pri nesprávnom zadaní vsadenej čiatky, alebo po odklepnutí bez napísania nejakej čiastky sa program sám vypne. Maximálna hodnota vsadenia je určená buď hráčovým kontom, alebo kontom Banku, ktoré sa delí 3 aby každý hráč mohol vsadit rovnakú čiastku. Po vsadení program čaká na stlačenie 'a' alebo 'n' pre ťahanie ďalšej karty, alebo prestanie ťahania. Po stopnutí ťahania pokračuje hráč stláčaním akejkoľvek klávesy. Teraz si potiahne počítač a Bank.
Nakoniec hra vyhodnotí kto vyhral a máte možnosť buď pokračovať, alebo hru ukončiť 'Esc', alebo kliknutím na koniec. Hra bude pokračovať pokiaľ niekto z hráčov nedosiahne nulu, alebo bank bude mať nulu. Ostatná časť hry ostáva rovnaká ako pri normálnom OKU.
Pri tejto verzii sa vynechali veci ako ČERVENÁ SEDMA a TRI SEDMIČKY, ktoré môžu byť neskôr dodané navyše v novších verziách.
{ 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 } uses crt,graph; type pole = array [1..32] of byte; var gd,gm : integer; pp,bb,e,g,pom : byte; koef_miesania :integer; k,a,err: integer; pom_hrac : byte; pom_PC1 : byte; pom_PC2 : byte; pom_bank : byte; PC1_karty,PC2_karty,karty : pole; c: char; aa,l,prem1,prem,karta : string; vsad_PC1: string; vsad_PC2: string; vsad_hrac: string; t: text; q,vrch,koniec,bank,hrac,PC_1,PC_2 : byte; jedenastka_h: byte; jedenastka_p1: byte; jedenastka_p2: byte; jedenastka_b: byte; OldPattern : FillPatternType; konto_hrac : longint; konto_PC1 : longint; konto_PC2 : longint; konto_bank : longint; o: integer; vsadene_PC1: longint; vsadene_PC2: longint; vsadene_hrac: longint; max_vsad: longint; p1,p2,p3 : byte; prehra_hrac,prehra_PC1,prehra_PC2,prehra_bank : byte; _hra : byte; vyber: byte; 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.