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 TestStopAutoStart;
Var I: Byte;
    textmsg: string;
Begin
  If ((AutoStart=True) and ((AutostartStiskly1=1) or (Key[30]=True))) then
  Begin
    While Key[30]=True do Begin End;
    If AutoStartTyp<3 then Inc(AutoStartTyp)
                      else AutoStartTyp:=1;
    If WinGamble.Enable=True then
    Begin
      textmsg:='autostart off';
      AutoStart:=False;
      AutoStartTyp:=3;
    End else
    Case AutoStartTyp of
     1: textmsg:='autostart b';
     2: textmsg:='autostart c';
     3: Begin textmsg:='autostart off'; AutoStart:=False; End;
    End; {Case End}
    KresliValce;
    Blok(109,141,210,149,ColorBlack,Buffer[3]);
    WriteText(Buffer[1],160,140,5,7,1,120,142,textmsg,Buffer[3]);
    WaitRetrace;
    FlipPage(Buffer[3],Buffer[4]);
    For I:=0 to 24 do Wait(DatRec.fpsProdleva);
  End;
End;
 
 
Procedure TestBetDown;
 
  Procedure DecSound;
  Var I: Byte;
  Begin
    For I:=0 to 9 do Wait(DatRec.fpsProdleva);
    MainGameScreen;
    If DatRec.SBEnable=True
    then Begin
           If DatRec.RawEnable=True then SBPlayRaw(7)
                                    else SBPlayRaw(30);
         End
    else Begin
          If DatRec.RawEnable=True then PlayRaw(7)
                                   else PlaySound(20);
         End;
    For I:=0 to 49 do Wait(DatRec.fpsProdleva);
  End;
 
Begin
  If Credit<Bet then
  Begin
    Bet:=2;
    BetMulti:=0;
    BetCounter:=0;
    Nasobic:=0;
    Lista[1].Enable:=False;
    Lista[0].Enable:=True;
    Lista[0].Sazka[0]:=True;
    Lista[0].Sazka[1]:=False;
    DecSound;
  End;
 
  If MultiWin<BetMulti then
  Begin
    If MultiWin>=95 then BetMulti:=95;
    If ((MultiWin>=85) and (MultiWin<95)) then Begin
                                                 BetMulti:=85;
                                                 Nasobic:=9;
                                                 BetCounter:=10;
                                                 DecSound;
                                               End;
    If ((MultiWin>=75) and (MultiWin<85)) then Begin
                                                 BetMulti:=75;
                                                 Nasobic:=8;
                                                 BetCounter:=9;
                                                 DecSound;
                                               End;
    If ((MultiWin>=65) and (MultiWin<75)) then Begin
                                                 BetMulti:=65;
                                                 Nasobic:=7;
                                                 BetCounter:=8;
                                                 DecSound;
                                               End;
    If ((MultiWin>=55) and (MultiWin<65)) then Begin
                                                 BetMulti:=55;
                                                 Nasobic:=6;
                                                 BetCounter:=7;
                                                 DecSound;
                                               End;
    If ((MultiWin>=45) and (MultiWin<55)) then Begin
                                                 BetMulti:=45;
                                                 Nasobic:=5;
                                                 BetCounter:=6;
                                                 DecSound;
                                               End;
    If ((MultiWin>=35) and (MultiWin<45)) then Begin
                                                 BetMulti:=35;
                                                 Nasobic:=4;
                                                 BetCounter:=5;
                                                 DecSound;
                                               End;
    If ((MultiWin>=25) and (MultiWin<35)) then Begin
                                                 BetMulti:=25;
                                                 Nasobic:=3;
                                                 BetCounter:=4;
                                                 DecSound;
                                               End;
    If ((MultiWin>=15) and (MultiWin<25)) then Begin
                                                 BetMulti:=15;
                                                 Nasobic:=2;
                                                 BetCounter:=3;
                                                 DecSound;
                                               End;
 
    If ((MultiWin>=5) and (MultiWin<15)) then  Begin
                                                 BetMulti:=5;
                                                 Nasobic:=1;
                                                 BetCounter:=2;
                                                 DecSound;
                                               End;
    If MultiWin<5 then Begin
                         BetMulti:=0;
                         Bet:=2;
                         Nasobic:=0;
                         BetCounter:=0;
                         Lista[1].Enable:=False;
                         Lista[0].Enable:=True;
                         Lista[0].Sazka[0]:=True;
                         Lista[0].Sazka[1]:=False;
                         DecSound;
                        End;
  End;
End;
 
 
Function TestRollEnable: Boolean;
Begin
  If ((Credit>=Bet) and (MultiWin>=BetMulti)) then TestRollEnable:=True
                                              else TestRollEnable:=False;
End;