Double shot -roll (Python)

Ohjelmoin aikani kuluksi Pythonilla älykkään noppapelin, jossa on 40 koodiriviä ja omanlaiseni säännöt. Koodi alla kuvassa. Peliin osallistuu kaksi pelaajaa, ja pelissä pelaajat heittävät kahta noppaa, isompi silmäluku saa voittosaldoonsa yhden päänahan lisää ja saa lisättyä pistesaldoonsa voittavan arpakierroksen silmäluvun. Jos nopat päätyvät tasatulokseen, kierros uusitaan. Lopuksi tulostetaan ruudulle lopputulokset.

40 Python-kielen koodiriviä sisältävän noppapelini lähdekoodi näyttää seuraavalta:

Noppapelin lähdekoodi
Noppapelin lähdekoodi Pythonilla.

Tulosten analysoinnista

Pelattavien kierrosten lukumäärä on tallennettuna muuttujaan ”numOfRounds”, ja tein toistokokeita sekä 10,100, sekä 1000 kierrosta kestvän pelin osalta, ja Pythonin satunnais-funktio näyttää antavan aika liki 50/50% -tuloksia verrattain usein. Silti 50/50 -tilanteessa usein toisen pistesaldo poikkeaa toisen pelaajan saamasta tuloksesta.

Sittenkin, jos ottaa huomioon tilastotieteestä tutun 5%-luottamusvälin, voi tehdä johtopäätöksen, että tuo 50/50 -tilanne toteutuu. Pistesaldon hajonnassakaan ei ole suuria eroja, paitsi harvoin. Kertaakaan ei tullut kokeen toistuessa 1000 kierroksen pelissä tilannetta, että vähemmän voittoja keränneellä pelaajalla olisi isompi pistesaldo lopulta.

Lataa lähdekoodi

Uploadasin, eli latasin Python-lähdekoodini Dropboxiin kaikkien saataville. dice.py tiedosto löytyy tämän linkin takaa.