def iterFind(method, beginInterval=defaultInterval, iternum=endIter, iterInterval=interval): btnx = 0 btny = 0 # 第一次搜索的时间间隔 time.sleep(beginInterval) # 找到映射的方法,传入string值,得到相应的btnx,btny btnx, btny = methodMap(method) # 如果传入的string名称错误,证明没有此函数,退出程序 if btnx == -1: print("方法名有误") os._exit(0) return -1, -1 print("开始查找" + method) print(btnx, btny) iter = 0 # 如果第一次未找到,循环进行查找,迭代iternum次,每次间隔iterInterval while (btnx == 0 and btny == 0) and iter < iternum: time.sleep(iterInterval) btnx, btny = methodMap(method) iter += 1 print(btnx, btny) print(method + "查找次数:", iter) if iter > closenum: cg.closegame() exit(0) print(method + "查找次数", iter) # 时间太长了有问题 if iter == endIter: print(method + "查找有问题") return -1, -1 print(method + "查找成功") return btnx, btny
def fight(): for i in range(fight_n): #大宝箱 print("搜索大宝箱") btnx, btny = BM.iterfindpic(imgroot1 + "dabaoxiang" + imgtype, confi=0.8, internaltime=0.1, mosttime=3) if btnx > 0: pag.click(btnx + random.randint(-5, 5), btny + random.randint(-5, 5)) time.sleep(5) pag.click(385 + random.randint(-5, 5), 398 + random.randint(-5, 5)) time.sleep(2) print("搜索地域鬼王") # 如果在找到地域鬼王,说明未在搜索界面 btnx, btny = BM.iterfindpic(imgroot1 + "digui" + imgtype, confi=0.8, internaltime=0.1, mosttime=3) if btnx > 0: print("点击第二十八章") pag.click(1180 + random.randint(-10, 10), 670 + random.randint(-5, 5)) time.sleep(1) btnx, btny = BM.iterfindpic(imgroot1 + "sousuo" + imgtype, confi=0.8, internaltime=0.1, mosttime=5) if btnx > 0: print("点击搜索") pag.click(btnx + random.randint(-10, 10), btny + random.randint(-5, 5)) btnx, btny = BM.iterfindpic(imgroot1 + "queding" + imgtype, confi=0.8, internaltime=0.1, mosttime=5) if btnx > 0: print("点击搜索") pag.click(btnx + random.randint(-10, 10), btny + random.randint(-5, 5)) one_sousuo() print("第" + str(i + 1) + "次探索结束") print("还有" + str(fight_n - i - 1) + "次") time.sleep(2) print("全部结束,关闭游戏") cg.closegame()
def close_game(num): if num >= maxiter and cgflag: print("关闭游戏") cg.closegame()