首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >想要告别王者荣耀连胜后的连跪?python带你揭秘排位匹配机制

想要告别王者荣耀连胜后的连跪?python带你揭秘排位匹配机制

作者头像
荣仔_最靓的仔
发布2021-02-02 17:23:37
发布2021-02-02 17:23:37
9370
举报

对王者荣耀高手玩家来说,最难受的就是连胜后连败,即使你水平高,整体的胜率也会在50%左右,其实这不是你的问题,是游戏的匹配机制(根据玩家个人段位、胜率、elo值等计算得到的),今天我们就通过python来揭秘这个匿藏机制,从根本的解决这个问题,从此上分变得更容易!

匿藏机制python代码模拟实现:

代码语言:javascript
复制
import random

# 计算平均分
def arg(get_list1):
    length = len(get_list1)     # 人数
    summation = sum(get_list1)  # 求和
    arg = summation/length      # 平均
    return arg

# 控制大神和坑货的数量
def check(get_list2):
    count1 = 0                  # 初始化大神数量 = 0
    count2 = 0                  # 初始化菜货数量 = 0
    for val in get_list2:       # 遍历随机数产生的列表
        if val <= 80:
            count1 += 1
        elif val <= 40:
            count2 += 1
    if count1 <= 2 and count2 <= 1:   # 为保证队伍最终平均隐藏分 >= 60 , 这里假设分高的人数大于分低的人数
        return True

def access(num):
    if num >=80:
        result = '实力carry'
    if num >= 60 and num < 80:
        result = '路人水平'
    if num < 60 and num >= 40:
        result = '坑货菜比'
    if num < 40:
        result = '没人带的动'
    return result

player = int(input('请输入您的匿藏分:'))

print('您的水平属于:', access(player))

while True:
    team = [player]
    for i in range(0, 4):
        mate = random.randint(0, 100)
        team.append(mate)                # 每产生一个,加入到列表中去
    if arg(team) >= 65 and arg(team) <=75 and check(team) == True:
        break

arg = arg(team)
index = team.index(player)      # 索引找到您的隐藏分数在列表中的位置
del team[index]                 # 删除您的数据,为了输出的是您匹配到的四个队友的数据,所以不包括您

print('你匹配四个队友结果如下:')

for i in range(0, 4):
    print('队友', i+1, '的匿藏分:', team[i], '评定为:', access(team[i]))
print('队伍整体平均匿藏分:', arg)

代码运行结果截图:


欢迎留言,一起学习交流~

感谢阅读

END

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/05/15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 欢迎留言,一起学习交流~
  • END
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档