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

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

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

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章