代码说明
Horse类: 负责骑马运动。move方法控制骑马的前进,更新位置。
Soldier类: 负责士兵的战斗功能。attack方法生成攻击伤害,take_damage方法处理受到的伤害。
battle函数: 处理战斗逻辑。双方轮流攻击,直到其中一方的生命值降为零。
ride_and_battle函数: 游戏主流程,包括骑马前进和进入战斗阶段。
如何使用
运行程序: 启动Python脚本,程序会模拟骑马前进和战斗过程。
观察效果: 根据提示进行攻击,程序将展示骑马前进和战斗的过程。
import random
import time
class Horse:
"""骑马类"""
def __init__(self):
self.position = 0
def move(self, distance):
"""骑马移动"""
self.position += distance
if self.position < 0:
self.position = 0
print(f"骑马前进了 {distance} 米,当前位置: {self.position} 米")
class Soldier:
"""士兵类"""
def __init__(self):
self.health = 100
def attack(self):
"""攻击敌人"""
damage = random.randint(10, 30)
print(f"士兵攻击,造成 {damage} 点伤害")
return damage
def take_damage(self, damage):
"""接受伤害"""
self.health -= damage
if self.health < 0:
self.health = 0
print(f"士兵受到了 {damage} 点伤害,剩余生命值: {self.health}")
def battle(player_soldier, enemy_soldier):
"""战斗函数"""
print("战斗开始!")
while player_soldier.health > 0 and enemy_soldier.health > 0:
input("按 Enter 进行攻击...")
enemy_damage = player_soldier.attack()
enemy_soldier.take_damage(enemy_damage)
if enemy_soldier.health > 0:
player_damage = enemy_soldier.attack()
player_soldier.take_damage(player_damage)
time.sleep(1)
if player_soldier.health > 0:
print("你赢得了战斗!")
else:
print("你输了战斗...")
def ride_and_battle():
"""骑马和战斗游戏主流程"""
horse = Horse()
player_soldier = Soldier()
enemy_soldier = Soldier()
print("欢迎来到骑马打仗游戏!")
print("骑马前进...")
horse.move(10)
print("到达敌人位置,准备战斗!")
battle(player_soldier, enemy_soldier)
if __name__ == "__main__":
ride_and_battle()
07-14
12万+
10-03
6096
07-07
573
01-03
1万+