持续无聊中,看到别踩白块儿觉得这个脚本貌似比较好写。

需要用到的python 库如下

import pyautogui
from PIL import ImageGrab, Image
import win32gui,win32api,win32con

打开4399,选一个别踩白块的小游戏,点击全屏固定屏幕,按下F12获取该窗口的标题

由于我用谷歌浏览器,所以titile = u"别再踩白块了_别再踩白块了html5游戏在线玩_4399h5游戏-4399在线玩 - Google Chrome"

随便选一个模式,进去后是这样的:

只要我们点击一下黑块,上面一行就会下来,所以我们只要追踪倒数第二行就行,一直判断倒数第二行到底点击第几个方块。

利用picpick软件获取倒数第二行的位置信息,将其截取成图片

截取图片之后还要对图片进行二值化处理,方便统计,如下所示:

接着上面截取的图片做4次像素遍历统计,这里我们不用将图片分成4块,只需要在特定位置截取4个20*20的矩形,判断这4个矩形中谁的黑色像素占比最大,谁就是黑块,当然我们也可以把尺寸截取小一点10*10, 5*5都行,目的只是为了快速计算,毕竟这里面有一个模式是速度逐渐增大的,所以哈哈,为了破纪录不择手段。如下所示

知道第几个方块是黑块就用鼠标点击那个位置就好了!

传入一个runNum参数,控制程序执行次数,由于追求速度,就没用time.sleep()函数

完整代码如下,很短欸,60多行:

import pyautogui
from PIL import ImageGrab, Image
import win32gui,win32api,win32con
import cv2
import numpy
import timepyautogui.FAILSAFE = Falseclass 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 = 0for 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 += 1scoreList.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)passif __name__ == "__main__":winName = u"别再踩白块了_别再踩白块了html5游戏在线玩_4399h5游戏-4399在线玩 - Google Chrome"demo = GameAssist(winName)demo.master(100)

以前4399给我带来很多乐趣,现在依旧哈哈,gif图演示,超级模糊

python 4399别踩白块儿脚本相关推荐

  1. python+opencv别踩白块儿游戏辅助,一天一个opencv小项目(已开源)

    python+opencv别踩白块儿游戏辅助,一天一个opencv小项目(已开源) 见链接

  2. Java“别踩白方块”脚本

    Java"别踩白方块"脚本代码 1 基本函数 使用awt包的Robot类,来完成获取像素点颜色,模拟按键,模拟鼠标等等. import java.awt.*; public cla ...

  3. Cocos别踩白块儿案列1

    Cocos  版本3.10 1.游戏介绍: <别踩白块儿>是由 Umoni Studio (Umoni Entertainment Limited 的前身)"制作的一款休闲益智游 ...

  4. 别踩白块儿 开源免费(C++)

    别踩白块儿(C++) 演示视频 调用EasyX图形库,电脑没有安装图形库的话,无法运行 EasyX下载 源码下载 //主要代码,源码请下载源码文件//游戏开始 void Begin() {MOUSEM ...

  5. 团队项目代码分析(Android游戏:别踩白块儿)

    代码组成部分: 关键代码主要分为三大部分,如下图所示(用思维导图的形式展示): 代码调用关系 通过MainActivity调用其他类❤,具体见核心代码分析! 核心代码分析 public class P ...

  6. 基于Linux、QT、C++的“别踩白块儿”小游戏

    基于Linux.QT.C++的"别踩白块儿"小游戏 源码链接 一.功能实现 完善的游戏界面.游戏倒计时.得分记录.历史最高分显示 二.功能描述 1.界面为4*4,一行中只有一个黑块 ...

  7. QT 小游戏 : 别踩白块儿~

    一.实现思路 QPainter 绘制 游戏界面 PS:根据方块坐标链表绘制所有方块 支持两种操作方式 PS:鼠标事件 和 键盘事件(Q,W,E,R,T) 定时器(10ms) 刷新 方块坐标数据 根据得 ...

  8. 初学JS——利用JS制作的别踩白块儿(街机模式) 小游戏

    初学JS--利用JS制作的别踩白块儿(街机模式) 小游戏 这个是上个星期5写的了,当时是突然想写个游戏,就想到了别踩白块儿,当时的想法是 可能普通模式的别踩白块儿因为他的"块儿"是 ...

  9. 傅小森的游戏制作之路-别踩白块儿

    项目前言 别踩白块儿 这- 还用开发吗? 别人已经制作了呀 触屏版本多的是 是挺多的 但是 你见过按键版本的嘛? 没见过吧 这就是需要开发出来 , 进入项目需求环节 项目需求 别踩白块儿 顾名思义:不 ...

最新文章

  1. VirtualBox下安装rhel5.5 linux系统
  2. 负载均衡(Load Balancing)学习笔记(二)
  3. 一年后斩获腾讯T3,层层深入
  4. winform利用委托传值到datagridview_C# Winform 跨多级窗体/控件传值
  5. mergesort_Mergesort算法的功能方法
  6. Python | threading01 - 创建两个同时运行的子线程
  7. C# HashSet 实例
  8. 空号检测、号码状态查询接口免费测试、精准实时版(支持携号转网查询)
  9. 愉快的在vscode上刷leetcode
  10. MATLAB中.m文件命名规则
  11. 高等工程数学(一):线性空间
  12. 语速对科大讯飞,百度,思必驰,云知声的语音引擎识别结果影响对比
  13. 百度信誉保障服务架构全解析
  14. 「转录组」WGCNA实战原理两不误
  15. 阿里巴巴的东南亚战事:另一次拼多多式的奇袭
  16. 《历》·陕西帝王陵寝一览
  17. 微服务构建思路与方法论
  18. 深度学习01——入门基础 基于Python
  19. PMOS与NMOS的区别
  20. Java实现的小根堆

热门文章

  1. async/await 中的 try/catch
  2. linux和windows双系统互拷文件乱码问题,linux和windows双系统互拷文件乱码问题
  3. Xshell修改用户名字体颜色
  4. java中如何定义一个_java中如何定义一个方法
  5. 遵循gpl协议 采用jar包_采用GPL协议的程序,可以免费应用于商业用途吗?
  6. jQuery中如何判断checkbox是否被选中
  7. Mac版酷狗在线播放器
  8. python时间序列分析按月_利用 Python 进行时间序列分析
  9. 造车不是打群架,有没有“势力”不重要,有“实力”才是关键
  10. 电子工程师自学成才pdf_作为一名自学成才的软件工程师,我在第一个月的工作中所学到的知识