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 ResetVyhernosti;
Begin
  {Limit 65535 WORD}
 
  DatRec.Nahoda[0]:=8000;  {RollSetup bet 2, cim mensi tim min vyher}
  DatRec.Nahoda[1]:=25000; {RollSetup bet 4, cim mensi tim min vyher}
  DatRec.Nahoda[2]:=20000; {RollSetup bet 5, cim mensi tim min vyher}
 
  DatRec.Nahoda[3]:=18000; {TestWin bet 2J, cim mensi tim vic vyher}
  DatRec.Nahoda[4]:=47000; {TestWin bet 2J, cim mensi tim min vyher}
 
  DatRec.Nahoda[5]:=24000; {TestWin bet 4J, cim mensi tim vic vyher}
  DatRec.Nahoda[6]:=40000; {TestWin bet 4J, cim mensi tim min vyher}
 
  DatRec.Nahoda[7]:=48000; {TestWin bet 5J, cim mensi tim min vyher}
 
  DatRec.Nahoda[8]:=34000; {Risking vyhernost cim mensi tim min vyher}
End;
 
 
Procedure SaveLoad(Save: Boolean);
Var I: Byte;
Begin
  FindFirst('gambler.dat',Archive,DirInfo);
  Case DosError Of
  0: Begin {OK -> LOAD or SAVE}
       Assign(F,'gambler.dat');
       If Save=True then Begin {SAVE}
                           ReWrite(F,1);
                           BlockWrite(F,DatRec,SizeOf(DatRec));
                         End
                    else Begin {LOAD}
                           Reset(F,1);
                           BlockRead(F,DatRec,SizeOf(DatRec))
                         End;
       Close(F);
     End;
 18: Begin {Not found -> Create new}
       Assign(F,'gambler.dat');
       ReWrite(F,1);
 
       DatRec.fpsProdleva:=15;
       DatRec.RollSpeed:=1;
       DatRec.RawEnable:=True;
       DatRec.HiScore:=0;
       DatRec.Pub.Vklady:=0;
       DatRec.Pub.Vyplaceno:=0;
       DatRec.SBEnable:=True;
       DatRec.PS3:=True;
       DatRec.Hotovost:=0;
       For I:=0 to 13 do Begin
                           DatRec.vec[I]:=True;
                           VecProdata[I]:=False;
                         End;
       ResetVyhernosti;
       DatRec.NahodnyRisk:=True;
       BlockWrite(F,DatRec,SizeOf(DatRec));
       Close(F);
     End;
  End; {Case End}
End;
 
 
Procedure SaveLoadHistorie(Save: Boolean);
Var I: Byte;
Begin
  FindFirst('gambler.sav',Archive,DirInfo);
  Case DosError Of
  0: Begin {OK -> LOAD or SAVE}
       Assign(F,'gambler.sav');
       If Save=True then Begin {SAVE}
                           ReWrite(F,1);
                           BlockWrite(F,DatRec2,SizeOf(DatRec2));
                         End
                    else Begin {LOAD}
                           Reset(F,1);
                           BlockRead(F,DatRec2,SizeOf(DatRec2))
                         End;
       Close(F);
     End;
 18: Begin {Not found -> Create new}
       Assign(F,'gambler.sav');
       ReWrite(F,1);
       For I:=0 to MaxHistorie do Begin
                                    DatRec2.Vklad[I]:=0;
                                    DatRec2.Vyplaceno[I]:=0;
                                  End;
       DatRec2.JackPot:=0;
       DatRec2.JackPotCounter:=9;
       BlockWrite(F,DatRec2,SizeOf(DatRec2));
       Close(F);
     End;
  End; {Case End}
End;