自动识图进行点击,用Python玩连连看是什么效果?
1、前言
Python实现的qq连连看辅助,仅用于学习,请在练习模式下使用,请不要拿去伤害玩家们
2、基本环境配置
版本:
系统:Windows
3、相关模块:
1conimporttimeimportrandom
1conimporttimeimportrandom
4、使用方法
开始游戏后运行就行了,再次提示,请在练习模式中使用,否则可能会被其他玩家举报。

效果图
5、代码实现
1in32con6importtime7importrandom89defcolor_hash(color):10value=""11foriinrange(5):12value+="%d,%d,%d,"%(color[0],color[1],color[2])13returnhash(value)141516defimage_hash(img):17value=""18foriinrange(5):19c=((i*3,i*3))20value+="%d,%d,%d,"%(c[0],c[1],c[2])21returnhash(value)222324defgame_area_image_to_matrix():25pos_to_image={}2627forrowinrange(ROW_NUM):28pos_to_image[row]={}29forcolinrange(COL_NUM):30grid_left=col*grid_width31grid_top=row*grid_height32grid_right=grid_left+grid_width33grid_bottom=grid_top+grid_height3435grid_image=game_area_((grid_left,grid_top,grid_right,grid_bottom))3637pos_to_image[row][col]=grid_image3839pos_to_type_id={}40image_map={}4142empty_hash=color_hash((48,76,112))4344forrowinrange(ROW_NUM):45pos_to_type_id[row]={}46forcolinrange(COL_NUM):47this_image=pos_to_image[row][col]48this_image_hash=image_hash(this_image)49ifthis_image_hash==empty_hash:50pos_to_type_id[row][col]=051continue52image_(this_image_hash,len(image_map)+1)53pos_to_type_id[row][col]=image_(this_image_hash)5455returnpos_to_type_id565758defsolve_matrix_one_step():59forkeyinmap:60arr=map[key]61arr_len=len(arr)62forindex1inrange(arr_len-1):63point1=arr[index1]64x1=point1[0]65y1=point1[1]66forindex2inrange(index1+1,arr_len):67point2=arr[index2]68x2=point2[0]69y2=point2[1]70ifverifying_connectivity(x1,y1,x2,y2):71(point1)72(point2)73matrix[y1][x1]=074matrix[y2][x2]=075ifarr_len==2:76(key)77returny1,x1,y2,x2787980defverifying_connectivity(x1,y1,x2,y2):81max_y1=y182whilemax_y1+1ROW_NUMandmatrix[max_y1+1][x1]==0:83max_y1+=184min_y1=y185whilemin_y1-1=0andmatrix[min_y1-1][x1]==0:86min_y1-=18788max_y2=y289whilemax_y2+1ROW_NUMandmatrix[max_y2+1][x2]==0:90max_y2+=191min_y2=y292whilemin_y2-1=0andmatrix[min_y2-1][x2]==0:93min_y2-=19495rg_min_y=max(min_y1,min_y2)96rg_max_y=min(max_y1,max_y2)97ifrg_max_y=rg_min_y:98forindex_yinrange(rg_min_y,rg_max_y+1):99min_x=min(x1,x2)100max_x=max(x1,x2)101flag=True102forindex_xinrange(min_x+1,max_x):103ifmatrix[index_y][index_x]!=0:104flag=False105break106ifflag:107returnTrue108109max_x1=x1110whilemax_x1+1COL_NUMandmatrix[y1][max_x1+1]==0:111max_x1+=1112min_x1=x1113whilemin_x1-1=0andmatrix[y1][min_x1-1]==0:114min_x1-=1115116max_x2=x2117whilemax_x2+1COL_NUMandmatrix[y2][max_x2+1]==0:118max_x2+=1119min_x2=x2120whilemin_x2-1=0andmatrix[y2][min_x2-1]==0:121min_x2-=1122123rg_min_x=max(min_x1,min_x2)124rg_max_x=min(max_x1,max_x2)125ifrg_max_x=rg_min_x:126forindex_xinrange(rg_min_x,rg_max_x+1):127min_y=min(y1,y2)128max_y=max(y1,y2)129flag=True130forindex_yinrange(min_y+1,max_y):131ifmatrix[index_y][index_x]!=0:132flag=False133break134ifflag:135returnTrue136137returnFalse138139140defexecute_one_step(one_step):141from_row,from_col,to_row,to_col=one_step142143from_x=game_area_left+(from_col+0.5)*grid_width144from_y=game_area_top+(from_row+0.5)*grid_height145146to_x=game_area_left+(to_col+0.5)*grid_width147to_y=game_area_top+(to_row+0.5)*grid_(from_x,from_y)150()151152(to_x,to_y)153()154155156if__name__=='__main__':157158COL_NUM=19159ROW_NUM=11160161screen_width=(0)162screen_height=(1)163164hwnd=(,'QQ游戏-连连看角色版')165ifhwnd==0:166exit(-1)167168(hwnd,_RESTORE)169(hwnd)170window_left,window_top,window_right,window_bottom=(hwnd)171ifmin(window_left,window_top)0orwindow_rightscreen_widthorwindow_bottomscreen_height:172exit(-1)173window_width=window_right-window_left174window_height=window_bottom-window_top175176game_area_left=window_left+14.0/800.0*window_width177game_area_top=window_top+181.0/600.0*window_height178game_area_right=window_left+603/800.0*window_width179game_area_bottom=window_top+566/600.0*window_height180181game_area_width=game_area_right-game_area_left182game_area_height=game_area_bottom-game_area_top183grid_width=game_area_width/COL_NUM184grid_height=game_area_height/ROW_NUM185186game_area_image=((game_area_left,game_area_top,game_area_right,game_area_bottom))187188matrix=game_area_image_to_matrix()189190map={}191192foryinrange(ROW_NUM):193forxinrange(COL_NUM):194grid_id=matrix[y][x]195ifgrid_id==0:196(grid_id,[])198arr=map[grid_id]199([x,y])200201=0202203whileTrue:204one_step=solve_matrix_one_step()205ifnotone_step:206exit(0)207execute_one_step(one_step)208((0,0)/1000)主要思路就是利用pywin32获取连连看游戏句柄,获取游戏界面的图片,对方块进行切割,对每个方块取几个点的颜色进行比对,均相同则认为是同一个方块,
推荐阅读
-
又是特斯拉!新能源的阴影:特斯拉连环撞车事故及背后的安全思考
慌乱街头的连环撞车特斯拉作为新能源汽车的代表,在高科技包装下的安全隐患逐渐浮出水面,让我们不得不重新审视其真实的安全系数。新能源汽车的蓬勃发展伴随环保意识的增强和技术的进步,新能源汽车市场近年来迅速扩大。多款具备智能辅助驾驶功能的电动车型成为趋势,主流消费者对新能源汽车产生了浓厚兴趣。绿色出行理念在...
-
被传言为鬼屋的外卖小哥,在密室中找到了年轻女子的遗物
在繁华的都市中,有一个被大家亲切称为风驰电车的外卖小哥,他的名字叫做凌风。凌风不仅送外卖速度快,更有着一双能洞察人心的眼睛和一颗热血的心。这天,林峰接到了一个特殊的订单,订单来自城市的最南端,一个被人们传言为鬼屋的老宅。但订单的酬金极高,足够林峰解决一个月的生活费。尽管有些好奇和忐忑,林峰还是决定前...
-
韩综《名单公开》票选韩娱圈传奇男团Top10,防弹少年团和EXO入选
上个月的韩国综艺节目《名单公开》,进行了10代至50代的民众投票共1500名,选出了TOP10的韩娱圈传奇男偶像!让我们看看分别是哪几团吧~TOP10水晶男孩,水晶男孩绝对是男团界的传奇人物,曾经解散过在靠著节目《无限挑战》的努力下再度重聚,而且成绩好到打败一堆新兴男团啊~新歌总是能进入各大音源榜前...
-
葫芦娃救爷爷,一个一个送,来看看他们都是怎么把对手送超神的
大娃大娃拥有的能力是有无穷的力量,可以把身体变得十分巨大,移动巨大岩石等等简直如探囊取物,但是就在救爷爷的过程中,直接就被妖精蛊惑,然后利用假爷爷诱骗进了沼泽中,这样就算力量再大也发挥不出来了。而在续集中,大娃虽然没有第一部中那么废材了,还是和妖精交手了多个回合,无奈妖精法宝太过于强大,被这些金钱所...