玩法:
准备两只公鸡,确保它们健康且适合比赛。为每只公鸡设置一个初始生命值,例如100点。在比赛开始时,让两只公鸡站在一个圆形的竞技场内,距离大约为它们的翅膀长度。比赛开始
代码说明
- Rooster 类: 用于表示每只公鸡,包含名字和生命值,并定义了攻击方法。
- attack 方法: 随机生成1到20的伤害值,并对对手造成伤害。
- battle 函数: 进行比赛的主要逻辑,包括轮流攻击、检查生命值、处理比赛结果。
- main 函数: 创建两只公鸡并开始比赛,最后输出结果。
使用说明
- 运行该脚本会模拟两只公鸡的战斗过程。
- 比赛进行最多100回合(可以根据需要调整)。
- 每回合两只公鸡轮流攻击,直到一方生命值降到0或以下,或者达到回合限制。
- 可以调整攻击伤害范围和其他参数来改变游戏规则。
import random
import time
class Rooster:
def __init__(self, name, health):
self.name = name
self.health = health
def attack(self, opponent):
damage = random.randint(1, 20)
opponent.health -= damage
print(f"{self.name} attacks {opponent.name} for {damage} damage!")
print(f"{opponent.name} now has {opponent.health} health.")
def battle(rooster1, rooster2, max_rounds=100):
round_count = 0
while rooster1.health > 0 and rooster2.health > 0 and round_count < max_rounds:
round_count += 1
print(f"--- Round {round_count} ---")
# Rooster 1 attacks Rooster 2
rooster1.attack(rooster2)
if rooster2.health <= 0:
print(f"{rooster2.name} has been defeated! {rooster1.name} wins!")
return rooster1
# Rooster 2 attacks Rooster 1
rooster2.attack(rooster1)
if rooster1.health <= 0:
print(f"{rooster1.name} has been defeated! {rooster2.name} wins!")
return rooster2
# Optional: wait a bit before the next round
time.sleep(1)
print("The battle has ended in a draw or was interrupted.")
return None
def main():
# Create two roosters with initial health
rooster1 = Rooster(name="Rooster 1", health=100)
rooster2 = Rooster(name="Rooster 2", health=100)
# Start the battle
winner = battle(rooster1, rooster2)
if winner:
print(f"The winner is {winner.name}!")
else:
print("No winner decided.")
if __name__ == "__main__":
main()