Tällä sivulla
Peliautomaatti (salattu)
Tällä sivulla
Johdanto
Tämä sivu selittää, miten tietty kolikkopeli toimii salatun reilun pelin prosessin mukaisesti. Loppujen lopuksi kaikkien kolikkopelien tulos perustuu satunnaislukujen arvontaan. Salattujen pelien tapauksessa satunnaisluvut perustuvat pitkään satunnaisten merkkien sarjaan.
Todistettavasti Reilut Kasinot
Analyysi
Crypto.Games-sivustolla pelattavan kolikkopelin tapauksessa kyseessä on melko yksinkertainen peli. Se on viiden kiekon ja yhden linjan peli. Pelaajan on panostettava 10 krediittiä. Pelaaja päättää, kuinka paljon 10 krediittiä on arvoltaan. Jokaisella kiekolla on kahdeksan eri symbolia: omena, banaani, kirsikka, viinirypäleet, mansikka, appelsiini, Bitcoin ja persikka. Kunkin kiekon tulos on riippumaton muista kiekoista.
Seuraava on Crypto.Games-kolikkopelin voittotaulukko. Symbolien sijainnilla ei ole koskaan merkitystä. Esimerkiksi, jos pelaaja saa kaksi Bitcoin-symbolia, hänelle maksetaan riippumatta siitä, missä ne ovat voittolinjalla. Kaikki voitot ovat "yhdelle" -periaatteella. Jos saat neljä samanlaista hedelmää ja yhden bitcoinin, oletan, että pelaajalle maksetaan vain suuremmasta voitosta, nelosista, vaikka pelin ohjetiedosto ei käsittele tätä tilannetta.
Maksutaulukko
Tapahtuma | Maksaa |
---|---|
Viisi bitcoinia | 10000 |
Viisi samanlaista | 1500 |
Neljä bitcoinia | 700 |
Neloset | 100 |
Kolme bitcoinia | 70 |
Kaksi bitcoinia | 25 |
Yksi bitcoin | 11 |
Pelianalyysi
Mielestäni Crypto.Games-kolikkopelin oli tarkoitus toimia siten, että jokaisella symbolilla olisi sama painoarvo eli mahdollisuus. Jos tämä pitäisi paikkansa, seuraava taulukko näyttää analyysini. Tuotto-sarake on (voitto)*(todennäköisyys)/10. Syy jakamiseen kymmenellä on se, että pelaajan on panostettava kymmenen krediittiä. Oikeassa alakulmassa näkyy 98,03 %:n tuotto.
Palautustaulukko — Tasainen painotus
Tapahtuma | Maksaa | Yhdistelmät | Todennäköisyys | Palata |
---|---|---|---|---|
Viisi bitcoinia | 10 000 | 1 | 0,000031 | 0,030518 |
Viisi samanlaista | 1 500 | 7 | 0.000214 | 0,032043 |
Neljä bitcoinia | 700 | 35 | 0,001068 | 0,074768 |
Neloset | 100 | 245 | 0,007477 | 0,074768 |
Kolme bitcoinia | 70 | 490 | 0,014954 | 0.104675 |
Kaksi bitcoinia | 25 | 3 430 | 0.104675 | 0,261688 |
Yksi bitcoin | 11 | 11 970 | 0,365295 | 0.401825 |
Häviäjä | - | 16 590 | 0,506287 | 0.000000 |
Kokonais | 32 768 | 1.000000 | 0.980286 |
Reilun pelaamisen prosessi kuitenkin toimii siten, että joillakin symboleilla on suurempi painotus kuin toisilla. Tarkemmin sanottuna omenalla, banaanilla, kirsiikalla, viinirypäleillä ja mansiikalla on kukin 26 painoa, kun taas appelsiinilla, Bitcoinilla ja persikalla on 25 painoa. Todennäköisyys sille, että kiekko pysähtyy mihin tahansa symboliin, on verrannollinen sen painoon. Suuri osa pelin tuotosta tulee Bitcoin-symboleista. Koska Bitcoinin painotus on 25 ja kokonaiskeskiarvo on 25,625, on hieman alle 1/8 mahdollisuus, että kiekko pysähtyy Bitcoiniin. Tämä laskee pelin tuottoa, kuten seuraavasta taulukosta käy ilmi. Oikeassa alakulmassa oleva solu näyttää 95,06 %:n tuoton.
Palautustaulukko — epätasainen painotus
Tapahtuma | Maksaa | Yhdistelmät | Todennäköisyys | Palata |
---|---|---|---|---|
Viisi bitcoinia | 10 000 | 9 765 625 | 0,000027 | 0,026973 |
Viisi samanlaista | 1 500 | 78 938 130 | 0.000218 | 0,032705 |
Neljä bitcoinia | 700 | 351 562 500 | 0,000971 | 0,067972 |
Neloset | 100 | 2 748 092 600 | 0,007590 | 0,075904 |
Kolme bitcoinia | 70 | 5 062 500 000 | 0,013983 | 0,097880 |
Kaksi bitcoinia | 25 | 36 450 000 000 | 0.100677 | 0,251691 |
Yksi bitcoin | 11 | 130 836 733 750 | 0,361377 | 0.397515 |
Häviäjä | - | 186 513 035 520 | 0,515157 | 0.000000 |
Kokonais | 362 050 628 125 | 1.000000 | 0,950639 |
Reilu pelaaminen
Seuraavassa on prosessi, jota Crypto.Games käyttää määrittääkseen, mihin kukin kiekko pysähtyy. Tämä olettaa, että lukija tuntee hajauttamisen ja 16-kantaisen matematiikan perusteet. Jos ei, käsittelen sitä Dice (salattu versio) -sivullani.
- Yhdistä palvelinsiemen ja asiakassiemen yhteen, palvelinsiemen ensin.
- Käytä vaiheessa 1 kuvattua SHA-512-hajautusarvoa.
- Aloita vasemmalta puolelta ja ota kaksi merkkiä vaiheen 2 hajautusmerkistä.
- Muunna vaiheen 3 kaksi merkkiä heksadesimaalimuodosta desimaalimuotoon.
- Ota vaiheen 4 tuloksen päätenumero.
- Jos vaiheen 5 tulos on 1–8, kuvaa se symbolilla seuraavasti:
- 1 = Omena
- 2 = Banaani
- 3 = Kirsikka
- 4 = Viinirypäleet
- 5 = Mansikka
- 6 = Oranssi
- 7 = Bitcoin
- 8 = Persikka
- Jos vaihe 6 oli välillä 1–8, määritä kyseinen symboli kelalle vasemmalta aloittaen.
- Löytyipä symboli tai ei, siirrytään kaksi numeroa eteenpäin hash-taulukossa ja palataan vaiheeseen 3, kunnes löytyy viisi numeroa väliltä 1–8 (yksi jokaista rullaa kohden).
Esimerkki
Seuraavassa on esimerkkikäden prosessi.
Yllä olevassa Todistettavasti Reilu -paneelin kuvassa valitsin oman asiakassiemenen. Sitten kopioin ja liitän muualle palvelinsiemenen ja asiakassiemenen hajautuksen, jotka nimetään "Seuraava palvelinsiemen SHA256". Tässä tapauksessa ne ovat:
Asiakkaan siemen: sdf96dsf9876s9dd78f6 Seuraavan palvelimen siemenhajautus: bdfa300164ebbd77ce9a3c3c58863688c4537df91173088915afdd4c9b6b302c
Tein vedon ja pelasin. Tulokseni, vasemmalta oikealle, oli kirsikka-omena-banaani-mansikka-banaani, ja hävisin.
Palaan Todistettavasti Reilun -paneeliin varmistaakseni, että tulos oli ennalta määrätty, kun olen valinnut asiakassyötteeni. Tässä ovat vaiheet, jotka teen:
- Ensin huomautan viimeisen palvelimen siemenestä, jonka he sanovat olleen:
ylVWazQHJxoG9TAcLmDj1n6q1UkJgyFW4oTJhUhL
Laitoin sen läpi SHA-256-hajautusohjelman . Siemenen hajautus on:
bdfa300164ebbd77ce9a3c3c58863688c4537df91173088915afdd4c9b6b302c
Tämä vastaa Next Server Seed Hash -arvoa, jonka sain ennen vedonlyöntiä, joten voin olla varma, että tulos oli ennalta määrätty sen jälkeen, kun valitsin asiakassiemenen, mutta ennen vedonlyöntiä.
Haluan kuitenkin tietää, miksi lopputulos oli kirsikka-omena-banaani-mansikka-banaani. Näin varmistan sen:
- Yhdistä palvelimen siemenarvo ja asiakkaan siemenarvo tässä järjestyksessä saadaksesi muodon ylVWazQHJxoG9TAcLmDj1n6q1UkJgyFW4oTJhUhLsdf96dsf9876s9dd78f6.
- Käytä vaiheen 1 SHA-512-hajautusarvoa saadaksesi 3F8CEF835C55B60C8682C580C1A0C6DCA5013F4614A82A6797273495CCE46418EA044CCD964B83D0765C9CE6A174F93E20DB56E118CF8AE82B2D0864FC09B066.
- Ota kaksi ensimmäistä merkkiä, 3F, ja muunna ne heksadesimaalimuodosta desimaalimuotoon: 3*16 + 15 = 48 + 15 = 63.
- Ota luvun 63 viimeinen numero, joka on 3. Koska se on välillä 1–8, yhdistä se symboliin yllä olevien Reilun pelaamisen ohjeiden mukaisesti. Tässä tapauksessa numero 3 yhdistetään kirsikkaan.
- Siirry vaiheen 2 hajautusmerkissä kaksi symbolia eteenpäin, jotka ovat 8C.
- Muunna 8C heksadesimaaliluvusta desimaaliluvuksi: 8 * 16 + 12 = 140.
- Luvun 140 viimeinen numero on 0, joka ei vastaa mitään, joten jätä 8C väliin.
- Siirrä kaksi symbolia eteenpäin vaiheessa 2 saadussa hajautusarvossa, jotka ovat EF.
- Muunna EF heksadesimaaliluvusta desimaaliluvuksi: 14*16 + 15 = 239.
- Luvun 239 viimeinen numero on 9, joka ei vastaa mitään, joten jätä EF-funktio väliin.
- Siirry vaiheen 2 hajautusmerkissä kaksi symbolia eteenpäin, jotka ovat 83.
- Muunna EF heksadesimaaliluvusta desimaaliluvuksi: 8*16 + 3 = 131.
- Ota luvun 131 viimeinen numero, joka on 1. Koska 1 on välillä 1–8, yhdistä se symboliin yllä olevien Reilun pelaamisen ohjeiden mukaisesti. Tässä tapauksessa luku 1 yhdistetään omenaan.
- Siirry vaiheen 2 hajautusmerkissä kaksi symbolia eteenpäin, jotka ovat 5C.
- Muunna 5C heksadesimaaliluvusta desimaaliluvuksi: 5 * 16 + 12 = 92.
- Ota luvun 92 viimeinen numero, joka on 2. Koska 2 on välillä 1–8, yhdistä se symboliin yllä olevien Reilun pelaamisen ohjeiden mukaisesti. Tässä tapauksessa luku 2 yhdistetään banaaniin.
- Siirry vaiheen 2 hajautusmerkissä kaksi symbolia eteenpäin, jotka ovat 55.
- Muunna luku 55 heksadesimaaliluvusta desimaaliluvuksi: 5 * 16 + 5 = 85.
- Ota luvun 85 viimeinen numero, joka on 5. Koska 5 on välillä 1–8, yhdistä se symboliin yllä olevien Reilun pelaamisen ohjeiden mukaisesti. Tässä tapauksessa luku 5 yhdistetään mansikkaan.
- Siirry vaiheen 2 hajautusmerkissä kaksi symbolia eteenpäin, jotka ovat B6.
- Muunna B6 heksadesimaaliluvusta desimaaliluvuksi: 11*16 + 6 = 182.
- Ota luvun 182 viimeinen numero, joka on 2. Koska 2 on välillä 1–8, yhdistä se symboliin yllä olevien Reilun pelaamisen ohjeiden mukaisesti. Tässä tapauksessa luku 2 yhdistetään banaaniin.
- Viisi symbolia on löydetty, joten pelaajalle näytetään kirsikka, omena, banaani, mansikka ja banaani keskimmäisellä voittolinjalla hänen panoksensa tuloksena.
Reilun pelaamisen säännöstö
Jos kaikki tuo kuulostaa pitkältä vaiheelta, niin olen samaa mieltä. Tästä syystä kirjoitin kätevästi PHP-ohjelman tekemään sen puolestasi. Klikkaa vain linkkiä ja seuraa näitä ohjeita:
- Syötä palvelimen siemen riville 4.
- Syötä asiakkaan siemen riville 5.
- Syötä seuraavan palvelimen siemenhajautusarvo riville 6.
- Napsauta "suorita".
Palvelimen siemennumeron ja vedon tuloksen vahvistus näkyy alla olevassa Tulos-ruudussa.
Säilytän myös kopion koodista, jonka voit nähdä napsauttamalla alla olevaa spoileripainiketta.
[spoileri]// Peliautomaattien muunnos Crypto.Gamesille $server_seed = "ylVWazQHJxoG9TAcLmDj1n6q1UkJgyFW4oTJhUhL"; $asiakkaan_siemen = "sdf96dsf9876s9dd78f6"; $next_server_seed_hash = "bdfa300164ebbd77ce9a3c3c58863688c4537df91173088915afdd4c9b6b302c"; $reel_strip_array=array("Virhe","Omena","Banaani","Kirsikka","Viinirypäleet","Mansikka","Appelsiini","Kolikko","Persikka"); $voitto_taulukko=taulukko(10000,1500,700,100,70,25,11,0); $server_seed_hash=hash('sha256', $server_seed); jos ($server_seed_hash==$seuraava_server_seed_hash) { echo "Palvelimen siementen täsmäävyys.\n"; } muu { echo "PALVELIMEN SIEMENMÄÄRÄ EI OLE VÄÄRÄ!\n"; echo "Palvelimen siemen =\t$palvelimen_siemen\n"; echo "Palvelimen siemenhajautus =\t$server_seed_hash\n"; echo "Väitetty seuraava hajautusarvo=\t$next_server_seed_hash\n"; } $kelat_löydetty=0; $sijainti=0; $yhdistetty_siemen = $palvelimen_siemen.$asiakkaan_siemen; echo "Yhdistetty siemen = $yhdistetty_siemen\n"; $combined_hash = tiiviste('sha512', $combined_seed); echo "Yhdistettyjen siementen tiiviste = $combined_hash\n"; tehdä { $ensimmäiset_kaksi=substr($yhdistetty_hajautus,$sijainti,2); $hex_to_dec=heksades($ensimmäiset_kaksi)%10; jos (($hex_to_dec>=1)&&($hex_to_dec<=8)) { $kelataulukko[$kela_löytyy] = $heksadesimaali; $kelat_löydetty++; echo "Kela $reels_found =\t$reel_strip_array[$hex_to_dec]\n"; } $sijainti+=2; jos ($position==128) { echo "Virhe -- Hajautusarvossa ei ole enää tilaa.\n"; $reels_found=5; } } while ($reels_found<5); $coins=0; for ($i=0; $i<=4; $i++) { if ($reels_array[$i]==7) { $coins++; } } if ($coins==5) { $win=0; } elseif ( ($reels_array[0]==$reels_array[1]) && ($reels_array[0]==$reels_array[2]) && ($reels_array[0]==$reels_array[3]) && ($reels_array[0]==$reels_array[4])) { $win=1; } // viitoset elseif ($coins==4) { $win=2; } elseif ((($reels_array[0]==$reels_array[1]) && ($reels_array[0]==$reels_array[2]) && ($reels_array[0]==$reels_array[3])) || (($reels_array[0]==$reels_array[1]) && ($reels_array[0]==$reels_array[2]) && ($reels_array[0]==$reels_array[4])) || (($reels_array[0]==$reels_array[1]) && ($reels_array[0]==$reels_array[3]) && ($reels_array[0]==$reels_array[4])) || (($reels_array[0]==$reels_array[2]) && ($reels_array[0]==$reels_array[3]) ($reels_array[0]==$reels_array[4])) || (($reels_array[1]==$reels_array[2]) && ($reels_array[1]==$reels_array[3]) && ($reels_array[1]==$reels_array[4]))) { $win=3; } // neloset elseif ($coins==3) { $win=4; } elseif ($coins==2) { $win=5; } elseif ($coins==1) { $win=6; } else { $win=7; } echo "Win =\t$win_array[$win]\n" // Proseduuri // 1. Asetetaan "position" arvoon 0 ja "reels found" arvoon 0. // 2. Yhdistetään palvelimen ja asiakkaan siemenet ja palvelimen siemenet tässä järjestyksessä. // 3. Luodaan SHA-512-tiiviste merkkijonosta vaiheessa 2. // 4. Muunna kaksi ensimmäistä merkkiä heksadesimaalimuodosta desimaalimuotoon, alkaen vaiheen 3 tiivisteen "sijainnista". // 5. Ota päätenumero kohdasta 4. // 6. Jos vaiheen 5 tulos on 1–8, kuvaa se symbolilla alla olevan taulukon mukaisesti ja kasvata "löydetyt rullat" yhdellä. // 7. Jos viisi rullaa on löydetty, lopeta. Muussa tapauksessa kasvata "sijaintia" yhdellä ja palaa vaiheeseen 4. // 8. Kun viisi rullaa on löydetty, näytä ne vasemmalta oikealle siinä järjestyksessä kuin ne löytyivät tiivisteestä. // 9. Symbolikartta: // 1 = Omena // 2 = Banaani // 3 = Kirsikka // 4 = Viinirypäleet // 5 = Mansikka // 6 = Appelsiini // 7 = Kolikko // 8 = Persikka ?>
[/spoileri]