我的世界 高仿閻羅領(lǐng)主代碼
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} 對(duì) {enemy.name} 造成了 {damage} 點(diǎn)傷害!") else: print(f"{self.name} 對(duì) {enemy.name} 造成了 0 點(diǎn)傷害!") # 鬼將軍被攻擊 def be_attacked(self, enemy): damage = enemy.attack - self.defense if damage > 0: self.health -= damage print(f"{self.name} 受到了來自 {enemy.name} 的 {damage} 點(diǎn)傷害!") else: print(f"{self.name} 受到了來自 {enemy.name} 的 0 點(diǎn)傷害!") # 創(chuàng)建領(lǐng)地 def create_territory(): print("你成功創(chuàng)建了領(lǐng)地!") # 初始化屬性 territory = { "name": "閻羅領(lǐng)地", "level": 1, "generals": [], "enemies": [], "gold": 0, "experience": 0, } return territory # 招募鬼將軍 def recruit_general(territory): # 輸入鬼將軍屬性 name = input("請(qǐng)輸入鬼將軍的名字:") attack = int(input("請(qǐng)輸入鬼將軍的攻擊力:")) health = int(input("請(qǐng)輸入鬼將軍的生命值:")) defense = int(input("請(qǐng)輸入鬼將軍的防御力:")) # 創(chuàng)建鬼將軍對(duì)象并添加到領(lǐng)地中 general = General(name, attack, health, defense) territory["generals"].append(general) print(f"{general.name} 加入了你的軍隊(duì)!") # 創(chuàng)建敵人(僅為演示用途) 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} 出現(xiàn)在領(lǐng)地中!") return enemy # 領(lǐng)地升級(jí) def upgrade_territory(territory): if territory["experience"] >= territory["level"] * 50: territory["level"] += 1 territory["experience"] -= territory["level"] * 50 print("領(lǐng)地升級(jí)了!") print(f"當(dāng)前領(lǐng)地等級(jí):{territory['level']}") print(f"當(dāng)前經(jīng)驗(yàn):{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} 點(diǎn)傷害!") else: print(f"{enemy.name} 受到了來自 {territory['name']} 的 0 點(diǎn)傷害!") 鬼將軍攻擊敵人 def attack_general(territory, enemy): damage = enemy.attack - enemy.defense if damage > 0: enemy.health -= damage print(f"{enemy.name} 受到了來自 {territory['name']} 的 {damage} 點(diǎn)傷害!") else: print(f"{enemy.name} 受到了來自 {territory['name']} 的 0 點(diǎn)傷害!") 計(jì)算敵人受到的傷害 def calculate_damage(enemy, attacker): defense = enemy.defense attack = attacker.attack damage = attack - (defense + attack) return damage 戰(zhàn)斗 def battle(territory): print("戰(zhàn)斗開始!") # 遍歷所有敵人 for enemy in territory["enemies"]: # 計(jì)算傷害 damage = calculate_damage(enemy, attacker) # 更新敵人屬性 enemy.health -= damage print(f"{enemy.name} 受到了來自 {attacker.name} 的 {damage} 點(diǎn)傷害!") # 如果敵人被擊敗,則刪除敵人 if enemy.health <= 0: territory["enemies"].remove(enemy) print(f"{enemy.name} 已經(jīng)被擊?。?) break # 如果沒有敵人,則勝利! print("你贏得了勝利!") print("感謝你的參與!") 主函數(shù) def main(): # 創(chuàng)建領(lǐng)地 territory = create_territory() # 招募鬼將軍 for general in territory["generals"]: general.attack_enemy(territory) # 開始戰(zhàn)斗 while True: battle(territory) # 詢問是否繼續(xù)游戲 choice = input("是否繼續(xù)游戲?(y/n)") if choice.lower() == "n": break