首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python 实现自动扫雷

Python+OpenCV实现了自动扫雷,突破世界记录,我们先来看一下效果吧。...扫雷作为一款在Windows9x时代就已经诞生的经典游戏,从过去到现在依然都有着它独特的魅力:快节奏高精准的鼠标操作要求、快速的反应能力、刷新纪录的快感,这些都是扫雷给雷友们带来的、只属于扫雷的独一无二的兴奋点...▍0x00 准备 准备动手制作一套扫雷自动化软件之前,你需要准备如下一些工具/软件/环境 - 开发环境 Python3 环境 - 推荐3.6或者以上 [更加推荐Anaconda3,以下很多依赖库无需安装...] numpy依赖库 [如有Anaconda则无需安装] PIL依赖库 [如有Anaconda则无需安装] opencv-python win32gui、win32api依赖库 支持Python的IDE...之后笔者做的工作就是判断当前鼠标位置是否在棋盘之内,如果是,就会自动开始识别并且点击。

62111

厉害了,用Python实现自动扫雷

转载自Python网络爬虫与数据挖掘 ? 自动扫雷一般分为两种,一种是读取内存数据,而另一种是通过分析图片获得数据,并通过模拟鼠标操作,这里我用的是第二种方式。...一、准备工作 1、扫雷游戏 我是win10,没有默认的扫雷,所以去扫雷网下载 http://www.saolei.net/BBS/ ?...2、python 3 我的版本是 python 3.6.1 3、python的第三方库 win32api,win32gui,win32con,Pillow,numpy,opencv 可通过 pip install...—upgrade SomePackage 来进行安装 注意:有的版本是下载pywin32,但是有的要把pywin32升级到最高并自动下载了pypiwin32,具体情况每个python版本可能都略有不同...二、关键代码组成 1、找到游戏窗口与坐标 #扫雷游戏窗口 class_name = "TMain" title_name = "Minesweeper Arbiter " hwnd = win32gui.FindWindow

