最新快手滑块轨迹算法

仅供学习与测试,不得用于任何违法违规业务,否则后果自负。

最近有朋友问如何搞快手轨迹算法,给大家分享一下这笨拙的方法。

博主生成的轨迹过不去校验,所以扣了网站的做本地轨迹库。

快手最新的滑块轨迹算法加了异步点,这个如果处理不好,肯定是无法通过的

不用每个横坐标都需要扣下来,在经常出现的坐标上多扣一些就可以了,当然越多越好。

废话不多说,直接上算法

def get_trajectory_back(x1, resdata):
    global bianyidian, bianyicishu
    print("a------------>", resdata['a'])
    print("resdata------------>", resdata)
    trajectory = ''
    clientxone = 23
    clientx = 23
    ttime = 0
    x = 0
    jilucishu = 0

    bianyidian = 0
    bianyicishu = 0
    if 'd' in resdata:
        pd = 1
    else:
        pd = 0
    print("pd---->", pd)

    while x < int(x1 * 1.60):
        x = clientx - clientxone
        if x == 0:
            x = 0
        else:
            x = int(x / 276 * 1000)
        clientx += random.randint(0, 3)
        clienty = random.randint(19, 23)

        if pd:
            if jilucishu == int(resdata['a']) - 1:
                bianyicishu += 1  # 后加的
                xx = 456 * int(resdata['sx']) + int(resdata['ix'])
                clientyy = 13 * int(resdata['sy']) + int(resdata['iy'])

                if pd:
                    bianyidian = (int(resdata['a']) - 1) + (int(resdata['d']) * bianyicishu)
                else:
                    bianyidian = int(pow(resdata['q'], bianyicishu) + resdata['a'])
                    print('q1----->', bianyidian)
                bianyicishu += 1
                trajectory += f"{xx}|{clientyy}|{ttime},"
                jilucishu += 1
                continue
            # else:
            #     if jilucishu == int(resdata['a']):
            #         xx = 456 * int(resdata['sx']) + int(resdata['ix'])
            #         clientyy = 13 * int(resdata['sy']) + int(resdata['iy'])
            #
            #         if pd:
            #             bianyidian = (int(resdata['a']) - 1) + (int(resdata['d']) * bianyicishu)
            #         else:
            #             bianyidian = int(pow(resdata['q'], bianyicishu) + resdata['a'])
            #             print('q2----->', bianyidian)
            #         bianyicishu += 1
            #         trajectory += f"{xx}|{clientyy}|{ttime},"
            #         jilucishu += 1
            #         continue
        else:
            if jilucishu == int(resdata['a']):
                bianyicishu += 2
                xx = 456 * int(resdata['sx']) + int(resdata['ix'])
                clientyy = 13 * int(resdata['sy']) + int(resdata['iy'])

                if pd:
                    bianyidian = (int(resdata['a']) - 1) + (int(resdata['d']) * bianyicishu)
                else:
                    bianyidian = int(pow(resdata['q'], bianyicishu) + resdata['a']) - 1
                    print('q3----->', bianyidian)
                bianyicishu += 1
                trajectory += f"{xx}|{clientyy}|{ttime},"
                jilucishu += 1
                continue

        if bianyidian:
            # print("变异点----》", bianyidian, jilucishu)
            if pd:
                if bianyidian == jilucishu:
                    xx = 456 * int(resdata['sx']) + int(resdata['ix'])
                    clientyy = 13 * int(resdata['sy']) + int(resdata['iy'])
                    if pd:
                        bianyidian = (int(resdata['a']) - 1) + (int(resdata['d']) * bianyicishu)
                    else:
                        bianyidian = int(pow(resdata['q'], bianyicishu) + resdata['a'])
                        print('q----->', bianyidian)
                    bianyicishu += 1
                    trajectory += f"{xx}|{clientyy}|{ttime},"
                    jilucishu += 1
                    continue
            else:
                if bianyidian == jilucishu:
                    xx = 456 * int(resdata['sx']) + int(resdata['ix'])
                    clientyy = 13 * int(resdata['sy']) + int(resdata['iy'])
                    if pd:
                        bianyidian = (int(resdata['a']) - 1) + (int(resdata['d']) * bianyicishu)
                    else:
                        bianyidian = int(pow(resdata['q'], bianyicishu) + resdata['a']) - 1
                        print('q4----->', bianyidian)
                    bianyicishu += 1
                    trajectory += f"{xx}|{clientyy}|{ttime},"
                    jilucishu += 1
                    continue

        trajectory += f"{x}|{clienty}|{ttime},"
        ttime += random.randint(10, 20)
        jilucishu += 1
    trajectory = trajectory[:-1]
    return trajectory

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值