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 Blinking;
Var I: Byte;
Begin
  If WinConf.Vyhra[1]=True then
  Begin
    For I:=1 to 3 do
    If WinConf.Symbol[I]=0 then WinConf.Symbol[I]:=1
                           else WinConf.Symbol[I]:=0;
  End;
 
  If WinConf.Vyhra[2]=True then
  Begin
    For I:=4 to 6 do
    If WinConf.Symbol[I]=0 then WinConf.Symbol[I]:=1
                           else WinConf.Symbol[I]:=0;
  End;
 
  If WinConf.Vyhra[3]=True then
  Begin
    For I:=7 to 9 do
    If WinConf.Symbol[I]=0 then WinConf.Symbol[I]:=1
                           else WinConf.Symbol[I]:=0;
  End;
 
  If WinConf.Vyhra[4]=True then
  Begin
    If WinConf.Vyhra[1]=False then
    If WinConf.Symbol[1]=0 then WinConf.Symbol[1]:=1
                           else WinConf.Symbol[1]:=0;
    If WinConf.Vyhra[2]=False then
    If WinConf.Symbol[5]=0 then WinConf.Symbol[5]:=1
                           else WinConf.Symbol[5]:=0;
    If WinConf.Vyhra[3]=False then
    If WinConf.Symbol[9]=0 then WinConf.Symbol[9]:=1
                           else WinConf.Symbol[9]:=0;
  End;
 
  If WinConf.Vyhra[5]=True then
  Begin
    If WinConf.Vyhra[3]=False then
    If WinConf.Symbol[7]=0 then WinConf.Symbol[7]:=1
                           else WinConf.Symbol[7]:=0;
    If ((WinConf.Vyhra[2]=False) and (WinConf.Vyhra[4]=False))  then
    If WinConf.Symbol[5]=0 then WinConf.Symbol[5]:=1
                           else WinConf.Symbol[5]:=0;
    If WinConf.Vyhra[1]=False then
    If WinConf.Symbol[3]=0 then WinConf.Symbol[3]:=1
                           else WinConf.Symbol[3]:=0;
  End;
End;
 
 
Procedure KresliBlikani;
Begin
  If WinConf.Symbol[1]=1 then WriteSymbol(108,54+Valec[0].Scroll,Valec[0].Symbol[1],True,0,0,Buffer[3])
                         else WriteSymbol(108,54+Valec[0].Scroll,Valec[0].Symbol[1],False,0,0,Buffer[3]);
  If WinConf.Symbol[2]=1 then WriteSymbol(144,54+Valec[1].Scroll,Valec[1].Symbol[1],True,0,0,Buffer[3])
                         else WriteSymbol(144,54+Valec[1].Scroll,Valec[1].Symbol[1],False,0,0,Buffer[3]);
  If WinConf.Symbol[3]=1 then WriteSymbol(180,54+Valec[2].Scroll,Valec[2].Symbol[1],True,0,0,Buffer[3])
                         else WriteSymbol(180,54+Valec[2].Scroll,Valec[2].Symbol[1],False,0,0,Buffer[3]);
 
  If WinConf.Symbol[4]=1 then WriteSymbol(108,54+Valec[0].Scroll+24,Valec[0].Symbol[2],True,0,0,Buffer[3])
                         else WriteSymbol(108,54+Valec[0].Scroll+24,Valec[0].Symbol[2],False,0,0,Buffer[3]);
  If WinConf.Symbol[5]=1 then WriteSymbol(144,54+Valec[1].Scroll+24,Valec[1].Symbol[2],True,0,0,Buffer[3])
                         else WriteSymbol(144,54+Valec[1].Scroll+24,Valec[1].Symbol[2],False,0,0,Buffer[3]);
  If WinConf.Symbol[6]=1 then WriteSymbol(180,54+Valec[2].Scroll+24,Valec[2].Symbol[2],True,0,0,Buffer[3])
                         else WriteSymbol(180,54+Valec[2].Scroll+24,Valec[2].Symbol[2],False,0,0,Buffer[3]);
 
  If WinConf.Symbol[7]=1 then WriteSymbol(108,54+Valec[0].Scroll+48,Valec[0].Symbol[3],True,0,0,Buffer[3])
                         else WriteSymbol(108,54+Valec[0].Scroll+48,Valec[0].Symbol[3],False,0,0,Buffer[3]);
  If WinConf.Symbol[8]=1 then WriteSymbol(144,54+Valec[1].Scroll+48,Valec[1].Symbol[3],True,0,0,Buffer[3])
                         else WriteSymbol(144,54+Valec[1].Scroll+48,Valec[1].Symbol[3],False,0,0,Buffer[3]);
  If WinConf.Symbol[9]=1 then WriteSymbol(180,54+Valec[2].Scroll+48,Valec[2].Symbol[3],True,0,0,Buffer[3])
                         else WriteSymbol(180,54+Valec[2].Scroll+48,Valec[2].Symbol[3],False,0,0,Buffer[3]);
