Ejemplo n.º 1
0
 def test_dragon_perk(self):
     self.dragon = Dragon(name="Dragon",
                          level=10,
                          strength=20,
                          dexterity=10,
                          constitution=16,
                          wisdom=20)
     self.assertIsNotNone(self.dragon.perk())
Ejemplo n.º 2
0
 def test_dragon_save(self):
     self.dragon = Dragon(name="Dragon",
                          level=10,
                          strength=20,
                          dexterity=10,
                          constitution=16,
                          wisdom=20)
     self.assertIsNotNone(self.dragon.save_throw(self.dragon.wisdom))
Ejemplo n.º 3
0
 def test_empty_dragon(self):
     self.dragon = Dragon(name="Dragon")
     self.assertEqual(self.dragon.name, "Dragon")
     self.assertEqual(self.dragon.level, 1)
     self.assertEqual(self.dragon.strength, 8)
     self.assertEqual(self.dragon.dexterity, 8)
     self.assertEqual(self.dragon.constitution, 8)
     self.assertEqual(self.dragon.intelligence, 8)
     self.assertEqual(self.dragon.wisdom, 8)
     self.assertEqual(self.dragon.charisma, 8)
     self.assertIsNotNone(self.dragon.max_hp)
     self.assertIsNotNone(self.dragon.hp)
     self.assertEqual(self.dragon.armour_class, 14)
     self.assertIsNotNone(self.dragon.initiative)
     self.assertEqual(self.dragon.slots, 1)
Ejemplo n.º 4
0
 def test_dragon(self):
     self.dragon = Dragon(name="Dragon",
                          level=10,
                          strength=20,
                          dexterity=10,
                          constitution=16,
                          wisdom=20)
     self.assertIsNotNone(self.dragon.name)
     self.assertEqual(self.dragon.level, 10)
     self.assertEqual(self.dragon.strength, 20)
     self.assertEqual(self.dragon.dexterity, 10)
     self.assertEqual(self.dragon.constitution, 16)
     self.assertEqual(self.dragon.intelligence, 8)
     self.assertEqual(self.dragon.wisdom, 20)
     self.assertEqual(self.dragon.charisma, 8)
     self.assertIsNotNone(self.dragon.max_hp)
     self.assertIsNotNone(self.dragon.hp)
     self.assertEqual(self.dragon.armour_class, 15)
     self.assertIsNotNone(self.dragon.initiative)
     self.assertEqual(self.dragon.slots, 1)
Ejemplo n.º 5
0
    damaged.hp -= damage
    if (damaged.hp <= 0): damaged.death()


def show_stats():
    print(f"{dragon.name} average damage:",
          sum(dragon.attack_damages) / len(dragon.attack_damages))
    print(f"{dragon.name} attacks counts:",
          len(dragon.attack_damages) + len(dragon.perk_damages))
    print(f"{dragon.name} perk damage:", sum(dragon.perk_damages))
    print("---------------------------------------------------------")
    print(f"{hero.name} average damage:",
          sum(hero.attack_damages) / len(hero.attack_damages))
    print(f"{hero.name} attacks counts:",
          len(hero.attack_damages) + len(hero.perk_damages))
    print(f"{hero.name} healed:", hero.heal_count)
    print(f"{hero.name} perk damage:", sum(hero.perk_damages))


hero = Hero("Kolyan", 8, 18, 12, 14, 8, 10)
dragon = Dragon("Dragon", 10, 20, 10, 16, 8, 20)

while dragon.hp > 0:
    if (hero.hp >= 11): attack(hero, dragon)
    else: hero.heal()

while hero.hp > 0:
    attack(dragon, hero)

