def __init__(self,attBonusRange=range(5),defTargetRange=range(4,13),vantage=None): self.repetitions=10000 self.attBonusRange=attBonusRange self.defTargetRange=defTargetRange self.vantage = vantage self.tests = {} for attBonus in attBonusRange: self.tests[attBonus]={} for defTarget in defTargetRange: attempts = [Attacks.Attempt(target=defTarget,maxBonus=attBonus,vantage=vantage) for x in range(self.repetitions)] successes = [attempt.outcome for attempt in attempts].count('success') failures = [attempt.outcome for attempt in attempts].count('failure') percent = successes/self.repetitions self.tests[attBonus][defTarget] = {'attempts':attempts,'successes':successes,'failures':failures,'percent':percent}