写一个格斗游戏的代码:有两个火柴人分别由键盘上不同的键控制动作互相进行攻击行为直到一方血条清空。
这是一个简单的控制台格斗游戏的代码示例:
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中,我们创建了两个战斗者对象fighter1和fighter2,并使用一个循环来模拟战斗过程。每个战斗者依次控制攻击行为,通过按下键盘上的a键来进行攻击。当一方的生命值降为零时,游戏结束,输出获胜者的信息
原文地址: http://www.cveoy.top/t/topic/iVQU 著作权归作者所有。请勿转载和采集!