用户:
谁盗我号谁s查看:0 回复:0 评论:0 创建时间:2024-03-23T18:48:22
import random
class Player:
def __init__(self, name):
self.name = name
self.hp = 100
self.max_hp = 100
self.defense = 0
self.attack = 10
self.energy = 0
self.equipment = {'护甲': '无', '武器': '无', '戒指': '无', '翅膀': '无', '药水': '无'}
self.equip_quality = {'护甲': '无', '武器': '无', '戒指': '无', '翅膀': '无', '药水': '无'}
self.money = 100 # 初始货币数量
self.level = 1 # 初始等级
self.super_chest_key = False # 是否拥有超级宝箱的钥匙
def use_skill(self, skill, target):
if skill == 'charge':
self.energy += 20
print(f'{self.name}蓄力,能量增加20点!')
elif skill == 'defense':
if self.energy >= 10:
self.defense += random.randint(3, 6)
self.energy -= 10
print(f'{self.name}使用了防御技能,提升了{self.defense}点防御力!')
else:
print(f'{self.name}能量不足,无法使用防御技能!')
elif skill == 'attack':
if self.energy >= 15:
damage = random.randint(8, 12) + self.attack
damage -= target.defense
target.hp -= damage
self.energy -= 15
print(f'{self.name}对{target.name}发动了攻击,造成了{damage}点伤害!')
else:
print(f'{self.name}能量不足,无法使用攻击技能!')
elif skill == 'heal':
if self.energy >= 25:
heal_amount = random.randint(15, 25)
self.hp = min(self.max_hp, self.hp + heal_amount)
self.energy -= 25
print(f'{self.name}使用了治疗技能,恢复了{heal_amount}点生命值!')
else:
print(f'{self.name}能量不足,无法使用治疗技能!')
def open_chest(self):
items = {'护甲': ['青铜坚硬甲', '青铜反伤甲', '白银坚硬甲', '白银反伤甲', '黄金坚硬甲', '黄金反伤甲', '铂金坚硬甲', '铂金反伤甲', '钻石坚硬甲', '钻石反伤甲', '星耀坚硬甲', '星耀反伤甲'],
'武器': ['青铜剑', '青铜斧', '白银弓', '白银魔杖', '黄金喵', '黄金长喵', '铂金剑', '铂金法杖', '钻石大剑', '钻石法杖', '星耀光剑', '星耀法杖'],
'戒指': ['青铜骷髅戒指', '青铜水晶戒指', '白银幸运戒指', '白银暗影戒指', '黄金神圣戒指', '黄金灵魂戒指',
'铂金霸者戒指', '铂金毁灭戒指', '钻石炽热戒指', '喵霜戒指', '星耀暴怒戒指', '星耀光明戒指'],
'翅膀': ['青铜飞羽翅膀', '青铜鹰眼翅膀', '白银冰霜翅膀', '白银炎翼翅膀', '黄金神圣翅膀', '黄金魔法翼', '铂金光耀翅膀', '铂金暗影翅膀', '钻石飓风翅膀', '钻石冥界翅膀', '星耀龙翼', '星耀凤羽'],
'药水': ['青铜药水', '白银药水', '黄金药水', '铂金药水', '钻石药水', '星耀药水']}
for item_type in items:
item = random.choice(items[item_type])
quality = self.get_item_quality()
self.equipment[item_type] = item
self.equip_quality[item_type] = quality
print(f'{self.name}打开了宝箱,获得了{quality}的{item}!')
# 如果获得钻石品质的药水,激活超级宝箱的钥匙
if item_type == '药水' and quality == '钻石':
self.super_chest_key = True
def get_item_quality(self):
qualities = ['青铜', '白银', '黄金', '铂金', '钻石', '星耀']
quality = random.choice(qualities)
return quality
def visit_shop(self):
print(f'欢迎来到商店,您当前的货币数量为{self.money},等级为{self.level}。请选择购买项:')
print('1. 青铜装备(50货币)')
print('2. 白银装备(100货币)')
print('3. 黄金装备(150货币)')
print('4. 铂金装备(200货币)')
print('5. 钻石装备(300货币)')
print('6. 星耀装备(500货币)')
print('7. 技能书(200货币)')
print('8. 药水(30货币)')
choice = input('请输入选项:')
if choice == '1':
self.buy_equipment('青铜', 50)
elif choice == '2':
self.buy_equipment('白银', 100)
elif choice == '3':
self.buy_equipment('黄金', 150)
elif choice == '4':
self.buy_equipment('铂金', 200)
elif choice == '5':
self.buy_equipment('钻石', 300)
elif choice == '6':
self.buy_equipment('星耀', 500)
elif choice == '7':
self.buy_skill_book()
elif choice == '8':
self.buy_potion()
def buy_equipment(self, quality, price):
if self.money >= price:
for item_type in self.equip_quality:
if item_type == '翅膀':
if quality == '青铜':
self.equip_quality[item_type] = random.choice(['青铜飞羽翅膀', '青铜鹰眼翅膀'])
elif quality == '白银':
self.equip_quality[item_type] = random.choice(['白银冰霜翅膀', '白银炎翼翅膀'])
elif quality == '黄金':
self.equip_quality[item_type] = random.choice(['黄金神圣翅膀', '黄金魔法翼'])
elif quality == '铂金':
self.equip_quality[item_type] = random.choice(['铂金光耀翅膀', '铂金暗影翅膀'])
elif quality == '钻石':
self.equip_quality[item_type] = random.choice(['钻石飓风翅膀', '钻石冥界翅膀'])
elif quality == '星耀':
self.equip_quality[item_type] = random.choice(['星耀龙翼', '星耀凤羽'])
else:
self.equip_quality[item_type] = quality
self.money -= price
print('购买成功!')
else:
print('货币不足,无法购买!')
def buy_skill_book(self):
price = 200
if self.money >= price:
self.money -= price
print('购买成功!')
else:
print('货币不足,无法购买!')
def buy_potion(self):
price = 30
self.money -= price
self.hp += 20 # 药水增加20点生命值
self.hp = min(self.max_hp, self.hp)
print('购买药水成功,恢复20点生命值!')
def play_game():
player = Player('玩家')
while True:
print('1. 进行闯关')
print('2. 访问商店')
print('3. 查看玩家信息')
print('4. 退出游戏')
choice = input('请选择操作:')
if choice == '1':
player.open_chest()
if player.super_chest_key and random.random() < 0.2: # 20%的概率开出星耀品质装备
items = ['星耀护甲', '星耀光剑', '星耀法杖', '星耀戒指', '星耀翅膀']
item = random.choice(items)
player.equipment[item_type] = item
player.equip_quality[item_type] = '星耀'
print(f'{player.name}打开了超级宝箱,获得了星耀品质的{item}!')
elif choice == '2':
player.visit_shop()
elif choice == '3':
print(f'玩家信息:\n姓名:{player.name}\n生命值:{player.hp}/{player.max_hp}\n防御力:{player.defense}\n'
f'攻击力:{player.attack}\n能量:{player.energy}\n当前装备:{player.equipment}\n货币数量:{player.money}\n等级:{player.level}')
elif choice == '4':
print('退出游戏。')
break
if __name__ == '__main__':
play_game()