资 源 简 介
整个程序完成,要使操作界面出现一个9*9的棋盘格式,应该使用数组,本次实验中我设置了一个a[11][11][3]的三维数组,虽然地图是 9*9的 ,但是设置成三维数组a[11][11][3],其中a[][][0]表示有无雷,a[][][1]表示周围雷的个数,a[][][2]表示是否打开,前面的11是因为某块没有雷的时候计算周围地雷的数量的时候,如果这块是(1,1)这样的边或角的时候考虑起来会比较麻烦,所以可以在外面再围一圈(外面这圈全部数据定义为0)。这样就不需要考虑其他的情况了,使问题变得简单化,然后将其设置为静态数据,好处是静态数据成员只分配一次内存,供所有对象共用,并且能将变量的值保存至下一次调用时,提高了系统的运行速度。声明cube类,其中成员函数see用来计算坐标周围的地雷的数量,result函数用来判别游戏进行的情况。利用for循环,if循环的嵌套依次扫描棋盘上的坐标周围八块的情况,并用a[][][1]记录周围雷的数量,并返回此时的a[i][j][1]的值。再利用for,if循环查看并统计已经打开的坐标的数量及剩余的雷数,此前已经设定_num为玩家设定的雷数的数量,如果此时此时已经全部打开并且剩余的雷数与_num数值相等,说明玩家扫雷成功,游戏结束,如果剩余的雷数小于_num,说明玩家扫到雷,游戏失败结束。接着声明一个GameFlag的类并且继承cube类,分别有成员函数resta