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_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_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_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)
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()
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())