APP下载
报价宝  ›  科技  › 

Python竟然连扫雷都能做出来?附源代码及400集Python精品教程

报价宝 来源:baojiabao.com 发布时间:2019-07-26 12:56:00 09月19日更新
报价宝综合消息Python竟然连扫雷都能做出来?附源代码及400集Python精品教程

扫雷这个游戏相信大家都玩过,这次,我们就来试试自己用Python做一个 XP 上的扫雷吧!

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

想知道如何用Python做出更多小游戏的小伙伴们,可移步文末免费领取小编整理的Python学习资料,各个学习阶段的都有,帮助大家在学习Python的过程中不断进阶!

下面讲一下实现逻辑。

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

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

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

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

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

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

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

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

扫雷的主要逻辑就这么多,剩下来的就是一些杂七杂八的事件了。

要系统性学习Python、用Python做出更多好玩小游戏的小伙伴们,可以看小编分享给大家的这些资料,400集大型视讯,并且在学习的每一个阶段都有专案演练,希望小伙伴们都能学有所成。

学习资料领取方式:转发+关注小编,私信小编“资料”即可获取

文章标签: 报价宝 降噪耳机价格 耳机价格 红米手机价格 华为手机价格 小米手机价格 电视机价格 笔记本电脑价格 笔记本价格 汽车价格 报价宝 数码相机价格 手机价格 笔记本电脑价格 华为手机价格