关于#Python#的问题,如何解决?

1、创建Boss类和Hero类
Boss有name和blood两个实例属性
Boss的fight方法可以造成hero掉1滴血

Hero也有name和blood两个实例属性
Hero的fight方法可以造成Boss掉0.5滴血

2、创建一个Game类
Game中有一个Boss和多个Hero(一个hero的列表)
一个start方法用于开始游戏。在游戏中,Boss分别与每个hero战斗多个回合(回合数自定义),战斗结束后输出Boss和每个hero的血量。

3、主函数中创建一个Game类对象,调用start方法开始游戏。


class Boss:
    def __init__(self, name, blood):
        self.name = name
        self.blood = blood

    def fight(self, hero):
        hero.blood -= 1

class Hero:
    def __init__(self, name, blood):
        self.name = name
        self.blood = blood

    def fight(self, boss):
        boss.blood -= 0.5

class Game:
    def __init__(self, boss, heroes):
        self.boss = boss
        self.heroes = heroes
        
    def start(self, rounds):
        for i in range(rounds):
            for hero in self.heroes:
                self.boss.fight(hero)
                hero.fight(self.boss)
        print("Boss's blood:", self.boss.blood)
        for hero in self.heroes:
            print(hero.name, "'s blood:", hero.blood)

# example usage in main function
boss = Boss("Boss", 20)
hero1 = Hero("Hero1", 10)
hero2 = Hero("Hero2", 15)
game = Game(boss, [hero1, hero2])
game.start(3)