WOO logo

Kysy velholta -palstan 125 lisäys

Hei Michael,

13. joulukuuta 2004 julkaistussa kolumnissasi oli kysymys siitä, miten voitot määräytyvät, ja annoit siihen oikeudenmukaisen vastauksen. Se ei kuitenkaan käsittele kysymystä siitä, miten voitot käsiteltäisiin ei-mekaanisessa koneessa, ja veikkaan, että mekaanisia ja ei-mekaanisia koneita käsitellään nykyään sisäisesti samalla tavalla. Voin antaa vastauksen tekemäni toteutuksen perusteella järjestelmästä, joka mahdollistaa mielivaltaisten peliautomaattien määrittämisen. En osaa sanoa, toimiiko IGT näin, vaikka olisinkin yllättynyt, jos se olisi huomattavasti erilainen kuin tämä.

Tästä tulee luultavasti melko pitkä, joten jos haluat lähettää sen edelleen alkuperäiselle kysymyksen esittäjälle, sekin käy. Tai jos haluat laittaa sen verkkosivustollesi, sekin käy. Tai jos haluat lisätietoja sen laittamisesta verkkosivustollesi, selitän tätä mielelläni lisää.

Yksinkertaisuuden vuoksi jätän huomiotta virtuaalisten pyörien hieman monimutkaisevan tekijän; mutta se ei johdu siitä, että ne olisivat liian monimutkaisia, vaan siitä, että ne tekevät keskustelusta entistäkin pidemmän.

Ensin hieman terminologiaa:

symbolit: Kauniit kuvat, jotka näkyvät pyörissä

Kyseiselle koneelle meillä on joukko symboleja:

{ Punainen seitsemän, Valkoinen seitsemän, Sininen seitsemän, 
 Punaiset palkit, valkoiset palkit, siniset palkit, 
 Tyhjät kohdat}

Lyhennän nämä seuraavasti:

{ R7, W7, B7, RB, WB, BB, B }

näyttöalue: Peliautomaatin näkyvä osa.

Mainitun punaisen/valkoisen/sinisen koneen tapauksessa, jos se on se kone, joksi sen luulen, näyttöalue on kolme (3) riviä ja kolme (3) saraketta. Tämä merkitään näyttöalueen kokoiseksi [3, 3].

Näkymäikkuna näyttää tältä; koordinaatit näkyvät kussakin kohdassa: Pyörä 0 Pyörä 1 Pyörä 2
Rivi 0 [0, 0] [1, 0] [2, 0]
Rivi 1 [0, 1] [1, 1] [2, 1]
Rivi 2 [0, 2] [1, 2] [2, 2]

voittolinja: Voittosymbolin osumien koordinaatit näyttöruudussa.

Kyseisessä koneessa oletamme, että voittolinjoja on vain yksi, näyttöruudun keskimmäinen rivi.

Voimme esittää tämän [x, y] -koordinaattien joukkona:

{[0, 1], [1, 1], [2, 1]} <- [3, 3] -näkymän keskimmäinen rivi

voitto: Voittoyhdistelmästä palautettujen kolikoiden määrä.

Voitot perustuvat usein pelattujen kolikoiden määrään. Tässä tapauksessa oletamme, että vain yksi kolikko voidaan pelata, joten jokaisesta voittoyhdistelmästä on vain yksi voitto.

Oletetaan siis, että {R7, W7, B7} -käskyjen voitto on 500 kolikkoa, kun yksi kolikko pelataan; tässä tapauksessa voitto olisi:

{ 1, 500, [R7, W7, B7] }

Ensimmäinen kohta on pelattujen kolikoiden määrä, toinen on maksettavien kolikoiden määrä ja kolmas symbolit, jotka tuottavat kyseisen voiton.

pyörän asento: Näkymäikkunan ylimmän rivin pyörän pysäytysnumero.

Alkuperäinen kysely osoitti, että fyysisillä pyörillä voittopysähdykset vaihtoehdoille [R7, W7, B7] olivat [8, 8, 8]. Oletetaan, että pysäkki numero 7 on välittömästi ennen pysäkkiä numero 8. Oletetaan myös, että pysäkki 9 seuraa välittömästi pysäkkiä 8 fyysisillä pyörillä.

