Výherní automat DAYTONA GAMBLER pro dosbox který stáhnete z domovské stránky dosboxu

Category: KMP (Club of young programmers)
gambler.jpgAuthor: Martin Koleček
Program: Daytona.pasDefault.pasHisther.pasJackpot.pasLoading.pasMain.pasMaingame.pasMisc.pasMys.pasOvladani.pas
File exe: Gambler.zip
need: Plus1000.pasPlus500.pasProdat.pasRiskscr.pasRoll.pasRollpre.pasRollproc.pasRolsetup.pasRskdolni.pasRskhorni.pas
Example: 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:
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 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:
Procedure AddScore(Number: Word);
Var Counter: Byte;
    I: Byte;
    zbytek: Byte;
    SoundCounter: Byte;
 
  Procedure DoDeseti(N: Byte);
  Var A: Byte;
  Begin
    Counter:=0;
    While N>0 do
    Begin
      If Counter<2 then
      Begin
        Inc(Counter);
        TestStopAutoStart;
        If DatRec.PS3=False then Begin
                                   MainGameScreen;
                                   Wait(DatRec.fpsProdleva div 2);
                                 End
                            else Begin
                                   UpdateScore;
                                   Wait(DatRec.fpsProdleva div 5);
                                 End;
      End else
      Begin
        Counter:=0;
        Inc(MultiWin);
        Dec(N);
        Dec(Vyhra.Castka);
        If DatRec.SBEnable=True then SBPlayRaw(15)
                                else PlaySound(5);
        If DatRec.PS3=False then Begin
                                   MainGameScreen;
                                   Wait(DatRec.fpsProdleva);
                                 End
                            else Begin
                                   UpdateScore;
                                   Wait(DatRec.fpsProdleva div 2);
                                 End;
      End;
    End;
  End;
 
Begin
  VyhraShow:=False;
  CreditShow:=False;
 
  For I:=0 to 8 do Btn[I].Blinking:=False;
  For I:=0 to 8 do Btn[I].Phase:=0;
  MainGameScreen;
 
  VyhraShow:=True;
  CreditShow:=False;
  Vyhra.Castka:=Number;
  MainGameScreen;
  For I:=0 to 49 do Wait(DatRec.fpsProdleva);
 
  {prepocitani do multiwinu}
  If Number<=10
  then DoDeseti(Number)
  else Begin
         zbytek:=Number mod 10;
         DoDeseti(zbytek);
         Dec(Number,zbytek);
 
         Counter:=0;
         SoundCounter:=0;
         While Number>0 do
         Begin
           If Counter<2 then
           Begin
             Inc(Counter);
             TestStopAutoStart;
             If DatRec.PS3=False then Begin
                                        MainGameScreen;
                                        Wait(DatRec.fpsProdleva div 2);
                                      End
                                 else Begin
                                        UpdateScore;
                                        Wait(DatRec.fpsProdleva div 5);
                                      End;
           End else
           Begin
             Counter:=0;
             Inc(MultiWin,5);
             Dec(Number,5);
             Dec(Vyhra.Castka,5);
 
             If ((SoundCounter>=0) and (SoundCounter<25)) then
             Begin
               If DatRec.SBEnable=True then SBPlayRaw(15)
                                       else PlaySound(5);
             End;
             If ((SoundCounter>=25) and (SoundCounter<50)) then
             Begin
               If DatRec.SBEnable=True then SBPlayRaw(16)
                                       else PlaySound(6);
             End;
             If ((SoundCounter>=50) and (SoundCounter<75)) then
             Begin
               If DatRec.SBEnable=True then SBPlayRaw(17)
                                       else PlaySound(7);
             End;
             If ((SoundCounter>=75) and (SoundCounter<100)) then
             Begin
               If DatRec.SBEnable=True then SBPlayRaw(12)
                                       else PlaySound(2);
             End;
             If ((SoundCounter>=100) and (SoundCounter<125)) then
             Begin
               If DatRec.SBEnable=True then SBPlayRaw(13)
                                       else PlaySound(3);
             End;
             If ((SoundCounter>=125) and (SoundCounter<=150)) then
             Begin
               If DatRec.SBEnable=True then SBPlayRaw(14)
                                       else PlaySound(4);
             End;
 
             If DatRec.PS3=False then Begin
                                        MainGameScreen;
                                        Wait(DatRec.fpsProdleva div 2);
                                      End
                                 else Begin
                                        UpdateScore;
                                        Wait(DatRec.fpsProdleva div 5);
                                      End;
             If SoundCounter<150 then Inc(SoundCounter);
           End;
         End;
       End;
  VyhraShow:=False;
  CreditShow:=True;
  Vyhra.Castka:=0;
End;