show_stats()
Ejemplo n.º 6
0
class TestCont(unittest.TestCase):
    def test_init_hero(self):
        self.hero = Hero(name="Hero",
                         level=8,
                         strength=18,
                         dexterity=12,
                         constitution=14,
                         wisdom=10)
        self.assertIsNotNone(self.hero)

    def test_init_dragon(self):
        self.dragon = Dragon(name="Dragon",
                             level=10,
                             strength=20,
                             dexterity=10,
                             constitution=16,
                             wisdom=20)
        self.assertIsNotNone(self.dragon)

    def test_empty_hero(self):
        self.hero = Hero(name="Hero")
        self.assertEqual(self.hero.name, "Hero")
        self.assertEqual(self.hero.level, 1)
        self.assertEqual(self.hero.strength, 8)
        self.assertEqual(self.hero.dexterity, 8)
        self.assertEqual(self.hero.constitution, 8)
        self.assertEqual(self.hero.intelligence, 8)
        self.assertEqual(self.hero.wisdom, 8)
        self.assertEqual(self.hero.charisma, 8)
        self.assertIsNotNone(self.hero.max_hp)
        self.assertIsNotNone(self.hero.hp)
        self.assertEqual(self.hero.armour_class, 14)
        self.assertIsNotNone(self.hero.initiative)
        self.assertEqual(self.hero.slots, 1)

    def test_empty_dragon(self):
        self.dragon = Dragon(name="Dragon")
        self.assertEqual(self.dragon.name, "Dragon")
        self.assertEqual(self.dragon.level, 1)
        self.assertEqual(self.dragon.strength, 8)
        self.assertEqual(self.dragon.dexterity, 8)
        self.assertEqual(self.dragon.constitution, 8)
        self.assertEqual(self.dragon.intelligence, 8)
        self.assertEqual(self.dragon.wisdom, 8)
        self.assertEqual(self.dragon.charisma, 8)
        self.assertIsNotNone(self.dragon.max_hp)
        self.assertIsNotNone(self.dragon.hp)
        self.assertEqual(self.dragon.armour_class, 14)
        self.assertIsNotNone(self.dragon.initiative)
        self.assertEqual(self.dragon.slots, 1)

    def test_hero(self):
        self.hero = Hero(name="Hero",
                         level=8,
                         strength=18,
                         dexterity=12,
                         constitution=14,
                         wisdom=10)
        self.assertIsNotNone(self.hero.name)
        self.assertEqual(self.hero.level, 8)
        self.assertEqual(self.hero.strength, 18)
        self.assertEqual(self.hero.dexterity, 12)
        self.assertEqual(self.hero.constitution, 14)
        self.assertEqual(self.hero.intelligence, 8)
        self.assertEqual(self.hero.wisdom, 10)
        self.assertEqual(self.hero.charisma, 8)
        self.assertIsNotNone(self.hero.max_hp)
        self.assertIsNotNone(self.hero.hp)
        self.assertEqual(self.hero.armour_class, 16)
        self.assertIsNotNone(self.hero.initiative)
        self.assertEqual(self.hero.slots, 1)

    def test_dragon(self):
        self.dragon = Dragon(name="Dragon",
                             level=10,
                             strength=20,
                             dexterity=10,
                             constitution=16,
                             wisdom=20)
        self.assertIsNotNone(self.dragon.name)
        self.assertEqual(self.dragon.level, 10)
        self.assertEqual(self.dragon.strength, 20)
        self.assertEqual(self.dragon.dexterity, 10)
        self.assertEqual(self.dragon.constitution, 16)
        self.assertEqual(self.dragon.intelligence, 8)
        self.assertEqual(self.dragon.wisdom, 20)
        self.assertEqual(self.dragon.charisma, 8)
        self.assertIsNotNone(self.dragon.max_hp)
        self.assertIsNotNone(self.dragon.hp)
        self.assertEqual(self.dragon.armour_class, 15)
        self.assertIsNotNone(self.dragon.initiative)
        self.assertEqual(self.dragon.slots, 1)

    def test_hero_attack(self):
        self.hero = Hero(name="Hero",
                         level=8,
                         strength=18,
                         dexterity=12,
                         constitution=14,
                         wisdom=10)
        self.assertIsNotNone(self.hero.attack())

    def test_dragon_attack(self):
        self.dragon = Dragon(name="Dragon",
                             level=10,
                             strength=20,
                             dexterity=10,
                             constitution=16,
                             wisdom=20)
        self.assertIsNotNone(self.dragon.attack())

    def test_hero_save(self):
        self.hero = Hero(name="Hero",
                         level=8,
                         strength=18,
                         dexterity=12,
                         constitution=14,
                         wisdom=10)
        self.assertIsNotNone(self.hero.save_throw(self.hero.dexterity))

    def test_dragon_save(self):
        self.dragon = Dragon(name="Dragon",
                             level=10,
                             strength=20,
                             dexterity=10,
                             constitution=16,
                             wisdom=20)
        self.assertIsNotNone(self.dragon.save_throw(self.dragon.wisdom))

    def test_hero_perk(self):
        self.hero = Hero(name="Hero",
                         level=8,
                         strength=18,
                         dexterity=12,
                         constitution=14,
                         wisdom=10)
        self.assertIsNotNone(self.hero.perk())

    def test_dragon_perk(self):
        self.dragon = Dragon(name="Dragon",
                             level=10,
                             strength=20,
                             dexterity=10,
                             constitution=16,
                             wisdom=20)
        self.assertIsNotNone(self.dragon.perk())

    def test_several_hero_perk(self):
        self.hero = Hero(name="Hero",
                         level=8,
                         strength=18,
                         dexterity=12,
                         constitution=14,
                         wisdom=10)
        self.assertIsNotNone(self.hero.perk())
        self.assertIsNone(self.hero.perk())

    def test_several_dragon_perk(self):
        self.dragon = Dragon(name="Dragon",
                             level=10,
                             strength=20,
                             dexterity=10,
                             constitution=16,
                             wisdom=20)
        self.assertIsNotNone(self.dragon.perk())
        self.assertIsNone(self.dragon.perk())