游戏功能:
列表选择角色,1、购买武器 2、对战赢得金币 3、删除指定武器 4、查看玩家武器列表 5、查看玩家拥有的金币数量
6、充值金币 7、退出游戏
'''
游戏
选择人物
1、购买武器 金币
2、打仗 赢得金币
3、选择删除武器
4、查看武器
5、查看拥有金币
6、充值金币
7、退出游戏
'''
import random
print("*" * 40, "\n\t王者荣耀\n", "*" * 40, sep="")
#系统内部数据
role_list = ["鲁班", "后羿", "李白", "孙尚香", "貂蝉", "诸葛亮"] #角色列表
weapon_list = [["屠龙刀", 500], ["樱花枪", 400], ["98K", 1000], ["手榴弹", 800], ["碧血剑", 700], ["鹅毛扇", 800]] #武器列表
#最高武力 42 3 9 15 21 27 33 39 42 武力=武器金币/100
battle_role_list = [["刘禅", 3, 100], ["张飞", 9, 200], ["马超", 15, 300], ["关羽", 21, 400], ["典韦", 27, 500], ["赵云", 33, 600], ["吕布", 39, 700], ["嬴政", 41, 800]]
is_first_in_game = True #首次进入游戏
#玩家数据
role_id = int(input("请选择游戏英雄: 1、鲁班 2、后羿 3、李白 4、孙尚香 5、貂蝉 6、诸葛亮\n")) #当前玩家选择英雄的id
role_id -= 1
role_name = ""
coins = 2000 #起始金币为2000
player_weapon_list = [] #当前玩家拥有的武器列表
while True:
if role_id <= len(role_list):
if is_first_in_game:
role_name = role_list[role_id]
print("欢迎{}来到王者荣耀,当前拥有金币:{}".format(role_name, coins))
is_first_in_game = False
if coins < 0: #金币小于0,游戏结束
print("玩家%s 无金币,游戏结束!" % role_name)
break
#进入游戏,显示游戏功能界面
choice = int(input("请选择:\n 1、购买武器\n 2、对战\n 3、删除武器\n 4、查看武器\n 5、查看金币\n 6、充值金币\n 7、退出游戏\n"))
if choice == 1:
#购买武器
while True:
weapon_id = int(input("请输入想要购买的武器装备编号:\n 1、屠龙刀\n 2、樱花枪\n 3、98K\n 4、手榴弹\n 5、碧血剑\n 6、鹅毛扇\n"))
weapon_id -= 1
if weapon_id < len(weapon_list):
print("当前想要购买的武器:{} 需花费金币:{}".format(weapon_list[weapon_id][0], weapon_list[weapon_id][1]))
if weapon_list[weapon_id][1] <= coins:
player_weapon_list.append(weapon_list[weapon_id]) #添加购买的武器名称到玩家武器列表中
coins -= weapon_list[weapon_id][1]
print("{} 购买武器 {} 成功!".format(role_name, weapon_list[weapon_id][0]))
else:
print("购买失败,当前玩家金币不足!请充值")
break
else:
print("选择武器失败,请重新选择需要购买的武器!")
elif choice == 2:
#对战 如果没有武器,不能进入,拥有多个武器,计算总武力,总武力=各个武器武力和
#开始对战,随机选择一个对战对象
#对战胜利 根据随机对战的对象增加金币
if len(player_weapon_list) > 0:
#计算所有武器总武力
sum = 0
l = len(player_weapon_list)
for i in range(l):
sum += player_weapon_list[i][1]
attack_value = sum / 100
#开始对战
br_index = random.randint(0, len(battle_role_list) - 1)
br_role_name = battle_role_list[br_index][0]
br_attack = battle_role_list[br_index][1]
print("玩家{} 武力值:{} VS {} 武力值:{}".format(role_name, attack_value, br_role_name, br_attack))
if attack_value > br_attack:
#胜利增加对应对战角色的赏金值
addcoin = battle_role_list[br_index][2]
coins += addcoin
print("玩家{} Victory~~~ ,金币增加:{}!".format(role_name, addcoin))
else:
coins -= 50
print("玩家{} Defeat~~~ ,金币减少:{}".format(role_name, 50))
else:
print("当前玩家未购买武器,无法对战!")
elif choice == 3:
#选择删除 武器 删除武器后,需要归还金币
if len(player_weapon_list) > 0:
#查看拥有的武器列表,选择需要删除的武器
print("进入武器删除管理...")
while True:
for i in range(len(player_weapon_list)):
print((i + 1), "-->", player_weapon_list[i])
del_w_num = int(input("请选择需要删除的武器编号:"))
if del_w_num > len(player_weapon_list):
print("当前需要删除的武器编号不存在,请重新选择!")
else:
w_target_list = player_weapon_list[del_w_num - 1]
w_name = w_target_list[0]
w_pay_coin = w_target_list[1]
print("删除武器 {} 成功!,返还金币:{}".format(w_name, w_pay_coin))
player_weapon_list.remove(w_target_list)
coins += w_pay_coin
print("当前玩家{} 拥有金币:{}".format(role_name, coins))
break
else:
print("玩家{} 未购买装备!请选择-1-购买武器")
elif choice == 4:
#查看武器
if len(player_weapon_list) > 0:
info = ""
l = len(player_weapon_list)
for i in range(l):
info += player_weapon_list[i][0] + "\t"
print("您当前拥有武器:", info)
else:
print("玩家{} 未购买装备!请选择-1-购买武器")
elif choice == 5:
#查看金币数
print("玩家{} 拥有金币数:{}".format(role_name, coins))
elif choice == 6:
#充值金币
inverse_coins = int(input("请输入需要充值金币的数量:"))
coins += inverse_coins
print("玩家{0} 充值金币成功,充值数量:{1} 现有金币数量:{2}".format(role_name, inverse_coins, coins))
elif choice == 7:
#退出游戏
exit_str = input("确定退出游戏? y/n\n")
if exit_str == 'y':
print("退出游戏成功!")
break
elif exit_str == 'n':
pass
else:
print("退出游戏需要填入 y/n ,请重新填入\n")
else:
#重新选择英雄
print("当前游戏没有您选择的英雄,请重新选择")