python代码实现斗鸡游戏。

玩法:

准备两只公鸡,确保它们健康且适合比赛。为每只公鸡设置一个初始生命值,例如100点。在比赛开始时,让两只公鸡站在一个圆形的竞技场内,距离大约为它们的翅膀长度。比赛开始

代码说明

  1. Rooster 类: 用于表示每只公鸡,包含名字和生命值,并定义了攻击方法。
  2. attack 方法: 随机生成1到20的伤害值,并对对手造成伤害。
  3. battle 函数: 进行比赛的主要逻辑,包括轮流攻击、检查生命值、处理比赛结果。
  4. 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()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值