我的世界 高仿阎罗领主代码
import random # 定义鬼将军类 class General: def __init__(self, name, attack, health, defense): self.name = name self.attack = attack self.health = health self.defense = defense # 攻击敌人 def attack_enemy(self, enemy): damage = self.attack - enemy.defense if damage > 0: enemy.health -= damage print(f"{self.name} 对 {enemy.name} 造成了 {damage} 点伤害!") else: print(f"{self.name} 对 {enemy.name} 造成了 0 点伤害!") # 鬼将军被攻击 def be_attacked(self, enemy): damage = enemy.attack - self.defense if damage > 0: self.health -= damage print(f"{self.name} 受到了来自 {enemy.name} 的 {damage} 点伤害!") else: print(f"{self.name} 受到了来自 {enemy.name} 的 0 点伤害!") # 创建领地 def create_territory(): print("你成功创建了领地!") # 初始化属性 territory = { "name": "阎罗领地", "level": 1, "generals": [], "enemies": [], "gold": 0, "experience": 0, } return territory # 招募鬼将军 def recruit_general(territory): # 输入鬼将军属性 name = input("请输入鬼将军的名字:") attack = int(input("请输入鬼将军的攻击力:")) health = int(input("请输入鬼将军的生命值:")) defense = int(input("请输入鬼将军的防御力:")) # 创建鬼将军对象并添加到领地中 general = General(name, attack, health, defense) territory["generals"].append(general) print(f"{general.name} 加入了你的军队!") # 创建敌人(仅为演示用途) def create_enemy(): name = f"鬼将军{random.randint(1, 10)}" attack = random.randint(10, 30) health = random.randint(100, 200) defense = random.randint(5, 15) enemy = General(name, attack, health, defense) print(f"{enemy.name} 出现在领地中!") return enemy # 领地升级 def upgrade_territory(territory): if territory["experience"] >= territory["level"] * 50: territory["level"] += 1 territory["experience"] -= territory["level"] * 50 print("领地升级了!") print(f"当前领地等级:{territory['level']}") print(f"当前经验:{territory['experience']}") return territory 攻击敌人 def attack_enemy(territory, enemy): damage = enemy.defense - enemy.attack if damage > 0: enemy.health -= damage print(f"{enemy.name} 受到了来自 {territory['name']} 的 {damage} 点伤害!") else: print(f"{enemy.name} 受到了来自 {territory['name']} 的 0 点伤害!") 鬼将军攻击敌人 def attack_general(territory, enemy): damage = enemy.attack - enemy.defense if damage > 0: enemy.health -= damage print(f"{enemy.name} 受到了来自 {territory['name']} 的 {damage} 点伤害!") else: print(f"{enemy.name} 受到了来自 {territory['name']} 的 0 点伤害!") 计算敌人受到的伤害 def calculate_damage(enemy, attacker): defense = enemy.defense attack = attacker.attack damage = attack - (defense + attack) return damage 战斗 def battle(territory): print("战斗开始!") # 遍历所有敌人 for enemy in territory["enemies"]: # 计算伤害 damage = calculate_damage(enemy, attacker) # 更新敌人属性 enemy.health -= damage print(f"{enemy.name} 受到了来自 {attacker.name} 的 {damage} 点伤害!") # 如果敌人被击败,则删除敌人 if enemy.health <= 0: territory["enemies"].remove(enemy) print(f"{enemy.name} 已经被击败!") break # 如果没有敌人,则胜利! print("你赢得了胜利!") print("感谢你的参与!") 主函数 def main(): # 创建领地 territory = create_territory() # 招募鬼将军 for general in territory["generals"]: general.attack_enemy(territory) # 开始战斗 while True: battle(territory) # 询问是否继续游戏 choice = input("是否继续游戏?(y/n)") if choice.lower() == "n": break