def test_average(self): results = [] for i in range(10000): results.append(float(mod.roll_dice(8,1,0))) average = sum(results) / len(results) print('average: %f ' % average) print('min: %d ' % min(results)) print('max: %d ' % max(results))
def attack(self, subject, enemy): attacks_per_round = 1.00 segments_per_round = 10.00 if random.random() > (attacks_per_round / segments_per_round): self.my_print(' %s fails to get an attack opportunity against %s' % \ (self.creatures[subject].name, self.creatures[enemy].name)) return roll = randomizer.roll_dice(20, 1) ac_hit = self.creatures[subject].attack_thaco - roll if ac_hit <= self.creatures[enemy].ac: damage = randomizer.roll_range(self.creatures[subject].attack_damage) self.creatures[enemy].curr_hp -= damage self.my_print(' %s hits %s for %d damage with a to-hit roll of %d' % \ (self.creatures[subject].name, self.creatures[enemy].name, damage, roll )) if self.creatures[enemy].curr_hp < 1: self.my_print(' %s dies!' % self.creatures[enemy].name) else: self.my_print(' %s misses %s with a to-hit roll of %d' % \ (self.creatures[subject].name, self.creatures[enemy].name, roll))
def test_happy_path(self): assert(mod.roll_dice(8,3,-3) >= 0) assert(mod.roll_dice(8,3,-3) <= 21)