游戏功能:

列表选择角色,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("当前游戏没有您选择的英雄,请重新选择")