阅读文章

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

[ 来源:http://817606.com | 作者:网友 | 时间:2019-07-12

下面讲一下实现逻辑。

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

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

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

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

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

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

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

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

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

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

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

相关文章
  • 5月全球芯片销售额同比

    7月2日消息,据国外媒体报道,半导体产业协会(Semiconductor Industry Association, 简称SIA)周一公布,5月份全球芯片销售额同比下滑14.6%,为连续第...

在线棋牌官方版

回到顶部
友情链接

Powered by 在线棋牌官方版 @2018 RSS地图 html地图

Copyright 站群系统 © 2019 318棋牌 版权所有