首页 手机游戏 手机软件 新闻 攻略 手游礼包 手游开测 手游合集 手游专区 排行榜

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有任何问题(学习方法,学习效率,如何就业)都可以问我。希望你也能凭自己的努力,成为下一个优秀的程序员!

本文标签:

相关阅读 更多
QQ

QQ

  • 类型:聊天交友
  • 语言:简中
  • 大小: 104.78MB
  • 版本: 8.5.5
  • 星级:
简介:QQ是大家众所周知的软件,一款可以聊天交友还可以生活工作办公的软件。目前,已经覆盖了很多不同的主流平台,企鹅是它的标志。可以聊天,进行语音,还可以进行视频,传送办公文件,同时还
立即下载