Пример #1
0
def generateRollsForMethods(rollMethods):
    rolls = {k: {} for k in rollMethods.keys()}
    for k in rollMethods.keys():
        rolls[k] = {k: 0 for k in range(3, 19)}

    for (methodKey, rollMethod) in rollMethods.iteritems():
        numDice = rollMethod["numDice"]
        method = rollMethod["method"]
        for roll in generateArrangements((1, 2, 3, 4, 5, 6), numDice):
            statValue = sum(method(roll))
            rolls[methodKey][statValue] += numArrangements(roll)
Пример #2
0
def calcTCTPdistribution():
    numStats = 6
    statRange = range(3, 19)
    perfect = numStats * max(statRange)
    tctps = {k: 0 for k in range(0, perfect - 3 * numStats + 1)}
    for stats in generateArrangements(statRange, numStats):
        TCTP = perfect - sum(stats)
        tctps[TCTP] += numArrangements(stats)

    # pprint.pprint(tctps)
    print "TCTP\tCount"
    for (tctp, count) in tctps.iteritems():
        print str(tctp), "\t", count