用Python实现lol笔记助手功能

介绍:

先解释下这个LOL笔记是干什么的,熟悉的朋友都知道黑店百地曾经有个小本本也就是记录游戏中遇到的玩家,然后遇到后就会进行惩罚。只不过他这个需要手动记录下来,我们完全可以利用先用的接口来处理这种事情。
检测效果如图所示
为了游戏环境着想,这个对局记录只是保存在游戏运行期间的对局。

1.功能实现

第一个要实现的功能就是要向图上所示,匹配到最近的用户进行提示。所以这个功能需要两个数据:
1.近期匹配的对局玩家信息
2.当前对局匹配的玩家信息
那么,如何获取这些数据呢?我们自己肯定没办法得到,所以需要用到官方的api接口:

https://127.0.0.1:端口/lol-gameflow/v1/session #获取当前对局信息 GET

这个接口包含的信息很全,包括玩家选的英雄还有皮肤还有其他个人信息,由于本人常年大乱斗所以只获取了名称信息

当返回的数据我们需要提取到其名称信息,

 dict_data=json.loads(content)#将json转换为字典
    #获取字典的“teamOne”信息
    game_data=dict_data['gameData']
    champion_match_players=[]
    champion_match=game_data['playerChampionSelections']#匹配的召唤师信息
    for i in range(len(champion_match)):
        champion_match_players.append(champion_match[i]['summonerInternalName'])

这段就是这个功能的核心代码段,我们将玩家名称信息放到一个列表中,每进行一次对局就会生成一个对局列表,所以我们还需要一个二维列表进行存储多个对局信息

第二个部分就是需要判断当前对局玩家中是否存在以往对局中
这一点也是很容易实现,因为我们有一个存储多个对局信息的二位列表,我们只需将他们依次比较即可:

for i in range(len(THIS_PLAYERS_LIST)):
    for j in range(len(THIS_PLAYERS_LIST[i])):
        for k in range(len(champion_match_players)):
            if THIS_PLAYERS_LIST[i][j] ==champion_match_players[k] and champion_match_players[k]!=user_name:
                same_list.append([i,j])
same_list_index=[]#存储具体文字信息
for i in range(len(same_list)):
    index = len(THIS_PLAYERS_LIST) - same_list[i][0]
    name = THIS_PLAYERS_LIST[same_list[i][0]][same_list[i][1]]
    same_list_index.append("你在上" + str(index) + "局前匹配到过该用户,名称是:" + name+'\n')
if len(same_list_index)==0:
    same_list_index.append("没有匹配到最近用户")

二维列表的第一个坐标就表示了距离当前对局前几局的对局,由于可能不止一个玩家,所以需要列表进行存储。需要注意的是,由于玩家自己存在每局对局中,所以在查询相同名称时候不用查自己的名称,要不然就会一直有。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值