1.4K31
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Python游戏开发之利用Python实现自动扫雷小脚本

    自动扫雷一般分为两种,一种是读取内存数据,而另一种是通过分析图片获得数据,并通过模拟鼠标操作,这里我用的是第二种方式。...代码已上传至GitHub: https://github.com/chestnut-egg/GoMine 作者:chestnut_egg 一、准备工作 1.扫雷游戏 我是win10,没有默认的扫雷,所以去扫雷网下载...2.python 3 我的版本是 python 3.6.1 3.python的第三方库 win32api,win32gui,win32con,Pillow,numpy,opencv 可通过 pip install...--upgrade SomePackage 来进行安装 注意:有的版本是下载pywin32,但是有的要把pywin32升级到最高并自动下载了pypiwin32,具体情况每个python版本可能都略有不同...二、关键代码组成 1.找到游戏窗口与坐标 #扫雷游戏窗口 class_name = "TMain" title_name = "Minesweeper Arbiter " hwnd = win32gui.FindWindow

    1.1K10

    python实现文字版扫雷

    本文实例为大家分享了python实现文字版扫雷的具体代码,供大家参考,具体内容如下 python版本:2.7 游戏运行图: ?...参数:输入整型x,y 表示要扫雷的位置,x为横坐标,y为纵坐标 x/y = 99,刷新地图 x/y = 88,结束游戏 返回: True:扫雷成功 False:扫雷失败 """ if x in range...continue else: x = int(x) y = int(y) if game.input_pos(y,x): #输入扫雷的位置 print "扫雷成功!"...game.show_game(True) #游戏结束 game.show_result() sys.exit(0) 更多有趣的经典小游戏实现专题,分享给大家: C++经典小游戏汇总 python经典小游戏汇总...python俄罗斯方块游戏集合 JavaScript经典游戏 玩不停 java经典小游戏汇总 javascript经典小游戏汇总 以上就是本文的全部内容,希望对大家的学习有所帮助。

    92820

    使用 python 的单人AI 扫雷游戏

    AI玩扫雷 很高兴又见面了! 扫雷是一款单人益智游戏,相信大部分人都在以前上微机课的时候玩过。...今天我们用 Python 完成这个小程序,并且用AI来学习并实现它。 看看我们将要实现的最终样子。 运行扫雷 1.确保安装了Python 3.6+。 2.安装Pygame。...3.克隆这个存储库: GitHub地址:https://github.com/wanghao221/minesweeper 设置 minesweeper.py ⚓ 扫雷游戏表示 class Minesweeper...def won(self): return self.mines_found == self.mines 关于扫雷游戏的逻辑语句 一个句子由一组棋盘单元和这些单元格的数量组成。...我已经写了很长一段时间的技术博客,并且主要通过CSDN发表,这是我的一篇 Python 单人AI扫雷游戏教程。我乐于通过文章分享技术与快乐。

    1.2K10

    扫雷

    1 前言 终极目标:打造多关卡扫雷游戏 制作环境: VS2015 支持:VC++2010 VS各个版本 easyx图形库(点我...) 一直想发表扫雷这种锻炼思维的游戏,其实扫雷弄个标题栏可以随意选择挑战难度是效果最佳的,但是呢easyx图形库没有标题栏,所以就委屈各位看官一级一级打上去了。...游戏外圈我又加了一圈,这一圈是为了防止递归调用时出现无法访问内存的情况 当我们点击第一个格子的时候,如果是数字 0 也就是空白,那么需要递归自动翻开九宫格内的格子(否则玩家一个格子一个格子的点毫无游戏体验感...case WM_LBUTTONDOWN://左键按下 break; case WM_RBUTTONDOWN://右键按下 WM_RBUTTONDOWN break; } 递归在扫雷中的应用...void Empty(int row, int col) { //递归实现以 0 为 九宫格的区域 自动翻开 map[row][col] += 10; //翻开当前位置 times++;

    68030

    扫雷游戏

    欢迎来到我的代码世界~ 喜欢的小伙伴记得一键三连哦 ૮(˶ᵔ ᵕ ᵔ˶)ა ​ 目录 一、扫雷游戏 二.游戏的分析和设计 1.数据结构的分析 2.文件结构设计 三、游戏的实现 game.h game.....c test.c 四、小白答疑 五、游戏呈现 ​六、大佬扩展 把前面学的一些知识给整合起来,做一个简单的扫雷游戏,扫雷游戏想必大家都玩过,但是这个游戏的底层逻辑是啥呢?...下面的这个扫雷游戏有点简单,大佬勿喷 ​ 一、扫雷游戏 扫雷游戏网页版 - Minesweeper https://www.minesweeper.cn/#google_vignette基本规则:左键翻开这一格...二.游戏的分析和设计 1.数据结构的分析 在扫雷的过程中,布置的雷的个数和排查雷的个数,以及不是雷的个数都需要我们去存储,存储当然会想到数组,不是雷的个数使用排除法只需要把全部的个数存储起来,使用排除法即可...set; } } } void DisplayBoard(char board[ROWS][COLS], int row, int col) { int i = 0; printf("--------扫雷游戏

    12910

    Python游戏开发,pygame模块,Python实现扫雷小游戏

    前言 今天给大家分享是扫雷小游戏,废话不多说,让我们愉快地开始吧~ 效果展示 ? 开发工具 Python版本: 3.6.4 相关模块: pygame模块; 以及一些python自带的模块。...环境搭建 安装Python并添加到环境变量,pip安装需要的相关模块即可。 原理简介 这这里我简单介绍一下游戏的实现思路。...相信大家对扫雷这款windows自带的经典小游戏都不陌生,它的游戏规则很简单: ? 游戏界面左上角的数字代表所有方格中埋有雷的数目,右上角是一个计时器。你要做的就是根据提示找出方格中所有的雷。...最后定义一个游戏地图类,来把游戏地图中的所有方格都整合在一起方便在游戏主循环里调用更新: '''扫雷地图''' class MinesweeperMap(): def __init__(self...int(item.opened) return num_openeds 这里只解释几个可能有小伙伴看不太懂的地方: 打开雷的时候我们用了递归,作用是当点击到的方格周围都没有雷的时候,系统就自动打开这个方格周围的方格

    1.5K40

    【开源项目】扫雷

    这时用的是基本数据域),再创建新的场景(这时把配置数据传给基本数据域,就把基本数据域更新了),再把视图设置为当前场景即可;这里的数据传递很巧妙,注意体会; 数据有效性检查利用QIntValidator类自动检查...保证整体视图位于中心位置; 鼠标点击寻找对应的格子元素,利用itemAt函数(注意此函数参数为int,因此无法做到太高精度,这也是整体画面限制大小的一个原因,另外一个原因是视觉的美观性); 3.自动寻路扩展...,不是的话翻开;需要加上标记表示其是否被翻开过,如果已经被访问过就不需要再加进队列了; 根据基本数据的寻找方向,同步扩展指针坐标(相当于自动鼠标点击),找到对应的格子元素,再根据底层数据做相应操作...;我当初想直接基于当前格子元素获取其周围的格子元素,但是没有找到方法,然后就模拟鼠标自动扩展了,欢迎指教; 注意这里可能会出现画面缩放(虽然我最后限制了画面扩展减轻了负担),缩放时需要同步考虑鼠标指针的变换...dll分别是:libgccsdw2-1.dll、libstdc++-6.dll、libwinpthread-1.dll,这时一般就没有问题了(如果还提示缺少dll,就自己下载放进去~) 与传统wndows扫雷程序的对比

    1.4K20
    领券