Výherní automat DAYTONA GAMBLER pro dosbox který stáhnete z domovské stránky dosboxu

Delphi & Pascal (česká wiki)
Přejít na: navigace, hledání
Kategória: KMP (Klub mladých programátorov)
gambler.jpgAutor: Martin Koleček
Program: Daytona.pasDefault.pasHisther.pasJackpot.pasLoading.pasMain.pasMaingame.pasMisc.pasMys.pasOvladani.pas
Súbor exe: Gambler.zip
Potrebné: Plus1000.pasPlus500.pasProdat.pasRiskscr.pasRoll.pasRollpre.pasRollproc.pasRolsetup.pasRskdolni.pasRskhorni.pas
Príklady: Saveload.pasScore.pasScreen.pasServis.pasSetbet.pasTestwin.pasUpdate5.pasWaitbtn.pasWinblink.pasWrivalce.pasZisky.pas

Výherní automat podle skutečného stroje Daytona 750. Podporuje Sound Blaster.
Rychlost hry je konfigurovatelná. Experimentálně podporuje ovládání dotykovým displayem pro Androidy.

POZOR:
  • než se objeví hra tak se to načítá poměrně velmi velmi dlouho takže buďte trpěliví
  • pokud nevíte co přesně děláte tak servisní nastavení raději nechte bez povšimnutí
  • reset v servisním nastavení resetuje pouze počítadlo výher a vkladů, ne nastavení hry
  • pokud už jste stačili popřehazovat servisní nastavení a hra je špatně hratelná, tak vymažte soubor GAMBLER.DAT, hra se uvede do "továrního nastavení"

O dosboxu:
  • pokud nevíte a neumíte tak se zeptejte někoho kdo ví a umí nebo si najděte informace o dosboxu na internetu
  • hodnota cycles pro GAMBLERA na PC je tak 10000 až 20000
  • hodnota cycles na mobilních zařízeních (tam používejte legální dosbox turbo) je tak 7000
  • nedávejte cycles max nebo cycles auto, párkrát to zkuste a najděte si správnou přesnou hodnotu
  • hra by neměla kazit zvuk nebo cukat obraz, pokud je cycles nastaveno optimálně v‘e jede hladce
  • DAYTONA GAMBLER je podomácku vyrobený freeware takže ho bezestrachu ‘iřte a ukazujte druhým jak se to hraje
  • totéž dosbox pro PC je freeware, dosbox turbo je komerční ale stojí jen 60 korun tak nebuďte piráti


Nastavení výhernosti:
V servisní obrazovce klávesou TAB měníte switch a nahoru dolů manipupuje s výherností rozsahy jsou 0 až 65000 v‘echny switche a číslo na něm vyrábí poměr mezi dvěma stavy, obvykle to bývá jestli je výhra nebo není výhra a číslo teda dělí na poměr mezi těmito stavy, vždy "0 až číslo" je jedna část, třeba jestli se riskovani povede nebo nepovede a "číslo až 65000" je druhá část možného výsledku. Nakonec rozhodne náhodné číslo z rozsahu "0 až 65535" , ale záleží na poměru na switchi co je pravděpodobněj‘í interval.


SWITCHE:
  • 2kč výhry = šance na výhru ve dvoukorunové hře {RollSetup bet 2, čím menší tím míň výher}
  • 4kč výhry = šance na výhru ve čtyřkorunové hře {RollSetup bet 4, čím menší tím míň výher}
  • 5kč výhry = šance na výhru v pětikorunové hře {RollSetup bet 5, čím menší tím míň výher}
  • 2kč Joker A = pravděpodobnost výsměchu Jokera na dvoukorunové hře {TestWin bet 2J, čím menší tím víc výher}
  • 2kč Joker B = pravděpodobnost zdvojnásobení Jokerem na dvoukorunové hře {TestWin bet 2J, čím menší tím míň výher}
  • 4kč Joker A = pravděpodobnost výsměchu Jokera na čtyřkorunové hře {TestWin bet 4J, čím menší tím víc výher}
  • 4kč Joker B = pravděpodobnost zdvojnásobení Jokerem na čtyřkorunové hře {TestWin bet 4J, čím menší tím míň výher}
  • 5kč Joker = pravděpodobnost zdvojnásobení Jokerem na pětikorunové hře {TestWin bet 5J, čím menší tím míň výher} (na 5kč hře se joker neposmívá)
  • riskovani = šance na zdvojnásobení riskem strany mince při náhodném risku {Risking vyhernost čím menší tím míň výher} (neplatí při risku postřehem; nebo při risku autostartem tam je poměr 1:1)
