qqt外挂(qq代挂软件)
时间:2022-04-03 11:27:54
小编:Python学习圈
阅读:
源自:
https://laboo.top/2018/11/07/lianliankan/
基本环境配置
版本:Python3.6
系统:Windows
相关模块:
importPIL.ImageGrabimportpyautoguiimportwin32apiimportwin32guiimportwin32conimporttimeimportrandom
使用方法
开始游戏后运行就行了, 再次提示, 请在练习模式中使用, 否则可能会被其他玩家举报
效果图
代码实现
importPIL.ImageGrabimportpyautoguiimportwin32apiimportwin32guiimportwin32conimporttimeimportrandom'''想要学习Python?Python学习交流群:452739833满足你的需求,资料都已经上传群文件流,可以自行下载!'''defcolor_hash(color):value=""foriinrange(5):value+="%d,%d,%d,"%(color[0],color[1],color[2])returnhash(value)defimage_hash(img):value=""foriinrange(5):c=img.getpixel((i*3,i*3))value+="%d,%d,%d,"%(c[0],c[1],c[2])returnhash(value)defgame_area_image_to_matrix():pos_to_image={}forrowinrange(ROW_NUM):pos_to_image[row]={}forcolinrange(COL_NUM):grid_left=col*grid_widthgrid_top=row*grid_heightgrid_right=grid_left+grid_widthgrid_bottom=grid_top+grid_heightgrid_image=game_area_image.crop((grid_left,grid_top,grid_right,grid_bottom))pos_to_image[row][col]=grid_imagepos_to_type_id={}image_map={}empty_hash=color_hash((48,76,112))forrowinrange(ROW_NUM):pos_to_type_id[row]={}forcolinrange(COL_NUM):this_image=pos_to_image[row][col]this_image_hash=image_hash(this_image)ifthis_image_hash==empty_hash:pos_to_type_id[row][col]=0continueimage_map.setdefault(this_image_hash,len(image_map)+1)pos_to_type_id[row][col]=image_map.get(this_image_hash)returnpos_to_type_iddefsolve_matrix_one_step():forkeyinmap:arr=map[key]arr_len=len(arr)forindex1inrange(arr_len-1):point1=arr[index1]x1=point1[0]y1=point1[1]forindex2inrange(index1+1,arr_len):point2=arr[index2]x2=point2[0]y2=point2[1]ifverifying_connectivity(x1,y1,x2,y2):arr.remove(point1)arr.remove(point2)matrix[y1][x1]=0matrix[y2][x2]=0ifarr_len==2:map.pop(key)returny1,x1,y2,x2defverifying_connectivity(x1,y1,x2,y2):max_y1=y1whilemax_y1+1<ROW_NUMandmatrix[max_y1+1][x1]==0:max_y1+=1min_y1=y1whilemin_y1-1>=0andmatrix[min_y1-1][x1]==0:min_y1-=1max_y2=y2whilemax_y2+1<ROW_NUMandmatrix[max_y2+1][x2]==0:max_y2+=1min_y2=y2whilemin_y2-1>=0andmatrix[min_y2-1][x2]==0:min_y2-=1rg_min_y=max(min_y1,min_y2)rg_max_y=min(max_y1,max_y2)ifrg_max_y>=rg_min_y:forindex_yinrange(rg_min_y,rg_max_y+1):min_x=min(x1,x2)max_x=max(x1,x2)flag=Trueforindex_xinrange(min_x+1,max_x):ifmatrix[index_y][index_x]!=0:flag=Falsebreakifflag:returnTruemax_x1=x1whilemax_x1+1<COL_NUMandmatrix[y1][max_x1+1]==0:max_x1+=1min_x1=x1whilemin_x1-1>=0andmatrix[y1][min_x1-1]==0:min_x1-=1max_x2=x2whilemax_x2+1<COL_NUMandmatrix[y2][max_x2+1]==0:max_x2+=1min_x2=x2whilemin_x2-1>=0andmatrix[y2][min_x2-1]==0:min_x2-=1rg_min_x=max(min_x1,min_x2)rg_max_x=min(max_x1,max_x2)ifrg_max_x>=rg_min_x:forindex_xinrange(rg_min_x,rg_max_x+1):min_y=min(y1,y2)max_y=max(y1,y2)flag=Trueforindex_yinrange(min_y+1,max_y):ifmatrix[index_y][index_x]!=0:flag=Falsebreakifflag:returnTruereturnFalsedefexecute_one_step(one_step):from_row,from_col,to_row,to_col=one_stepfrom_x=game_area_left+(from_col+0.5)*grid_widthfrom_y=game_area_top+(from_row+0.5)*grid_heightto_x=game_area_left+(to_col+0.5)*grid_widthto_y=game_area_top+(to_row+0.5)*grid_heightpyautogui.moveTo(from_x,from_y)pyautogui.click()pyautogui.moveTo(to_x,to_y)pyautogui.click()if__name__=='__main__':COL_NUM=19ROW_NUM=11screen_width=win32api.GetSystemMetrics(0)screen_height=win32api.GetSystemMetrics(1)hwnd=win32gui.FindWindow(win32con.NULL,'QQ游戏-连连看角色版')ifhwnd==0:exit(-1)win32gui.ShowWindow(hwnd,win32con.SW_RESTORE)win32gui.SetForegroundWindow(hwnd)window_left,window_top,window_right,window_bottom=win32gui.GetWindowRect(hwnd)ifmin(window_left,window_top)<0orwindow_right>screen_widthorwindow_bottom>screen_height:exit(-1)window_width=window_right-window_leftwindow_height=window_bottom-window_topgame_area_left=window_left+14.0/800.0*window_widthgame_area_top=window_top+181.0/600.0*window_heightgame_area_right=window_left+603/800.0*window_widthgame_area_bottom=window_top+566/600.0*window_heightgame_area_width=game_area_right-game_area_leftgame_area_height=game_area_bottom-game_area_topgrid_width=game_area_width/COL_NUMgrid_height=game_area_height/ROW_NUMgame_area_image=PIL.ImageGrab.grab((game_area_left,game_area_top,game_area_right,game_area_bottom))matrix=game_area_image_to_matrix()map={}foryinrange(ROW_NUM):forxinrange(COL_NUM):grid_id=matrix[y][x]ifgrid_id==0:continuemap.setdefault(grid_id,[])arr=map[grid_id]arr.append([x,y])pyautogui.PAUSE=0whileTrue:one_step=solve_matrix_one_step()ifnotone_step:exit(0)execute_one_step(one_step)time.sleep(random.randint(0,0)/1000)
(左右滑动可查看完整代码)
主要思路就是利用pywin32获取连连看游戏句柄, 获取游戏界面的图片, 对方块进行切割, 对每个方块取几个点的颜色进行比对, 均相同则认为是同一个方块,
然后模拟鼠标去消就行了, 代码的最后一行是每次点击的间隔
这里小编是一个有着5年工作经验的Python工程师,关于Python有一个完整学习Python的路线,学习材料和工具。需要的伙伴可以私信我,发送“Python”就可以获取领取地址,免费送给大家。对于学习Python有任何问题(学习方法,学习效率,如何就业)都可以问我。希望你也能凭自己的努力,成为下一个优秀的程序员!
本文标签:
-
火影忍者疾风传究极觉醒2(火影忍者疾风传究极觉醒2存档)文/石若萧3月,没有多少质量过硬的影片上映,再加上多地受到疫情影响关闭了影院,全国大盘连续数日都只徘徊在千余万的规模,这点收入摊到每家影院,恐怕连水电房租都难以缴纳。这时候时间:2022-04-22
-
火影忍者疾风传国语(火影忍者疾风传国语版全集国语版在线观看)火影忍者疾风传已经完结,没有追番都小伙伴难道不追了吗?接下来为大家盘点一下火影忍者必看的战斗画面有哪些。1.卡卡西VS桃地再不斩这是火影忍者中的第一次真正的战斗,向我们充时间:2022-04-22
-
火影忍者羁绊密码(火影忍者羁绊密码6.95)随着火影忍者手游二测的开启,全新的羁绊系统终于解开了神秘面纱,我们都知道“羁绊”一次是火影忍者中的意义,所以羁绊系统也是游戏内十分重要的系统之一,羁绊系统可以增加玩家的时间:2022-04-22
-
火影忍者羁绊60六道仙人箴言(火影忍者羁绊6.9仙人真谛)秋名山上行人稀,头昏眼花血糖低。身娇体弱易推倒,带带我吧老司机。第一个:水门在九尾袭击木叶时,水门算好了面具男将来会祸害忍界,于是将一半的九尾之力封印在鸣人体内,还留下了时间:2022-04-22
-
火影忍者羁绊571(火影忍者羁绊571隐藏密码)2021.11.02 农历 九月二十八 辛丑年 【牛年】 戊戌月 甲寅日 周二 第44周希腊概况希腊Ελληνική Δημοκρατία希腊共和国(希腊语:Ελληνική Δημοκ时间:2022-04-22
- 类型:聊天交友
- 语言:简中
- 大小: 104.78MB
- 版本: 8.5.5
- 星级:
热门阅读
- 暗黑3魔盒(暗黑3魔盒使用攻略)
阅读:3577
- dnf五一(dnf五一套2022)
阅读:2266
- 艾尔登法环摩恩城支线攻略 老头环摩恩城主女儿支线任务
阅读:2219
- 微博不小心点了催更怎么取消(视频催更怎么关)
阅读:1931
- 斗罗大陆小舞篇破解版(斗罗大陆小舞篇破解版安卓)
阅读:1647