コード例 #1
0
ファイル: test_randomizer.py プロジェクト: kenfar/CombatWiz
 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))
コード例 #2
0
    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))
コード例 #3
0
ファイル: test_randomizer.py プロジェクト: kenfar/CombatWiz
 def test_happy_path(self):
     assert(mod.roll_dice(8,3,-3) >= 0)
     assert(mod.roll_dice(8,3,-3) <= 21)