Výherní automat DAYTONA GAMBLER pro dosbox který stáhnete z domovské stránky dosboxu
Delphi & Pascal (česká wiki)
Kategória: KMP (Klub mladých programátorov)
Autor: Martin Koleček
Program: Daytona.pas, Default.pas, Histher.pas, Jackpot.pas, Loading.pas, Main.pas, Maingame.pas, Misc.pas, Mys.pas, Ovladani.pas
Súbor exe: Gambler.zip
Potrebné: Plus1000.pas, Plus500.pas, Prodat.pas, Riskscr.pas, Roll.pas, Rollpre.pas, Rollproc.pas, Rolsetup.pas, Rskdolni.pas, Rskhorni.pas
Príklady: Saveload.pas, Score.pas, Screen.pas, Servis.pas, Setbet.pas, Testwin.pas, Update5.pas, Waitbtn.pas, Winblink.pas, Wrivalce.pas, Zisky.pas
Autor: Martin Koleček
Program: Daytona.pas, Default.pas, Histher.pas, Jackpot.pas, Loading.pas, Main.pas, Maingame.pas, Misc.pas, Mys.pas, Ovladani.pas
Súbor exe: Gambler.zip
Potrebné: Plus1000.pas, Plus500.pas, Prodat.pas, Riskscr.pas, Roll.pas, Rollpre.pas, Rollproc.pas, Rolsetup.pas, Rskdolni.pas, Rskhorni.pas
Príklady: 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 ServisScreen; Var C: LongInt; I: Byte; Begin ClearPage(Buffer[3]); Ramecek(0,0,319,199,ColorGreenBright,Buffer[3]); WriteText(Buffer[1],160,0,5,5,1,222,5,'tab esc=exit',Buffer[3]); Ramecek(5,7,200,62,ColorGreenBright,Buffer[3]); WriteText(Buffer[1],160,0,5,5,1,10,12,'vklady =',Buffer[3]); WriteText(Buffer[1],160,0,5,5,1,10,22,'vyplaceno =',Buffer[3]); WriteText(Buffer[1],160,0,5,5,1,10,32,'gambler =',Buffer[3]); WriteNumber(Buffer[1],160,15,5,5,1,78,12,DatRec.Pub.Vklady,Buffer[3]); WriteNumber(Buffer[1],160,15,5,5,1,78,22,DatRec.Pub.Vyplaceno,Buffer[3]); WriteText(Buffer[1],160,0,5,5,1,10,42,'e = reset historie her',Buffer[3]); WriteText(Buffer[1],160,0,5,5,1,10,52,'r = reset vklady/vyplaceno',Buffer[3]); Ramecek(5,67,200,92,ColorGreenBright,Buffer[3]); WriteText(Buffer[1],160,0,5,5,1,10,72,'prodleva',Buffer[3]); WriteSprite(60,72,0,195,4,199,Buffer[1],Buffer[3]); For C:=1 to 50 do WritePixel(66+C,74,ColorGreenBright,Buffer[3]); WriteSprite(119,72,5,195,9,199,Buffer[1],Buffer[3]); WriteSprite(66+DatRec.fpsProdleva,72,10,195,12,199,Buffer[1],Buffer[3]); WriteNumber(Buffer[1],160,15,5,5,1,127,72,DatRec.fpsProdleva,Buffer[3]); WriteText(Buffer[1],160,0,5,5,1,10,82,'l = rychlost =',Buffer[3]); WriteNumber(Buffer[1],160,15,5,5,1,97,82,DatRec.RollSpeed+1,Buffer[3]); Ramecek(5,97,200,122,ColorGreenBright,Buffer[3]); WriteText(Buffer[1],160,0,5,5,1,10,102,'p = zvuky raw =',Buffer[3]); If DatRec.RawEnable=True then WriteText(Buffer[1],160,0,5,5,1,105,102,'povoleno',Buffer[3]) else WriteText(Buffer[1],160,0,5,5,1,105,102,'zakazano',Buffer[3]); WriteText(Buffer[1],160,0,5,5,1,10,112,'b = sound blaster =',Buffer[3]); If DatRec.SBEnable=True then WriteText(Buffer[1],160,0,5,5,1,127,112,'povoleno',Buffer[3]) else WriteText(Buffer[1],160,0,5,5,1,127,112,'zakazano',Buffer[3]); Ramecek(5,127,200,142,ColorGreenBright,Buffer[3]); WriteText(Buffer[1],160,0,5,5,1,10,132,'s = cpu speed up =',Buffer[3]); If DatRec.PS3=True then WriteText(Buffer[1],160,0,5,5,1,122,132,'povoleno',Buffer[3]) else WriteText(Buffer[1],160,0,5,5,1,122,132,'zakazano',Buffer[3]); Ramecek(5,147,200,162,ColorGreenBright,Buffer[3]); WriteText(Buffer[1],160,0,5,5,1,10,152,'n = reset majetku',Buffer[3]); Zisky(78,32,255); For I:=0 to 8 do Begin Ramecek(210,(I*20)+15,317,(I*20)+30,ColorGreenBright,Buffer[3]); OutNumber(280,(I*20)+19,DatRec.Nahoda[I],False,Buffer[3]); End; Ramecek(212,(VyhernostKurzor*20)+17,315,(VyhernostKurzor*20)+28,ColorRedBright,Buffer[3]); OutText(214,18,'2kc vyhry',Buffer[3]); OutText(214,38,'4kc vyhry',Buffer[3]); OutText(214,58,'5kc vyhry',Buffer[3]); OutText(214,78,'2kc jokerA',Buffer[3]); OutText(214,98,'2kc jokerB',Buffer[3]); OutText(214,118,'4kc jokerA',Buffer[3]); OutText(214,138,'4kc jokerB',Buffer[3]); OutText(214,158,'5kc joker',Buffer[3]); OutText(214,178,'riskovani',Buffer[3]); Ramecek(5,167,200,182,ColorGreenBright,Buffer[3]); WriteText(Buffer[1],160,0,5,5,1,10,172,'h = hlava orel =',Buffer[3]); If DatRec.NahodnyRisk=True then WriteText(Buffer[1],160,0,5,5,1,110,172,'nahoda',Buffer[3]) else WriteText(Buffer[1],160,0,5,5,1,110,172,'postreh',Buffer[3]); Ramecek(5,186,200,196,ColorGreenBright,Buffer[3]); WriteText(Buffer[1],160,0,5,5,1,10,189,'m = reset vyhernosti',Buffer[3]); HideMouse; WaitRetrace; FlipPage(Buffer[3],Buffer[4]); ShowMouse; End; Procedure Servis; Var Ending: Boolean; I: Byte; Begin Ending:=False; VyhernostKurzor:=0; ServisScreen; Repeat ServisScreen; Wait(DatRec.fpsProdleva); {TAB} If Key[15]=True then Begin While Key[15]=True do WaitButton(15); If VyhernostKurzor<8 then Inc(VyhernostKurzor) else VyhernostKurzor:=0; End; {Up} If Key[72]=True then Begin While Key[72]=True do WaitButton(72); If DatRec.Nahoda[VyhernostKurzor]<65000 then Inc(DatRec.Nahoda[VyhernostKurzor],1000) else DatRec.Nahoda[VyhernostKurzor]:=65000; End; {Down} If Key[80]=True then Begin While Key[80]=True do WaitButton(80); If DatRec.Nahoda[VyhernostKurzor]>0 then Dec(DatRec.Nahoda[VyhernostKurzor],1000) else DatRec.Nahoda[VyhernostKurzor]:=0; End; {Left} If Key[75]=True then Begin While Key[75]=True do WaitButton(75); If DatRec.fpsProdleva>1 then Dec(DatRec.fpsProdleva) End; {Right} If Key[77]=True then Begin While Key[77]=True do WaitButton(77); If DatRec.fpsProdleva<48 then Inc(DatRec.fpsProdleva) End; {R} If Key[19]=True then Begin While Key[19]=True do Begin End; DatRec.Pub.Vklady:=0; DatRec.Pub.Vyplaceno:=0; If DatRec.SBEnable=True then SBPlayRaw(11) else PlaySound(1); End; {E} If Key[18]=True then Begin While Key[18]=True do Begin End; For I:=0 to 24 do Begin DatRec2.Vklad[I]:=0; DatRec2.Vyplaceno[I]:=0; End; SaveLoadHistorie(True); {SAVE} If DatRec.SBEnable=True then SBPlayRaw(11) else PlaySound(1); End; {L} If Key[38]=True then Begin While Key[38]=True do Begin End; If DatRec.RollSpeed<4 then Inc(DatRec.RollSpeed) else DatRec.RollSpeed:=0; If DatRec.SBEnable=True then SBPlayRaw(11) else PlaySound(1); End; {P} If Key[25]=True then Begin While Key[25]=True do Begin End; If DatRec.RawEnable=True then DatRec.RawEnable:=False else DatRec.RawEnable:=True; If DatRec.SBEnable=True then SBPlayRaw(11) else PlaySound(1); End; {B} If Key[48]=True then Begin While Key[48]=True do Begin End; If DatRec.SBEnable=True then Begin DatRec.SBEnable:=False; End else Begin DatRec.SBEnable:=True; End; If DatRec.SBEnable=True then SBPlayRaw(11) else PlaySound(1); End; {S} If Key[31]=True then Begin While Key[31]=True do Begin End; If DatRec.PS3=True then DatRec.PS3:=False else DatRec.PS3:=True; If DatRec.SBEnable=True then SBPlayRaw(11) else PlaySound(1); End; {N} If Key[49]=True then Begin While Key[49]=True do Begin End; DatRec.Hotovost:=0; For I:=0 to 13 do Begin DatRec.vec[I]:=True; VecProdata[I]:=False; End; If DatRec.SBEnable=True then SBPlayRaw(11) else PlaySound(1); End; {M} If Key[50]=True then Begin While Key[50]=True do Begin End; ResetVyhernosti; If DatRec.SBEnable=True then SBPlayRaw(11) else PlaySound(1); End; {H} If Key[35]=True then Begin While Key[35]=True do Begin End; If DatRec.NahodnyRisk=True then DatRec.NahodnyRisk:=False else DatRec.NahodnyRisk:=True; If DatRec.SBEnable=True then SBPlayRaw(11) else PlaySound(1); End; {Esc} If ((Key[1]=True) or (GetButton2=1)) then Begin While Key[1]=True do Begin End; While GetButton2=1 do Begin End; Ending:=True; End; Until Ending=True; SaveLoad(True); {SAVE} End;