End;
 
 
Procedure WinBlink;
Var I: Byte;
Begin
  WinConf.Counter1:=0;
  WinConf.Counter2:=0;
  WinConf.Counter3:=0;
  Case WinConf.SoundSet of
    0: If DatRec.RawEnable=True then
       Begin
         If DatRec.SBEnable=True then SBPlayRaw(5)
                                 else PlayRaw(5);
       End;
    9: If DatRec.RawEnable=True then
       Begin
         If DatRec.SBEnable=True then SBPlayRaw(6)
                                 else PlayRaw(6);
       End;
 
    8: If DatRec.RawEnable=True then
       Begin
         If DatRec.SBEnable=True then SBPlayRaw(4)
                                 else PlayRaw(4);
       End;
  End; {Case End}
 
  Repeat
    If DatRec.RawEnable=True then
    Begin
      If ((WinConf.SoundSet>0) and (WinConf.SoundSet<6)) then
      Begin
        If WinConf.Counter2<10 then Inc(WinConf.Counter2)
                               else Begin
                                      WinConf.Counter2:=0;
                                      Case WinConf.SoundSet of
                                        1: If DatRec.SBEnable=True then SBPlayRaw(28)
                                                                   else PlaySound(18);
                                        2: If DatRec.SBEnable=True then SBPlayRaw(28)
                                                                   else PlaySound(18);
                                        3: If DatRec.SBEnable=True then SBPlayRaw(27)
                                                                   else PlaySound(17);
                                        4: If DatRec.SBEnable=True then SBPlayRaw(27)
                                                                   else PlaySound(17);
                                        5: If DatRec.SBEnable=True then SBPlayRaw(29)
                                                                   else PlaySound(19);
                                        6: If DatRec.SBEnable=True then SBPlayRaw(29)
                                                                   else PlaySound(19);
                                      End; {Case End}
                                    End;
      End;
 
      If WinConf.SoundSet=6 then
      Begin
        If WinConf.Counter2<15 then Inc(WinConf.Counter2)
                               else Begin
                                      WinConf.Counter2:=0;
                                      If DatRec.SBEnable=True then SBPlayRaw(8)
                                                              else PlayRaw(8);
                                    End;
      End;
 
      If WinConf.SoundSet=7 then
      Begin
        If WinConf.Counter2<11 then Inc(WinConf.Counter2)
                               else Begin
                                      WinConf.Counter2:=0;
                                      If DatRec.SBEnable=True then SBPlayRaw(3)
                                                              else PlayRaw(3);
                                    End;
      End;
    End else
    Begin
      If WinConf.Counter2<10 then Inc(WinConf.Counter2)
                             else Begin
                                    WinConf.Counter2:=0;
                                    Case WinConf.SoundSet of
                                      1: If DatRec.SBEnable=True then SBPlayRaw(28)
                                                                 else PlaySound(18);
                                      2: If DatRec.SBEnable=True then SBPlayRaw(28)
                                                                 else PlaySound(18);
                                      3: If DatRec.SBEnable=True then SBPlayRaw(27)
                                                                 else PlaySound(17);
                                      4: If DatRec.SBEnable=True then SBPlayRaw(27)
                                                                 else PlaySound(17);
                                      5: If DatRec.SBEnable=True then SBPlayRaw(29)
                                                                 else PlaySound(19);
                                      6: If DatRec.SBEnable=True then SBPlayRaw(29)
                                                                 else PlaySound(19);
                                      7: If DatRec.SBEnable=True then SBPlayRaw(33)
                                                                 else PlaySound(23);
                                      8: If DatRec.SBEnable=True then SBPlayRaw(33)
                                                                 else PlaySound(23);
                                      9: If DatRec.SBEnable=True then SBPlayRaw(34)
                                                                 else PlaySound(24);
                                      0: If DatRec.SBEnable=True then SBPlayRaw(34)
                                                                 else PlaySound(24);
                                    End; {Case End}
                                  End;
    End;
 
    If WinConf.Counter3<2 then Inc(WinConf.Counter3)
                          else Begin
                                 WinConf.Counter3:=0;
                                 Blinking;
                                 KresliBlikani;
                                 FlipPage(Buffer[3],Buffer[4]);
                               End;
    TestStopAutoStart;
    Wait(DatRec.fpsProdleva);
    Inc(WinConf.Counter1);
  Until WinConf.Counter1=199;
  If WinConf.SoundSet=7 then For I:=0 to 79 do Wait(DatRec.fpsProdleva);
  For I:=1 to 5 do WinConf.Vyhra[I]:=False;
  For I:=1 to 9 do WinConf.Symbol[I]:=0;
  If JackPotPadl=True then JackPotWin;
End;