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 SavePal1(Color:Byte);
Begin
  GetPal(Color,Colorbackup1[Color].R,Colorbackup1[Color].G,Colorbackup1[Color].B);
End;
 
 
Procedure SavePal2(Color:Byte);
Begin
  GetPal(Color,Colorbackup2[Color].R,Colorbackup2[Color].G,Colorbackup2[Color].B);
End;
 
 
Procedure Loading;
Var I: Byte;
Begin
  LoadSndFile('daytona.snd',0);
  LoadRawFile('RAWS\yeah1.raw',0,0);
  LoadRawFile('RAWS\horse.raw',0,1);
  LoadRawFile('RAWS\blip1.raw',0,2);
  LoadRawFile('RAWS\police.raw',0,3);
  LoadRawFile('RAWS\yeeha.raw',0,4);
  LoadRawFile('RAWS\fanfare1.raw',0,5);
  LoadRawFile('RAWS\fanfare2.raw',0,6);
  LoadRawFile('RAWS\bullet.raw',0,7);
  LoadRawFile('RAWS\blip2.raw',0,8);
  LoadRawFile('RAWS\blip3.raw',0,9);
  LoadRawFile('RAWS\bonus.raw',0,35);
  LoadRawFile('RAWS\laughter.raw',0,36);
 
  LoadRawFile('RAWS\00.raw',0,10);
  LoadRawFile('RAWS\01.raw',0,11);
  LoadRawFile('RAWS\02.raw',0,12);
  LoadRawFile('RAWS\03.raw',0,13);
  LoadRawFile('RAWS\04.raw',0,14);
  LoadRawFile('RAWS\05.raw',0,15);
  LoadRawFile('RAWS\06.raw',0,16);
  LoadRawFile('RAWS\07.raw',0,17);
  LoadRawFile('RAWS\08.raw',0,18);
  LoadRawFile('RAWS\09.raw',0,19);
  LoadRawFile('RAWS\10.raw',0,20);
  LoadRawFile('RAWS\11.raw',0,21);
  LoadRawFile('RAWS\12.raw',0,22);
  LoadRawFile('RAWS\13.raw',0,23);
  LoadRawFile('RAWS\14.raw',0,24);
  LoadRawFile('RAWS\15.raw',0,25);
  LoadRawFile('RAWS\16.raw',0,26);
  LoadRawFile('RAWS\17.raw',0,27);
  LoadRawFile('RAWS\18.raw',0,28);
  LoadRawFile('RAWS\19.raw',0,29);
  LoadRawFile('RAWS\20.raw',0,30);
  LoadRawFile('RAWS\21.raw',0,31);
  LoadRawFile('RAWS\22.raw',0,32);
  LoadRawFile('RAWS\23.raw',0,33);
  LoadRawFile('RAWS\24.raw',0,34);
 
  LoadDefaultFont(160,0,ColorGreenBright,Buffer[1]);
  LoadDefaultFont(160,20,ColorGreenDark,Buffer[1]);
  LoadDefaultFont(160,40,ColorRedBright,Buffer[1]);
  LoadDefaultFont(160,60,ColorRedDark,Buffer[1]);
 
  WriteText(Buffer[1],160,0,5,5,1,10,10,'loading',Buffer[4]);
  Start_LoadSymbol(54,10,ColorBlack,ColorGreenBright);
 
  LoadGrPage('numbers.gra',0);
  LoadBlok(160,80,0,0,79,15,Buffer[1]);    {BET , BONUS}
  LoadBlok(160,96,0,16,49,22,Buffer[1]);   {CREDIT , VYHRA}
  LoadBlok(160,103,0,24,159,55,Buffer[1]); {MULTIWIN}
  LoadBlok(160,140,0,56,49,83,Buffer[1]);  {WIN + CREDIT text}
 
  LoadGrPage('daytona.gra',0);
  LoadBlok(0,64,0,0,159,23,Buffer[1]);    {PRESS ENTER}
  LoadBlok(0,195,0,195,12,199,Buffer[1]); {MINI SIPKY}
  LoadBlok(160,192,0,24,7,31,Buffer[1]);  {BET + SYMBOL}
  LoadBlok(0,100,0,32,95,71,Buffer[1]);   {HLAVA OREL TMAVA}
  LoadBlok(0,140,0,72,95,111,Buffer[1]);  {HLAVA OREL SVETLA}
  LoadBlok(100,100,96,32,127,47,Buffer[1]); {RISK TMAVY}
  LoadBlok(100,116,96,48,127,63,Buffer[1]); {RISK SVETLY}
  LoadBlok(100,150,96,64,144,79,Buffer[1]); {WIN - TMAVY}
  LoadBlok(100,166,96,80,144,95,Buffer[1]); {WIN - SVETLY}
  LoadBlok(250,0,40,112,72,129,Buffer[1]);  {WIN GAMBLE GREEN SVETLA}
  LoadBlok(210,0,0,112,32,129,Buffer[1]);   {WIN GAMBLE RED SVETLA}
  LoadBlok(250,20,40,136,72,153,Buffer[1]);  {WIN GAMBLE GREEN TMAVA}
  LoadBlok(210,20,0,136,32,153,Buffer[1]);   {WIN GAMBLE RED TMAVA}
  LoadBlok(210,40,80,112,87,143,Buffer[1]);  {MINCOVNIK}
  LoadBlok(220,40,88,112,103,143,Buffer[1]); {MINCE}
  LoadBlok(250,40,88,144,127,177,Buffer[1]); {BANKOVKA 500}
  LoadBlok(250,140,120,112,159,143,Buffer[1]); {BANKOVKA 1000}
 
  LoadBmpFile('daytona.bmp',0,224);
  LoadBitMap(0,0,Buffer[1]);
 
  LoadGrPage('gambler1.gra',0);
  LoadBlok(0,0,0,0,159,23,Buffer[2]);
  LoadBlok(0,48,0,24,79,39,Buffer[2]);
 
  LoadGrPage('gambler2.gra',0);
  LoadBlok(160,0,0,0,159,23,Buffer[2]);
  LoadBlok(80,48,0,24,79,39,Buffer[2]);
 
  LoadGrPage('gambler3.gra',0);
  LoadBlok(0,24,0,0,159,23,Buffer[2]);
  LoadBlok(160,48,0,24,79,39,Buffer[2]);
 
  LoadGrPage('gambler4.gra',0);
  LoadBlok(160,24,0,0,159,23,Buffer[2]);
  LoadBlok(240,48,0,24,79,39,Buffer[2]);
 
  WriteSprite(0,100,0,0,319,63,Buffer[2],Buffer[2]);
  Blok(0,0,319,47,ColorWhite,Buffer[2]);
  WriteSprite(0,0,0,100,319,147,Buffer[2],Buffer[2]);
  Blok(0,100,319,163,ColorBlack,Buffer[2]);
 
  LoadBmpFile('gun.bmp',0,206);
  LoadBitMap(0,64,Buffer[2]);
  LoadBmpFile('plice.bmp',0,190);
  LoadBitMap(64,64,Buffer[2]);
  For I:=0 to 15 do SavePal1(I+206);
  For I:=0 to 15 do SavePal2(I+190);
 
  Stop_LoadSymbol;
  Blok(54,10,56,14,ColorBlack,Buffer[4]);
End;