Výherní automat DAYTONA GAMBLER pro dosbox který stáhnete z domovské stránky dosboxu
Delphi & Pascal (česká wiki)
Category: KMP (Club of young programmers)
Author: Martin Koleček
Program: Daytona.pas, Default.pas, Histher.pas, Jackpot.pas, Loading.pas, Main.pas, Maingame.pas, Misc.pas, Mys.pas, Ovladani.pas
File exe: Gambler.zip
need: Plus1000.pas, Plus500.pas, Prodat.pas, Riskscr.pas, Roll.pas, Rollpre.pas, Rollproc.pas, Rolsetup.pas, Rskdolni.pas, Rskhorni.pas
Example: Saveload.pas, Score.pas, Screen.pas, Servis.pas, Setbet.pas, Testwin.pas, Update5.pas, Waitbtn.pas, Winblink.pas, Wrivalce.pas, Zisky.pas
Author: Martin Koleček
Program: Daytona.pas, Default.pas, Histher.pas, Jackpot.pas, Loading.pas, Main.pas, Maingame.pas, Misc.pas, Mys.pas, Ovladani.pas
File exe: Gambler.zip
need: Plus1000.pas, Plus500.pas, Prodat.pas, Riskscr.pas, Roll.pas, Rollpre.pas, Rollproc.pas, Rolsetup.pas, Rskdolni.pas, Rskhorni.pas
Example: Saveload.pas, Score.pas, Screen.pas, Servis.pas, Setbet.pas, Testwin.pas, Update5.pas, Waitbtn.pas, Winblink.pas, Wrivalce.pas, Zisky.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:
O dosboxu:
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 vechny 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 moné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:
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ě ve 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 vechny 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 moné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;