Yllä olevan näkymäikkunan perusteella voidaan nähdä, miltä se näyttäisi voittavalla yhdistelmällä [R7, W7, B7]:

 Pyörä 0 Pyörä 1 Pyörä 2 
 Rivi 0 pysäkki 7/?? pysäkki 7/?? pysäkki 7/??
 Rivi 1 pysähdys 8/R7 pysähdys 8/W7 pysähdys 8/B7
 Rivi 2 pysäkki 9/?? pysäkki 9/?? pysäkki 9/??

Okei, nyt meillä on pohja sille, miten voittoyhdistelmä voidaan määrittää lennossa pyörien symbolien, pyörien sijaintien, voittolinjojen ja voittojen perusteella.

Muista, että kaikki nykyajan peliautomaatit ovat tietokoneita – vaikka ne ovatkin mekaanisia, sisäisesti ne ovat vain tietokoneita, jotka suorittavat ohjelmaa, joten voimme kuvitella, miten ohjelma saattaisi toimia:

  1. Pelaaja laittaa kolikon ja aloittaa pyöräytyksen.
  2. Peliautomaattiohjelma luo 3 satunnaislukua pyörien sijainnin määrittämiseksi.
  3. [pyörät pyörivät]
  4. Täytä näkymä pyörissä näkyvillä symboleilla.
  5. Maksun täsmäytys tapahtuu.
  6. Maksetaan vastaavat voitot.
  7. Vaahdota. Huuhtele. Toista.

Vaihe 5 on näennäisen hankala osuus, joka on alkuperäisen kysymyksen ydin. Mutta muista, että meillä on apunamme voittolinjat, voitot ja näyttöruudun sisältö. Näiden työkalujen avulla voittoyhdistelmien määrittäminen on todella helppoa.

Esimerkkimme perusteella meillä on seuraavaa:

näkymä: Pyörä 0Pyörä 1Pyörä 2
Rivi 0 pysäkki 7/?? pysäkki 7/?? pysäkki 7/??
Rivi 1 pysähdys 8/R7 pysähdys 8/W7 pysähdys 8/B7
Rivi 2 pysäkki 9/?? pysäkki 9/?? pysäkki 9/??

Voittolinja: {[0, 1], [1, 1], [2, 1]}
Maksu:{1 500, [R7, W7, B7] }

Peliautomaattiohjelma hakee symbolit näyttöruudun voittolinjan koordinaateista:

voittolinjan koordinaattinäkymätiedot
{[0, 1], [1, 1], [2, 1]} == [8/R7, 8/W7, 8/B7]

Ja sitten se vertaa niitä voittoon liittyviin symboleihin:

näkymäportin datan maksutiedot
[8/R7, 8/W7, 8/B7] == { 1, 500, [R7, W7, B7] } ?

Jos kortti täsmää, voittosumma myönnetään. Jos ei, peli odottaa pelaajan lisäävän uuden kolikon.

Kaiken tämän taian avain on voittolinjojen koordinaattitaulukko ja voittojen taulukko – jokainen pyöräytys sovitetaan voittajille lennossa.

Ja tämä kaikki on *hyvin*, *hyvin* nopeasti.

Käyttäen kolikkopelien määritysjärjestelmääni olen toteuttanut Wizard of Odds Fruit -kolikkopelin konseptin toimivuuden varmistamiseksi ja järkevyystarkastuksena varmistaakseni, että todellinen voittosumma (järjestelmäni tuottama) on oikea useiden simulaatioiden jälkeen.

Pystyn simuloimaan 10 miljoonaa kiekon pyörähdystä noin 10–12 sekunnissa (3,2 GHz:n Dell Inspiron 9100).

Se on 833 333 peliautomaattipyöräytystä sekunnissa, paljon nopeammin kuin voisit ikinä toivoa painavasi PYÖRÄYTÄ-nappia!

Jos alkuperäinen kysyjä tai joku muu haluaa lisätietoja, hän voi ottaa minuun suoraan yhteyttä osoitteeseen ***, mutta älkää laittako sähköpostiosoitettani verkkosivustollenne. - TH