Kości

August 30th, 2008

Nie mieliśmy kości na sesję, to trzeba było coś napisać. NWOD-owy rzucacz kośćmi w Pythonie:

#!/usr/bin/python
 
import time
import random
import sys
 
# argumenty: 
ile_scian = int(sys.argv[1])    # ilusciennymi koscmi rzucamy
sukces = int(sys.argv[2])       # od ilu oczek jest sukces
ile_rzutow = int(sys.argv[3])   # ile razy rzucamy
 
def kostka(sciany):
    rzut = random.randint(1, sciany)
    print rzut
    return rzut
 
print '------------------------------'
 
random.seed()
 
sukcesy = 0
 
for i in range(0, ile_rzutow):
    rzut = kostka(ile_scian)
 
    if rzut >= sukces:
        sukcesy += 1
 
    while rzut == ile_scian:
        print 'Przerzut!'
 
        rzut = kostka(ile_scian)
 
        if rzut >= sukces:
            sukcesy += 1
 
print
print "Sukcesy: ", sukcesy

Computer science and math, Polskie ,

  1. Jaor
    September 20th, 2008 at 10:37 | #1

    ]:-> I dzięki Ci za to, przydały się :D

  2. dziadekkleofas
    October 5th, 2008 at 18:03 | #2

    Był już taki unixowy program, bodajże “dice” i obsługiwał tradycyjny dnd’owski zapis rzutów. Przydałby się parser bo napisać np. “dice 6d20+16″ jest dużo prościej.

  3. October 5th, 2008 at 18:09 | #3

    W WOD-dzie rzuca się tylko 10-ściennymi, liczy liczbę sukcesów (rzutów powyżej 7 oczek) i za każde wyrzucone 10 robi się dodatkowy rzut. Tym “dice” trzeba by było ręcznie liczyć sukcesy i robić przerzuty.

    W Debianie jest http://packages.debian.org/source/lenny/rolldice — chyba o to Ci chodziło.

  1. No trackbacks yet.