3366游戏中的彩色砖块小游戏 3366

likecao 的BLOG
用户名:likecao
访问量:84380
注册日期:
阅读量:5863
阅读量:12276
阅读量:380479
阅读量:1072769
[匿名]MJ008:
51CTO推荐博文
&&&&& 由于女朋友每天玩这个小游戏,每天挑战我&&囧,只好写了一个辅助工具帮我自动满分,最后的结果是大家一起满分&&本人不是程序员,请大家指正。
&&&&& 主要使用了PIL模块和pymouse模块,一个做图像识别,另一个做自动点击,这个小工具只在我的电脑,Python2.5+XP下测试通过。
&&&&&&&&&&&&&&import© &import&time &import&random &import&pymouse &from&PIL&import&ImageGrab &from&PIL&import&Image &&raw_input(u&输入任意键开始&&&.encode(&gb2312&)) &&gray&=&(237,&237,&237) &white&=&(247,&247,&247) &&color&=&{ &&&&&1:(0,&102,&255),&&&&&&2:(255,&102,&102),&&&&&&3:(204,&102,&204),&&&&&4:(204,&102,&0),&&&&&&5:(0,&204,&0),&&&&&&6:(102,&204,&204),&&&&&7:(255,&153,&0),&&&&&8:(187,&187,&187),&&&&&9:(204,&204,&102),&&&&&10:(255,&136,&255)&&&&&} &&blockSize&=&25&&gameSize&=&[23,&15] &&&&screen&=&ImageGrab.grab() &&xy&=&screen.load() &&&print&u&正在获取游戏起始坐标&&&&isGray&=&False&&isWhite&=&False&for&y&in&xrange(screen.size[1]): &&&&&for&x&in&xrange(screen.size[0]): &&&&&&&&&if&xy[x,&y]&==&gray: &&&&&&&&&&&&&&&&&&&&&&&&&&for&i&in&xrange(blockSize): &&&&&&&&&&&&&&&&&try: &&&&&&&&&&&&&&&&&&&&&if&xy[x+i,&y]&==&gray: &&&&&&&&&&&&&&&&&&&&&&&&&isGray&=&True&&&&&&&&&&&&&&&&&&&&&else: &&&&&&&&&&&&&&&&&&&&&&&&&isGray&=&False&&&&&&&&&&&&&&&&&&&&&&&&&break&&&&&&&&&&&&&&&&&except&IndexError: &&&&&&&&&&&&&&&&&&&&&&&&&isGray&=&False&&&&&&&&&&&&&&&&&&&&&&&&&break&&&&&&&&&&&&&&if&isGray&==&True: &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&if&xy[x-1,&y]&==&white&and&xy[x+blockSize,&y]&==&white: &&&&&&&&&&&&&&&&&&&&&isWhite&=&True&&&&&&&&&&if&isWhite&==&True:&break&&&&&if&isWhite&==&True:&break&&&gamePos&=&[x+10,&y+31+10] &&array&=&[] &for&y&in&xrange(gameSize[1]): &&&&&xArray&=&[] &&&&&for&x&in&xrange(gameSize[0]): &&&&&&&&&&&&&&&&&&blackRGB&=&xy[gamePos[0]+blockSize*x,&gamePos[1]+blockSize*y] &&&&&&&&&&&&&&&&&&if&blackRGB&in&[gray,&white]: &&&&&&&&&&&&&xArray.append(0) &&&&&&&&&else: &&&&&&&&&&&&&for&key&in&color: &&&&&&&&&&&&&&&&&if&color[key]&==&blackRGB: &&&&&&&&&&&&&&&&&&&&&xArray.append(key) &&&&&&&&&&&&&&&&&&&&&break&&&&&array.append(xArray) &&ar&=©.deepcopy(array) &&&def&check(x,&y): &&&&&border&=&[] &&&&&&&&&&i&=&0&&&&&while&True: &&&&&&&&&i&=&i+1&&&&&&&&&z&=&y-i &&&&&&&&&if&z&in&[-1,&23]: &&&&&&&&&&&&&break&&&&&&&&&if&array[x][z]&!=&0: &&&&&&&&&&&&&border.append([x,&z]) &&&&&&&&&&&&&break&&&&&&&&&&i&=&0&&&&&while&True: &&&&&&&&&i&=&i+1&&&&&&&&&z&=&y+i &&&&&&&&&if&z&in&[-1,&23]: &&&&&&&&&&&&&break&&&&&&&&&if&array[x][z]&!=&0: &&&&&&&&&&&&&border.append([x,&z]) &&&&&&&&&&&&&break&&&&&&&&&&i&=&0&&&&&while&True: &&&&&&&&&i&=&i+1&&&&&&&&&z&=&x-i &&&&&&&&&if&z&in&[-1,&15]: &&&&&&&&&&&&&break&&&&&&&&&if&array[z][y]&!=&0: &&&&&&&&&&&&&border.append([z,&y]) &&&&&&&&&&&&&break&&&&&&&&&&i&=&0&&&&&while&True: &&&&&&&&&i&=&i+1&&&&&&&&&z&=&x+i &&&&&&&&&if&z&in&[-1,&15]: &&&&&&&&&&&&&break&&&&&&&&&if&array[z][y]&!=&0: &&&&&&&&&&&&&border.append([z,&y]) &&&&&&&&&&&&&break&&&&&return&border &&&def&compare(border,&doCompare=False): &&&&&a&=&border.pop() &&&&&aValue&=&array[a[0]][a[1]] &&&&&list&=©.deepcopy(border) &&&&&for&b&in&list: &&&&&&&&&bValue&=&array[b[0]][b[1]] &&&&&&&&&if&aValue&==&bValue: &&&&&&&&&&&&&array[a[0]][a[1]]&=&0&&&&&&&&&&&&&array[b[0]][b[1]]&=&0&&&&&&&&&&&&&border.remove(b) &&&&&&&&&&&&&doCompare&=&True&&&&&if&border&!=&[]:&doCompare&=&compare(border,&doCompare) &&&&&return&doCompare &&&def&simClick(): &&&&&emptyBlack&=&[] &&&&&for&x,&xArray&in&enumerate(array): &&&&&&&&&for&y,&value&in&enumerate(xArray): &&&&&&&&&&&&&&&&&&&&&&&&&&if&value&==&0: &&&&&&&&&&&&&&&&&emptyBlack.append([x,&y]) &&&&&lenEmptyBlack&=&len(emptyBlack) &&&&&&&&&&if&lenEmptyBlack&==&gameSize[0]*gameSize[1]:&return&&complete&&&&&&for&i&in&xrange(lenEmptyBlack): &&&&&&&&&randomBlack&=&random.choice(emptyBlack) &&&&&&&&&x,&y&=&randomBlack &&&&&&&&&border&=&check(x,&y) &&&&&&&&&if&border&!=&[]: &&&&&&&&&&&&&if&compare(border)&==&True: &&&&&&&&&&&&&&&&&return&randomBlack &&&&&&&&&&return&&fail&&&&def&algorithm(): &&&&&print&u&正在计算正确的点击顺序&&&&&&&&while&True: &&&&&&&&&clickOrder&=&[] &&&&&&&&&global&array &&&&&&&&&array&=©.deepcopy(ar) &&&&&&&&&while&True: &&&&&&&&&&&&&randomBlack&=&simClick() &&&&&&&&&&&&&if&randomBlack¬&in&[&complete&,&&fail&]: &&&&&&&&&&&&&&&&&clickOrder.append(randomBlack) &&&&&&&&&&&&&&&&&continue&&&&&&&&&&&&&if&randomBlack&==&&fail&:&break&&&&&&&&&&&&&else:&return&clickOrder &&&def&playGame(clickOrder): &&&&&&&&&&print&u&开始自动玩游戏&&&&&&&&mouse&=&pymouse.PyMouse() &&&&&for&x,&y&in&clickOrder: &&&&&&&&&mouse.press(gamePos[0]+blockSize*y,&gamePos[1]+blockSize*x) &&&&&&&&&time.sleep(0.6) &&&&&print&u&完成!3秒后自动退出!&&&&&&time.sleep(3) &&playGame(algorithm()) &&&
&本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)
11:17:15 13:31:53 11:11:50 22:49:343366 砖块***器 33666小游戏***器 3366彩色砖块***器.rar 百度云网盘下载_西西网
西西网() 亿级数据量,互联网资源,一网打尽.
当前位置:>>>>3366 砖块***器 33666小游戏***器 3366彩色砖块***器.rar
分享者信息
3366 砖块***器 33666小游戏***器 3366彩色砖块***器.rar
高速无密码下载地址
网盘分享链接地址
相关说明:
资源:3366 砖块***器 33666小游戏***器 3366彩色砖块***器.rar
相关文件均存储在百度网盘。本站为您免费提供强有力的网盘资源搜索,建议使用前选用百度杀毒 金山杀毒等杀毒工具通过后再使用。
    联系我们:      
本站仅提供的资源搜索服务,不存放任何实质内容。如有侵权内容请联系百度云盘,源资源删除后本站的链接将自动失效。& 2016 咕咕猪 黔ICP备号-1

参考资料

 

随机推荐