这是一个简单的控制台格斗游戏的代码示例:

class Fighter:
    def __init__(self, name, hp, attack_power):
        self.name = name
        self.hp = hp
        self.attack_power = attack_power

    def attack(self, opponent):
        opponent.hp -= self.attack_power

    def is_alive(self):
        return self.hp > 0


def main():
    fighter1 = Fighter("Fighter 1", 100, 10)
    fighter2 = Fighter("Fighter 2", 100, 10)

    while fighter1.is_alive() and fighter2.is_alive():
        # Fighter 1 Controls
        print(f"{fighter1.name}'s turn:")
        print("Press 'a' to attack")
        choice = input().lower()

        if choice == 'a':
            fighter1.attack(fighter2)
        else:
            print("Invalid input. Skip turn.")

        # Check if Fighter 2 is defeated
        if not fighter2.is_alive():
            print(f"{fighter1.name} wins!")
            break

        # Fighter 2 Controls
        print(f"{fighter2.name}'s turn:")
        print("Press 'a' to attack")
        choice = input().lower()

        if choice == 'a':
            fighter2.attack(fighter1)
        else:
            print("Invalid input. Skip turn.")

        # Check if Fighter 1 is defeated
        if not fighter1.is_alive():
            print(f"{fighter2.name} wins!")
            break


if __name__ == "__main__":
    main()

这个代码中,我们定义了一个Fighter类来表示火柴人战斗者。每个战斗者具有名称(name)、生命值(hp)和攻击力(attack_power)属性。战斗者可以进行攻击(attack)行为,通过减少对手的生命值来造成伤害。is_alive方法用于判断战斗者是否还存活。

在主函数main中,我们创建了两个战斗者对象fighter1fighter2,并使用一个循环来模拟战斗过程。每个战斗者依次控制攻击行为,通过按下键盘上的a键来进行攻击。当一方的生命值降为零时,游戏结束,输出获胜者的信息


原文地址: http://www.cveoy.top/t/topic/iVQU 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录