持续无聊中,看到别踩白块儿觉得这个脚本貌似比较好写。 需要用到的python 库如下 打开4399,选一个别踩白块的小游戏,点击全屏固定屏幕,按下F12获取该窗口的标题 由于我用谷歌浏览器,所以titile = u”别再踩白块了_别再踩白块了html5游戏在线玩_4399h5游戏-4399在线玩 – Google Chrome” 随便选一个模式,进去后是这样的: 只要我们点击一下黑块,上面一行就会下来,所以我们只要追踪倒数第二行就行,一直判断倒数第二行到底点击第几个方块。 利用picpick软件获取倒数第二行的位置信息,将其截取成图片 截取图片之后还要对图片进行二值化处理,方便统计,如下所示: 接着上面截取的图片做4次像素遍历统计,这里我们不用将图片分成4块,只需要在特定位置截取4个20*20的矩形,判断这4个矩形中谁的黑色像素占比最大,谁就是黑块,当然我们也可以把尺寸截取小一点10*10, 5*5都行,目的只是为了快速计算,毕竟这里面有一个模式是速度逐渐增大的,所以哈哈,为了破纪录不择手段。如下所示 知道第几个方块是黑块就用鼠标点击那个位置就好了! 传入一个runNum参数,控制程序执行次数,由于追求速度,就没用time.sleep()函数 完整代码如下,很短欸,60多行: 以前4399给我带来很多乐趣,现在依旧哈哈,gif图演示,超级模糊    
 
import pyautogui from PIL import ImageGrab, Image import win32gui,win32api,win32con



 
import pyautogui from PIL import ImageGrab, Image import win32gui,win32api,win32con import cv2 import numpy import time  pyautogui.FAILSAFE = False  class GameAssist:      # 初始化     def __init__(self, winName):         self.handwin = win32gui.FindWindow(0, winName)         if not self.handwin:             print("无法找到窗口")             exit()         # 放置最前         win32gui.SetForegroundWindow(self.handwin)         # 截取的四个块位置         self.fourRect = (523, 474, 843, 583)         # 从哪里开始统计黑色像素,相对坐标         self.localFourPos = ((20, 20), (100, 20), (180, 20), (260, 20))         # 每个统计尺寸(宽、高)         self.localSize = (20, 20)      # 根据图片判断按那个方块     def img2ans(self, img):         # 二值化         img = img.convert('1')         # 四个方块黑色占比         scoreList = []         # 分别遍历四个区域         for idex in range(4):             # 黑色像素占比             blackScore = 0             for i in range(self.localFourPos[idex][1], self.localFourPos[idex][1] + self.localSize[1]):                 for j in range(self.localFourPos[idex][0], self.localFourPos[idex][0] + self.localSize[0]):                     if img.getpixel((j, i)) == 0:                         blackScore += 1             scoreList.append(blackScore)         # 返回最大值的下标         return scoreList.index(max(scoreList))        # 主控制程序,runNum 执行次数     def master(self, runNum):         for num in range(runNum):             blockImg = ImageGrab.grab(self.fourRect)             ans = self.img2ans(blockImg)             #pyautogui.click(x=self.fourRect[0] + self.localFourPos[ans][0],             #                y=self.fourRect[1] + self.localFourPos[ans][1])             pyautogui.click(x=self.fourRect[0] + self.localFourPos[ans][0],                             y=self.fourRect[1] + self.localFourPos[ans][1] + 60)             #time.sleep(0.1)         pass    if __name__ == "__main__":     winName = u"别再踩白块了_别再踩白块了html5游戏在线玩_4399h5游戏-4399在线玩 - Google Chrome"     demo = GameAssist(winName)     demo.master(100)  
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算
 官方软件产品操作指南 (170)
官方软件产品操作指南 (170)