Example #1
0
def yuhunjiacheng():
    if a == 1:
        yuhunjiacheng_pic = cv2.imread('pic/yuhunjiacheng.png', 0)
        yysclient = opencvjietu.yys_client()
        #yysclient.show()
        yysclient = opencv_compare.PIL_opencv(yysclient)
        jiacheng_xy = opencv_compare.template_matching(yysclient,jiacheng_pic)
        mousedianji.mouse_click(jiacheng_xy[0], jiacheng_xy[1],3)
        yysclient = opencvjietu.yys_client()
        #yysclient.show()
        yysclient = opencv_compare.PIL_opencv(yysclient)
        jiacheng_xy = opencv_compare.template_matching(yysclient,yuhunjiacheng_pic)
        mousedianji.mouse_click(jiacheng_xy[0] + 250, jiacheng_xy[1],3)
        mousedianji.mouse_click(jiacheng_xy[0] + 400, jiacheng_xy[1], 3)
    else:
        print('没有选择开启加成')
Example #2
0
def feature_matching(imga):
    #参数是需要找出图片,原图片直接在函数中截取
    image = imga
    yysclient = opencvjietu.yys_client()
    yysclient = opencv_compare.PIL_opencv(yysclient)  #截取图片
    result = opencv_compare.template_matching(yysclient, image)
    return result
Example #3
0
def checking(jietufun, imga):
    #作为验证函数 其参数为截图的方法,如截取当前阴阳师客户端全部,或者截取部分区域,另外参数imga是作为对照的图片
    #验证方法在sinularity.py中
    #返回两张图片的汉明距离
    image = imga
    s = 10  #汉明距离的初始值,小于5基本相似
    while s >= 5:
        yysclient_jieshu = jietufun()
        yysclient_jieshu = opencv_compare.PIL_opencv(yysclient_jieshu)
        s = similarity.classify_aHash(image, yysclient_jieshu)

    return s
Example #4
0
def yuhun(t):
    #开始时间:
    print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())),
          '开始:')
    yuhun_tubiao()
    yuhun_dashe_tubiao()
    t = int(t)

    while t > 0:
        tiaozhan()
        #************这里要做一下验证,有时候会出现bug导致无法进入御魂。**********************
        s = 10
        j = 0
        #s= checking(opencvjietu.jieshu(),yuhun_jieshu_pic_s)
        while s >= 5:
            i = 10
            jieshu = opencvjietu.jieshu()
            jieshu = opencv_compare.PIL_opencv(jieshu)  # 截取图片
            s = similarity.classify_aHash(yuhun_jieshu_pic_s, jieshu)
            #print(s)
            yysclient = opencvjietu.yys_client()
            yysclient = opencv_compare.PIL_opencv(yysclient)
            i = similarity.classify_aHash(yuhun_shibai_pic, yysclient)
            #print('i=',i)
            if i < 5:
                j = j + 1  # 统计失败次数
                t = t + 1
                print('这是第', j, '次失败!')
                break

            #设置一个队列,把s存入队列中当队列中的数值都一样时证明停留在了同一画面
            time.sleep(2)
        #******御魂结束之后的等待时间有点长应该在中间加一个点击,另外一个问题就是如果结束是正好有好友来了协作就GG结束不了**************
        a = feature_matching(yuhun_jieshu_pic)
        mousedianji.mouse_click(a[0], a[1], 0)
        t = t - 1
        time.sleep(random.randint(0, 1))
        #打印基本信息
        print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())),
              '阴阳师大人,小助手已经帮您刷了', 500 - t, '次御魂了!总共失败', j, '次,继续加油哦!')
Example #5
0
def yuhun(t):
    yuhun_tubiao()
    yuhun_dashe_tubiao()
    t = int(t)

    while t > 0:
        tiaozhan()
        s = 10
        j = 0
        #s= checking(opencvjietu.jieshu(),yuhun_jieshu_pic_s)
        while s >= 5:
            i = 10
            jieshu = opencvjietu.jieshu()
            jieshu = opencv_compare.PIL_opencv(jieshu)  # 截取图片
            s = similarity.classify_aHash(yuling_jieshu_pic_s, jieshu)
            #print(s)
            defeated = opencvjietu.defeated()
            defeated = opencv_compare.PIL_opencv(defeated)
            i = similarity.classify_aHash(img_defeated, defeated)
            #print('i=',i)
            if i < 10:
                tiaozhan()
                j = j + 1  #统计失败次数
                t = t + 1
                print('这是第', j, '次失败!')
                break

            #设置一个队列,把s存入队列中当队列中的数值都一样时证明停留在了同一画面
            time.sleep(2)
        if s < 5:
            a = feature_matching(yuling_jieshu_pic)
            mousedianji.mouse_click(a[0], a[1], 0)
        t = t - 1
        time.sleep(random.randint(0, 3))
        print('阴阳师大人,小助手已经帮您刷了', 1000 - t, '次暗孔雀御灵了!总共失败', j, '次,继续加油哦!')
        #刷100,200,350,500,800次时停下来半个小时
        while t == 800 or t == 500 or t == 300 or t == 200 or t == 100:
            time.sleep(1800)