我用Python做了一个Windows扫雷游戏,附带源码下载

开发 后端
Windows XP 上的扫雷是无数80/90后的集体回忆,今天我们就用 Python 来制作一个高仿版的扫雷游戏。

Windows XP 上的扫雷是无数80/90后的集体回忆,今天我们就用 Python 来制作一个高仿版的扫雷游戏。

 

我用Python做了一个Windows扫雷游戏,附带源码下载

原谅我手残,扫雷基本就没赢过,测试的时候我是偷偷的把雷的数量从99改到50才赢了。。。

下面讲一下我的实现逻辑。

首先,如何表示雷和非雷,一开始想的是,建立一个二维数组表示整个区域,0表示非地雷,1表示地雷。后来一想不对,还有标记为地雷,标记为问号,还有表示周边雷数的数字,好多状态,干脆就做个类吧:

 

我用Python做了一个Windows扫雷游戏,附带源码下载

布雷就很简单了,随机取99个数,从上往下顺序排就是了:

 

我用Python做了一个Windows扫雷游戏,附带源码下载

我们点击一个格子的时候,只要根据点击的坐标,找到对应的 Mine,看它的值是多少,就知道有没有踩中雷了。

如果没踩中雷的话,要计算周边8个位置中有几个雷,以便显示对应的数字。

如果周边有雷,那么显示数字,这个简单,可是如果周边没有雷,那就要显示一片区域,直到有雷出现,如下图,我只点了当中一下,就出现了那么大一片区域

 

我用Python做了一个Windows扫雷游戏,附带源码下载

这个计算其实也容易,只要用递归就可以了,如果计算出周围的雷数为0,则递归计算周边8个位置的四周雷数,直到雷数不为0。

 

我用Python做了一个Windows扫雷游戏,附带源码下载

接下来还有一个麻烦的地方,我们经常鼠标左右键同时按下,如果雷被全部标记,则会一下子打开周围所有的格子,如果其中有标记错的,那么不好意思,GAME OVER。

如果没有全标记完,会有一个效果显示周围一圈未被打开和标记的格子

 

我用Python做了一个Windows扫雷游戏,附带源码下载

扫雷的主要逻辑就这么多,剩下来的就是一些杂七杂八的事件了。当然,这些杂七杂八的事件也还是够你折腾一番的。

责任编辑:未丽燕 来源: 今日头条
相关推荐

2020-11-16 09:02:38

Python开发工具

2020-05-08 13:28:53

新拟物UI设计

2021-04-29 15:53:21

AI 数据人工智能

2022-03-24 07:57:58

Python水果忍者游戏

2022-02-22 20:35:22

公钥私钥数据

2020-09-07 14:30:37

JUC源码CAS

2023-01-26 00:54:57

2023-11-28 12:00:22

应用程序API

2019-09-23 09:11:02

Python文本编辑器操作系统

2019-05-14 12:30:07

PythonPygame游戏框架

2022-12-05 18:17:06

技术

2021-08-06 09:35:37

Python盯盘机器人编程语言

2018-01-15 15:00:06

工程师项目设计师

2021-05-10 10:26:31

技术资讯

2020-11-30 06:20:13

javascript

2021-12-23 09:50:46

Python游戏脚本

2018-03-22 13:58:06

Python换脸程序

2021-05-04 16:38:54

Linux数学游戏

2015-05-21 15:46:20

2019-08-14 16:56:38

Python职责模式请假
点赞
收藏

51CTO技术栈公众号