python

import random

import time

class Character:

角色基类

def __init__(self, name, hp, attack):

self.name = name

self.hp = hp

self.attack_power = attack

def is_alive(self):

检查是否存活

return self.hp > 0

def take_damage(self, damage):

承受伤害

self.hp -= damage

if self.hp < 0:

self.hp = 0

class Human(Character):

人类角色

def __init__(self):

super.__init__(name="人类", hp=100, attack=20)

class Dog(Character):

狗角色

def __init__(self):

super.__init__(name="猛犬", hp=80, attack=25)

def battle:

初始化战斗角色

human = Human

dog = Dog

round_num = 1 回合计数器

战斗循环

while human.is_alive and dog.is_alive:

print(f"

=== 第 {round_num} 回合 ===")

人类攻击

damage = random.randint(human.attack_power-5, human.attack_power+5)

dog.take_damage(damage)

print(f"{human.name} 发动攻击!造成 {damage} 点伤害,{dog.name} 剩余血量:{dog.hp}")

检查狗是否存活

if not dog.is_alive:

break

狗攻击

damage = random.randint(dog.attack_power-5, dog.attack_power+5)

human.take_damage(damage)

print(f"{dog.name} 发起反击!造成 {damage} 点伤害,{human.name} 剩余血量:{human.hp}")

round_num += 1

time.sleep(1) 增加战斗间隔

显示战斗结果

winner = human if human.is_alive else dog

print(f"

战斗结束!胜利者是:{winner.name}")

if __name__ == "__main__":

print("===== 人狗大战开始 =====")

battle

代码特点:

1. 面向对象设计:使用类来组织角色属性和方法

2. 随机战斗系统:每次攻击在基础攻击力上下浮动5点

3. 回合制战斗:自动进行攻防交替

4. 实时状态显示:展示每个回合的战斗详情

5. 简单扩展性:可以方便地添加新角色或修改属性

运行效果示例:

===== 人狗大战开始 =====

=== 第 1 回合 ===

人类 发动攻击!造成 22 点伤害,猛犬 剩余血量:58

猛犬 发起反击!造成 23 点伤害,人类 剩余血量:77

=== 第 2 回合 ===

人类 发动攻击!造成 19 点伤害,猛犬 剩余血量:39

猛犬 发起反击!造成 27 点伤害,人类 剩余血量:50

..(中间回合省略)...

=== 第 6 回合 ===

人类 发动攻击!造成 24 点伤害,猛犬 剩余血量:0

战斗结束!胜利者是:人类

扩展建议:

python人狗大csdn(人狗大战python最简单处理)

1. 添加更多战斗角色(如不同品种的狗)

2. 增加特殊技能系统

3. 实现玩家手动选择攻击方式

4. 添加装备系统

5. 增加战斗动画效果

这个基础版本保留了核心战斗机制,同时保证了代码的简洁性,适合Python初学者学习和扩展。