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 MainScreen;
Var I: Byte;
Begin
  ClearPage(Buffer[3]);
 
  Ramecek(0,0,319,199,ColorGreenBright,Buffer[3]);
  WriteBlok(80,40,0,0,159,63,Buffer[1],Buffer[3]);
  Ramecek(78,38,241,105,ColorGreenBright,Buffer[3]);
 
  Ramecek(260,60,300,80,ColorGreenBright,Buffer[3]);
  OutText(266,66,'Bazar',Buffer[3]);
 
  WriteText(Buffer[1],160,0,5,5,1,6,3,'rekord',Buffer[3]);
  WriteNumber(Buffer[1],160,80,8,16,1,10,10,DatRec.HiScore,Buffer[3]);
 
  OutText(6,28,'JACKPOT',Buffer[3]);
  OutNumber(10,38,DatRec2.Jackpot,False,Buffer[3]);
 
  For I:=0 to 60 do WritePixel(4+I,47,ColorGreenBright,Buffer[3]);
 
  WriteText(Buffer[1],160,0,5,5,1,6,50,'hra',Buffer[3]);
  Zisky(27,50,0);
  WriteText(Buffer[1],160,0,5,5,1,6,57,'historie',Buffer[3]);
  For I:=1 to MaxHistorie do Zisky(10,57+(I*7),I);
 
  WriteText(Buffer[1],160,0,5,5,1,268,5,'f10=exit',Buffer[3]);
  WriteText(Buffer[1],160,0,5,5,1,268,170,'p=penize',Buffer[3]);
  WriteText(Buffer[1],160,0,5,5,1,257,180,'o=ovladani',Buffer[3]);
  WriteText(Buffer[1],160,0,5,5,1,268,190,'s=servis',Buffer[3]);
 
  If Fps2s=True then Begin
                       WriteSprite(72,130,0,64,79,87,Buffer[1],Buffer[3]);
                       WriteSprite(168,130,80,64,159,87,Buffer[1],Buffer[3]);
                     End
                else Blok(72,130,247,153,ColorBlack,Buffer[3]);
 
  HideMouse;
  WaitRetrace;
  FlipPage(Buffer[3],Buffer[4]);
  ShowMouse;
End;
 
 
Procedure Main;
Var Ending: Boolean;
    I: Byte;
Begin
  Ending:=False;
  SaveLoad(False); {LOAD rekord}
  SaveLoadHistorie(False); {LOAD historie}
  MainScreen;
  Repeat
    MainScreen;
    Wait(DatRec.fpsProdleva);
 
{Enter} If ((Key[28]=True) or (EnterStiskly1=1)) then
        Begin
          While Key[28]=True do Begin End;
          MainGame;
          DatRec2.Vklad[0]:=VkladyTMP;
          DatRec2.Vyplaceno[0]:=VyplacenoTMP;
          If VyplacenoTMP>VkladyTMP then
          Begin
            If (VyplacenoTMP-VkladyTMP) > DatRec.HiScore
            then DatRec.HiScore:=VyplacenoTMP-VkladyTMP;
            SaveLoad(True);
          End;
        End;
 
{S}     If Key[31]=True then
        Begin
          While Key[31]=True do Begin End;
          Servis;
        End;
 
{O}     If Key[24]=True then
        Begin
          While Key[24]=True do Begin End;
          Ovladani;
        End;
 
{P}     If ((Key[25]=True) or (GetButton3=1) or (PeStiskly1=1)) then
        Begin
          While ((Key[25]=True) or (GetButton3=1) or (PeStiskly1=1)) do Begin End;
          Prodat;
        End;
 
{F10}   If ((Key[68]=True) or (GetButton2=1)) then Ending:=True;
 
  Until Ending=True;
  HistorieHer;
  SaveLoad(True);
  SaveLoadHistorie(True);
  If DatRec.SBEnable=True then ShutdownSB;
End;