Procedure MainGameScreen;
Var I: Byte;
    N: Byte;
Begin
  ClearPage(Buffer[3]);
 
  {Button AUTOSTART}
  If Btn[3].Phase=0 then Blok(0,185,62,199,ColorRedDark,Buffer[3])
                    else Blok(0,185,62,199,ColorYellow,Buffer[3]);
  Ramecek(0,185,62,199,ColorGreenDark,Buffer[3]);
  WriteText(Buffer[1],160,20,5,5,1,56,187,'a',Buffer[3]);
  WriteText(Buffer[1],160,20,5,5,1,2,193,'auto start',Buffer[3]);
 
  {Button START}
  If Btn[6].Phase=0 then Blok(64,185,103,199,ColorRedDark,Buffer[3])
                    else Blok(64,185,103,199,ColorYellow,Buffer[3]);
  Ramecek(64,185,103,199,ColorGreenDark,Buffer[3]);
  WriteText(Buffer[1],160,20,5,5,1,97,187,'s',Buffer[3]);
  WriteText(Buffer[1],160,20,5,5,1,66,193,'start',Buffer[3]);
 
  {Button WIN GAMBLE}
  If Btn[1].Phase=0 then Blok(105,185,144,199,ColorRedDark,Buffer[3])
                    else Blok(105,185,144,199,ColorYellow,Buffer[3]);
  Ramecek(105,185,144,199,ColorGreenDark,Buffer[3]);
  WriteText(Buffer[1],160,20,5,5,1,138,187,'w',Buffer[3]);
  WriteText(Buffer[1],160,20,5,5,1,107,193,'win/-',Buffer[3]);
 
  {Button VSADIT}
  If Btn[2].Phase=0 then Blok(146,185,185,199,ColorRedDark,Buffer[3])
                    else Blok(146,185,185,199,ColorYellow,Buffer[3]);
  Ramecek(146,185,185,199,ColorGreenDark,Buffer[3]);
  WriteText(Buffer[1],160,20,5,5,1,179,187,'v',Buffer[3]);
  WriteText(Buffer[1],160,20,5,5,1,148,193,'vsadit',Buffer[3]);
 
  {Button DO MULTIWINU}
  If Btn[0].Phase=0 then Blok(187,185,237,199,ColorRedDark,Buffer[3])
                    else Blok(187,185,237,199,ColorYellow,Buffer[3]);
  Ramecek(187,185,237,199,ColorGreenDark,Buffer[3]);
  WriteText(Buffer[1],160,20,5,5,1,231,187,'m',Buffer[3]);
  WriteText(Buffer[1],160,20,5,5,1,189,193,'multiwin',Buffer[3]);
 
  {Button HLAVA}
  If Btn[4].Phase=0 then Blok(239,185,278,199,ColorRedDark,Buffer[3])
                    else Blok(239,185,278,199,ColorYellow,Buffer[3]);
  Ramecek(239,185,278,199,ColorGreenDark,Buffer[3]);
  WriteText(Buffer[1],160,20,5,5,1,272,187,'h',Buffer[3]);
  WriteText(Buffer[1],160,20,5,5,1,241,193,'hlava',Buffer[3]);
 
  {Button OREL}
  If Btn[5].Phase=0 then Blok(280,185,319,199,ColorRedDark,Buffer[3])
                    else Blok(280,185,319,199,ColorYellow,Buffer[3]);
  Ramecek(280,185,319,199,ColorGreenDark,Buffer[3]);
  WriteText(Buffer[1],160,20,5,5,1,313,187,'o',Buffer[3]);
  WriteText(Buffer[1],160,20,5,5,1,282,193,'orel',Buffer[3]);
 
  {Button VYBRAT CREDIT}
  If Btn[7].Phase=0
  then Begin
         Blok(220,44,270,59,ColorGreenBright,Buffer[3]);
         Ramecek(220,44,270,59,ColorRedDark,Buffer[3]);
         WriteText(Buffer[1],160,60,5,5,1,264,46,'c',Buffer[3]);
         WriteText(Buffer[1],160,60,5,5,1,222,46,'vybrat',Buffer[3]);
         WriteText(Buffer[1],160,60,5,5,1,222,53,'kasu',Buffer[3]);
       End
  else Begin
         Blok(220,44,270,59,ColorGreenDark,Buffer[3]);
         Ramecek(220,44,270,59,ColorRedBright,Buffer[3]);
         WriteText(Buffer[1],160,40,5,5,1,264,46,'c',Buffer[3]);
         WriteText(Buffer[1],160,40,5,5,1,222,46,'vybrat',Buffer[3]);
         WriteText(Buffer[1],160,40,5,5,1,222,53,'kasu',Buffer[3]);
       End;
 
  {Button VYBRAT MULTIWIN}
  If Btn[8].Phase=0 then Blok(220,62,270,76,ColorRedDark,Buffer[3])
                    else Blok(220,62,270,76,ColorYellow,Buffer[3]);
  Ramecek(220,62,270,76,ColorGreenDark,Buffer[3]);
  WriteText(Buffer[1],160,20,5,5,1,264,64,'t',Buffer[3]);
  WriteText(Buffer[1],160,20,5,5,1,222,64,'vybrat',Buffer[3]);
  WriteText(Buffer[1],160,20,5,5,1,222,70,'multiwin',Buffer[3]);
 
  {Blikani Tlacitek}
  For I:=0 to 3 do
  If Btn[I].Blinking=True then
  Begin
    If Btn[I].Counter<3 then Inc(Btn[I].Counter)
                        else Begin
                               Btn[I].Counter:=0;
                               If Btn[I].Phase=0 then Btn[I].Phase:=1
                                                 else Btn[I].Phase:=0;
                             End;
  End;
 
  If Btn[6].Blinking=True then
  Begin
    If Btn[6].Counter<3 then Inc(Btn[6].Counter)
                        else Begin
                               Btn[6].Counter:=0;
                               If Btn[6].Phase=0 then Btn[6].Phase:=1
                                                 else Btn[6].Phase:=0;
                             End;
  End;
 
  For I:=7 to 8 do
  If Btn[I].Blinking=True then
  Begin
    If Btn[I].Counter<7 then Inc(Btn[I].Counter)
                        else Begin
                               Btn[I].Counter:=0;
                               If Btn[I].Phase=0 then Btn[I].Phase:=1
                                                 else Btn[I].Phase:=0;
                             End;
  End;
 
  {DUCHOD}
  OutText(216,32,'Hotovost',Buffer[3]);
  OutNumber(264,33,DatRec.Hotovost,False,Buffer[3]);
  If ((DatRec.Hotovost>=0) and (DatRec.Hotovost<10)) then OutText(272,32,'KŸ',Buffer[3]);
  If ((DatRec.Hotovost>=10) and (DatRec.Hotovost<100)) then OutText(278,32,'KŸ',Buffer[3]);
  If ((DatRec.Hotovost>=100) and (DatRec.Hotovost<1000)) then OutText(284,32,'KŸ',Buffer[3]);
  If ((DatRec.Hotovost>=1000) and (DatRec.Hotovost<10000)) then OutText(290,32,'KŸ',Buffer[3]);
  If ((DatRec.Hotovost>=10000) and (DatRec.Hotovost<100000)) then OutText(296,32,'KŸ',Buffer[3]);
  If ((DatRec.Hotovost>=100000) and (DatRec.Hotovost<1000000)) then OutText(302,32,'KŸ',Buffer[3]);
  If ((DatRec.Hotovost>=1000000) and (DatRec.Hotovost<10000000)) then OutText(307,32,'KŸ',Buffer[3]);
 
  {MINCOVNIK}
  WriteBlok(272,44,210,40,216,79,Buffer[1],Buffer[3]);
  Ramecek(279,42,281,78,ColorCtecka,Buffer[3]);
  If VkladShow=True then WriteSprite(275,44,220,40,243,79,Buffer[1],Buffer[3]);
  If VkladShow2=True then WriteSprite(280,44,250,40,289,79,Buffer[1],Buffer[3]);
  If VkladShow3=True then WriteSprite(280,44,250,140,289,179,Buffer[1],Buffer[3]);
 
  {Dolni Lista Vyher}
  If Lista[0].Enable=True
  then For I:=0 to 9 do WriteSprite(I*32,168,160+I*16,48,160+I*16+15,63,Buffer[2],Buffer[3])
  else For I:=0 to 9 do WriteSprite(I*32,168,I*16,48,I*16+15,63,Buffer[2],Buffer[3]);
 
  If Lista[0].Sazka[0]=True then
  Begin
    WriteNumber(Buffer[1],160,15,5,5,1,16,179,8,Buffer[3]);
    WriteNumber(Buffer[1],160,15,5,5,1,48,179,16,Buffer[3]);
    WriteNumber(Buffer[1],160,15,5,5,1,80,179,24,Buffer[3]);
    WriteNumber(Buffer[1],160,15,5,5,1,112,179,32,Buffer[3]);
    WriteNumber(Buffer[1],160,15,5,5,1,144,179,40,Buffer[3]);
    WriteNumber(Buffer[1],160,15,5,5,1,176,179,80,Buffer[3]);
    WriteNumber(Buffer[1],160,15,5,5,1,208,179,120,Buffer[3]);
    WriteNumber(Buffer[1],160,15,5,5,1,238,179,160,Buffer[3]);
    WriteNumber(Buffer[1],160,15,5,5,1,270,179,200,Buffer[3]);
    WriteNumber(Buffer[1],160,15,5,5,1,302,179,400,Buffer[3]);
    WriteNumber(Buffer[1],160,35,5,5,1,16,169,16,Buffer[3]);
    WriteNumber(Buffer[1],160,35,5,5,1,48,169,24,Buffer[3]);
    WriteNumber(Buffer[1],160,35,5,5,1,80,169,32,Buffer[3]);
    WriteNumber(Buffer[1],160,35,5,5,1,112,169,40,Buffer[3]);
    WriteNumber(Buffer[1],160,35,5,5,1,144,169,80,Buffer[3]);
    WriteNumber(Buffer[1],160,35,5,5,1,176,169,120,Buffer[3]);
    WriteNumber(Buffer[1],160,35,5,5,1,208,169,160,Buffer[3]);
    WriteNumber(Buffer[1],160,35,5,5,1,238,169,200,Buffer[3]);
    WriteNumber(Buffer[1],160,35,5,5,1,270,169,240,Buffer[3]);
    WriteNumber(Buffer[1],160,35,5,5,1,302,169,400,Buffer[3]);
  End;
 
  If Lista[0].Sazka[1]=True then
  Begin
    WriteNumber(Buffer[1],160,35,5,5,1,16,179,8,Buffer[3]);
    WriteNumber(Buffer[1],160,35,5,5,1,48,179,16,Buffer[3]);
    WriteNumber(Buffer[1],160,35,5,5,1,80,179,24,Buffer[3]);
    WriteNumber(Buffer[1],160,35,5,5,1,112,179,32,Buffer[3]);
    WriteNumber(Buffer[1],160,35,5,5,1,144,179,40,Buffer[3]);
    WriteNumber(Buffer[1],160,35,5,5,1,176,179,80,Buffer[3]);
    WriteNumber(Buffer[1],160,35,5,5,1,208,179,120,Buffer[3]);
    WriteNumber(Buffer[1],160,35,5,5,1,238,179,160,Buffer[3]);
    WriteNumber(Buffer[1],160,35,5,5,1,270,179,200,Buffer[3]);
    WriteNumber(Buffer[1],160,35,5,5,1,302,179,400,Buffer[3]);
    WriteNumber(Buffer[1],160,15,5,5,1,16,169,16,Buffer[3]);
    WriteNumber(Buffer[1],160,15,5,5,1,48,169,24,Buffer[3]);
    WriteNumber(Buffer[1],160,15,5,5,1,80,169,32,Buffer[3]);
    WriteNumber(Buffer[1],160,15,5,5,1,112,169,40,Buffer[3]);
    WriteNumber(Buffer[1],160,15,5,5,1,144,169,80,Buffer[3]);
    WriteNumber(Buffer[1],160,15,5,5,1,176,169,120,Buffer[3]);
    WriteNumber(Buffer[1],160,15,5,5,1,208,169,160,Buffer[3]);
    WriteNumber(Buffer[1],160,15,5,5,1,238,169,200,Buffer[3]);
    WriteNumber(Buffer[1],160,15,5,5,1,270,169,240,Buffer[3]);
    WriteNumber(Buffer[1],160,15,5,5,1,302,169,400,Buffer[3]);
  End;
 
  If ((Lista[0].Sazka[0]=False) and (Lista[0].Sazka[1]=False)) then
  Begin
    WriteNumber(Buffer[1],160,35,5,5,1,16,179,8,Buffer[3]);
    WriteNumber(Buffer[1],160,35,5,5,1,48,179,16,Buffer[3]);
    WriteNumber(Buffer[1],160,35,5,5,1,80,179,24,Buffer[3]);
    WriteNumber(Buffer[1],160,35,5,5,1,112,179,32,Buffer[3]);
    WriteNumber(Buffer[1],160,35,5,5,1,144,179,40,Buffer[3]);
    WriteNumber(Buffer[1],160,35,5,5,1,176,179,80,Buffer[3]);
    WriteNumber(Buffer[1],160,35,5,5,1,208,179,120,Buffer[3]);
    WriteNumber(Buffer[1],160,35,5,5,1,238,179,160,Buffer[3]);
    WriteNumber(Buffer[1],160,35,5,5,1,270,179,200,Buffer[3]);
    WriteNumber(Buffer[1],160,35,5,5,1,302,179,400,Buffer[3]);
    WriteNumber(Buffer[1],160,35,5,5,1,16,169,16,Buffer[3]);
    WriteNumber(Buffer[1],160,35,5,5,1,48,169,24,Buffer[3]);
    WriteNumber(Buffer[1],160,35,5,5,1,80,169,32,Buffer[3]);
    WriteNumber(Buffer[1],160,35,5,5,1,112,169,40,Buffer[3]);
    WriteNumber(Buffer[1],160,35,5,5,1,144,169,80,Buffer[3]);
    WriteNumber(Buffer[1],160,35,5,5,1,176,169,120,Buffer[3]);
    WriteNumber(Buffer[1],160,35,5,5,1,208,169,160,Buffer[3]);
    WriteNumber(Buffer[1],160,35,5,5,1,238,169,200,Buffer[3]);
    WriteNumber(Buffer[1],160,35,5,5,1,270,169,240,Buffer[3]);
    WriteNumber(Buffer[1],160,35,5,5,1,302,169,400,Buffer[3]);
  End;
 
  {Horni Lista Vyher}
  If Lista[1].Enable=True
  then For I:=0 to 9 do WriteSprite(I*32,152,160+I*16,48,160+I*16+15,63,Buffer[2],Buffer[3])
  else For I:=0 to 9 do WriteSprite(I*32,152,I*16,48,I*16+15,63,Buffer[2],Buffer[3]);
 
  If Lista[1].Enable=True then
  Begin
    WriteNumber(Buffer[1],160,15,5,5,1,16,157,40,Buffer[3]);
    WriteNumber(Buffer[1],160,15,5,5,1,48,157,40,Buffer[3]);
    WriteNumber(Buffer[1],160,15,5,5,1,80,157,80,Buffer[3]);
    WriteNumber(Buffer[1],160,15,5,5,1,112,157,80,Buffer[3]);
    WriteNumber(Buffer[1],160,15,5,5,1,144,157,120,Buffer[3]);
    WriteNumber(Buffer[1],160,15,5,5,1,176,157,160,Buffer[3]);
    WriteNumber(Buffer[1],160,15,5,5,1,208,157,200,Buffer[3]);
    WriteNumber(Buffer[1],160,15,5,5,1,238,157,300,Buffer[3]);
    WriteNumber(Buffer[1],160,15,5,5,1,270,157,400,Buffer[3]);
    WriteNumber(Buffer[1],160,15,5,5,1,302,157,750,Buffer[3]);
  End;
 
  If Lista[1].Enable=False then
  Begin
    WriteNumber(Buffer[1],160,35,5,5,1,16,157,40,Buffer[3]);
    WriteNumber(Buffer[1],160,35,5,5,1,48,157,40,Buffer[3]);
    WriteNumber(Buffer[1],160,35,5,5,1,80,157,80,Buffer[3]);
    WriteNumber(Buffer[1],160,35,5,5,1,112,157,80,Buffer[3]);
    WriteNumber(Buffer[1],160,35,5,5,1,144,157,120,Buffer[3]);
    WriteNumber(Buffer[1],160,35,5,5,1,176,157,160,Buffer[3]);
    WriteNumber(Buffer[1],160,35,5,5,1,208,157,200,Buffer[3]);
    WriteNumber(Buffer[1],160,35,5,5,1,238,157,300,Buffer[3]);
    WriteNumber(Buffer[1],160,35,5,5,1,270,157,400,Buffer[3]);
    WriteNumber(Buffer[1],160,35,5,5,1,302,157,750,Buffer[3]);
  End;
 
  {DISPLAY WIN + CREDIT}
  Blok(109,141,210,149,ColorBlack,Buffer[3]);
  Ramecek(108,138,211,150,ColorRedBright,Buffer[3]);
  Blok(118,136,138,140,ColorBlack,Buffer[3]);
  WriteText(Buffer[1],160,40,5,5,1,120,136,'win',Buffer[3]);
  Blok(168,136,206,140,ColorBlack,Buffer[3]);
  WriteText(Buffer[1],160,40,5,5,1,170,136,'credit',Buffer[3]);
 
  If VyhraShow=True then
  Begin
    If Vyhra.Castka<10 then WriteNumber(Buffer[1],160,96,5,7,1,130,142,Vyhra.Castka,Buffer[3]);
    If Vyhra.Castka>=100 then WriteNumber(Buffer[1],160,96,5,7,1,120,142,Vyhra.Castka,Buffer[3]);
    If ((Vyhra.Castka>=10) and (Vyhra.Castka<100)) then WriteNumber(Buffer[1],160,96,5,7,1,125,142,Vyhra.Castka,Buffer[3]);
  End;
 
  If CreditShow=True then
  Begin
    If Credit<10 then WriteNumber(Buffer[1],160,96,5,7,1,200,142,Credit,Buffer[3]);
    If ((Credit>=10) and (Credit<100)) then WriteNumber(Buffer[1],160,96,5,7,1,194,142,Credit,Buffer[3]);
    If ((Credit>=100) and (Credit<1000)) then WriteNumber(Buffer[1],160,96,5,7,1,188,142,Credit,Buffer[3]);
    If ((Credit>=1000) and (Credit<10000)) then WriteNumber(Buffer[1],160,96,5,7,1,182,142,Credit,Buffer[3]);
    If ((Credit>=10000) and (Credit<100000)) then WriteNumber(Buffer[1],160,96,5,7,1,176,142,Credit,Buffer[3]);
    If ((Credit>=100000) and (Credit<1000000)) then WriteNumber(Buffer[1],160,96,5,7,1,170,142,Credit,Buffer[3]);
    If ((Credit>=1000000) and (Credit<9999999)) then WriteNumber(Buffer[1],160,96,5,7,1,164,142,Credit,Buffer[3]);
  End;
 
  {DISPLAY MULTIWIN}
  Ramecek(111,5,206,46,ColorRedBright,Buffer[3]);
  Blok(134,3,184,24,ColorBlack,Buffer[3]);
  WriteText(Buffer[1],160,40,5,5,1,136,3,'multiwin',Buffer[3]);
  If MultiWin<10 then WriteNumber(Buffer[1],160,103,16,32,2,187,10,MultiWin,Buffer[3]);
  If ((MultiWin>=10) and (MultiWin<100)) then WriteNumber(Buffer[1],160,103,16,32,2,169,10,MultiWin,Buffer[3]);
  If ((MultiWin>=100) and (MultiWin<1000)) then WriteNumber(Buffer[1],160,103,16,32,2,151,10,MultiWin,Buffer[3]);
  If ((MultiWin>=1000) and (MultiWin<10000)) then WriteNumber(Buffer[1],160,103,16,32,2,133,10,MultiWin,Buffer[3]);
  If ((MultiWin>=10000) and (MultiWin<100000)) then WriteNumber(Buffer[1],160,103,16,32,2,115,10,MultiWin,Buffer[3]);
  If ((MultiWin>=100000) and (MultiWin<1000000)) then WriteNumber(Buffer[1],160,103,16,32,2,115,10,99999,Buffer[3]);
 
  {DISPLAY BONUS}
  Ramecek(239,5,288,29,ColorRedBright,Buffer[3]);
  Blok(248,3,280,24,ColorBlack,Buffer[3]);
  WriteText(Buffer[1],160,40,5,5,1,250,3,'bonus',Buffer[3]);
  If Bonus<10 then WriteNumber(Buffer[1],160,80,8,16,1,278,10,Bonus,Buffer[3]);
  If ((Bonus>=10) and (Bonus<100)) then WriteNumber(Buffer[1],160,80,8,16,1,269,10,Bonus,Buffer[3]);
  If ((Bonus>=100) and (Bonus<1000)) then WriteNumber(Buffer[1],160,80,8,16,1,260,10,Bonus,Buffer[3]);
  If ((Bonus>=1000) and (Bonus<10000)) then WriteNumber(Buffer[1],160,80,8,16,1,251,10,Bonus,Buffer[3]);
  If ((Bonus>=10000) and (Bonus<99999)) then WriteNumber(Buffer[1],160,80,8,16,1,242,10,Bonus,Buffer[3]);
 
  {DISPLAY BET + BETMULTI}
  Ramecek(35,5,77,29,ColorRedBright,Buffer[3]);
  Blok(46,3,65,24,ColorBlack,Buffer[3]);
  WriteText(Buffer[1],160,40,5,5,1,48,3,'bet',Buffer[3]);
  WriteNumber(Buffer[1],160,80,8,16,1,38,10,Bet,Buffer[3]);
  WriteSprite(48,14,160,192,167,199,Buffer[1],Buffer[3]);
  If BetMulti>=10 then WriteNumber(Buffer[1],160,80,8,16,1,58,10,BetMulti,Buffer[3]);
  If ((BetMulti>0) and (BetMulti<10)) then WriteNumber(Buffer[1],160,80,8,16,1,67,10,BetMulti,Buffer[3]);
 
  {VALEC 1}
  Ramecek(107,53,140,126,ColorRedBright,Buffer[3]);
  {VALEC 2}
  Ramecek(143,53,176,126,ColorRedBright,Buffer[3]);
  {VALEC 3}
  Ramecek(179,53,212,126,ColorRedBright,Buffer[3]);
  KresliValce;
 
  {PUMPA X}
  N:=10;
  For I:=0 to 10 do
  Begin
    If N=Nasobic then Blok(7,32+I*8,23,32+I*8+8,ColorRedBright,Buffer[3])
                 else Blok(7,32+I*8,23,32+I*8+8,ColorRedDark,Buffer[3]);
    If Nasobic=0 then Blok(7,32+80,23,32+80+8,ColorRedBright,Buffer[3]);
    If N<10 then WriteNumber(Buffer[1],160,15,5,5,1,13,34+I*8,N,Buffer[3])
            else WriteNumber(Buffer[1],160,15,5,5,1,10,34+I*8,N,Buffer[3]);
    If N>1 then Dec(N) else N:=0;
    Ramecek(7,32+I*8,23,32+I*8+8,ColorGreenBright,Buffer[3]);
  End;
 
  {JACKPOT}
  OutText(26,31,'Jackpot',Buffer[3]);
  OutNumber(75,32,DatRec2.Jackpot,False,Buffer[3]);
  WriteNumber(Buffer[1],160,15,5,5,1,68,34,DatRec2.JackPotCounter,Buffer[3]);
 
  {GUN & PLICE}
  Ramecek(28,42,95,109,ColorRedBright,Buffer[3]);
  Case Obrazek of
    0: WriteBlok(30,44,0,64,63,127,Buffer[2],Buffer[3]);
    1: WriteBlok(30,44,64,64,127,127,Buffer[2],Buffer[3]);
    2: WriteBlok(30,44,64,64,127,127,Buffer[2],Buffer[3]);
    3: WriteBlok(30,44,0,64,63,127,Buffer[2],Buffer[3]);
  End; {Case End}
 
  {HLAVA OREL BLINKING}
  If Risk.Blinking=True then
  Begin
    If Risk.Counter<1 then Inc(Risk.Counter)
                      else Begin
                             Risk.Counter:=0;
                             If Risk.Phase=0 then Begin
                                                    Risk.Phase:=1;
                                                    Hlava.Enable:=False;
                                                    Orel.Enable:=True;
                                                    Btn[4].Phase:=0;
                                                    Btn[5].Phase:=1;
                                                  End
                                             else Begin
                                                    Risk.Phase:=0;
                                                    Hlava.Enable:=True;
                                                    Orel.Enable:=False;
                                                    Btn[4].Phase:=1;
                                                    Btn[5].Phase:=0;
                                                  End;
                           End;
 
  End;
 
  {HLAVA OREL}
  If Risk.Enable=False then
  Begin
    WriteSprite(252,82,100,98,131,115,Buffer[1],Buffer[3]); {RISK TMAVY}
    WriteSprite(220,104,0,100,95,139,Buffer[1],Buffer[3]);  {HLAVA OREL}
  End else
  Begin
    WriteSprite(252,99,100,116,131,131,Buffer[1],Buffer[3]); {RISK SVETLY}
    If Hlava.Enable=True then WriteSprite(220,120,0,140,47,179,Buffer[1],Buffer[3])
                         else WriteSprite(220,120,0,100,47,139,Buffer[1],Buffer[3]);
    If Orel.Enable=True then WriteSprite(268,120,48,140,95,179,Buffer[1],Buffer[3])
                        else WriteSprite(268,120,48,100,95,139,Buffer[1],Buffer[3]);
  End;
 
  {WIN GAMBLE}
  If WinGamble.Enable=False then
  Begin
    WriteSprite(28,114,100,150,132,165,Buffer[1],Buffer[3]); {WIN}
    WriteSprite(74,114,137,150,148,165,Buffer[1],Buffer[3]); { - }
    WriteBlok(30,132,250,20,282,38,Buffer[1],Buffer[3]); {GREEN TMAVA}
    WriteBlok(64,132,210,20,242,38,Buffer[1],Buffer[3]); {RED TMAVA}
  End;
 
  If WinGamble.Enable=True then
  Begin
    If WinGamble.Blinking=False then
    Begin
      WriteSprite(28,114,100,166,132,181,Buffer[1],Buffer[3]); {WIN}
      WriteSprite(74,114,137,166,148,181,Buffer[1],Buffer[3]); { - }
      WriteBlok(30,132,250,0,282,18,Buffer[1],Buffer[3]); {GREEN SVETLA}
      WriteBlok(64,132,210,0,242,18,Buffer[1],Buffer[3]); {RED SVETLA}
    End else
    Begin
      If WinGambleGreen.Enable=True
      then Begin
             WriteSprite(28,114,100,166,132,181,Buffer[1],Buffer[3]);
             WriteBlok(30,132,250,0,282,18,Buffer[1],Buffer[3]);
           End
      else Begin
             WriteSprite(28,114,100,150,132,165,Buffer[1],Buffer[3]);
             WriteBlok(30,132,250,20,282,38,Buffer[1],Buffer[3]);
           End;
      If WinGambleRed.Enable=True
      then Begin
             WriteSprite(74,114,137,166,148,181,Buffer[1],Buffer[3]);
             WriteBlok(64,132,210,0,242,18,Buffer[1],Buffer[3]);
           End
      else Begin
             WriteSprite(74,114,137,150,148,165,Buffer[1],Buffer[3]);
             WriteBlok(64,132,210,20,242,38,Buffer[1],Buffer[3]);
           End;
    End;
  End;
 
  HideMouse;
  WaitRetrace;
  FlipPage(Buffer[3],Buffer[4]);
  ShowMouse;
End;