C语言实现扫雷
本文章就带领大家完成一个我们童年经常玩的小游戏!那就是扫雷小游戏啦!
一、扫雷是什么?
《扫雷》是一款大众类的益智小游戏,于1992年发行。游戏目标是在最短的时间内根据点击格子出现的数字找出所有非雷格子,同时避免踩雷,踩到一个雷即全盘皆输。
二、实现步骤
1.建立基础代码框架
代码如下:
#include"game.h"voidmenu{printf("*******************************\n");printf("*******1.play*******\n");printf("*******0.exit*******\n");printf("*******************************\n");}voidgame{//mine数组是专门存放布置好的雷的信息charmine[ROWS][COLS]={0};//show数组是专门存放排查出的雷的信息charshow[ROWS][COLS]={0};//初始化棋盘InitBoard(mine,ROWS,COLS,'0');//'0'InitBoard(show,ROWS,COLS,'*');//'*'//打印棋盘DisplayBoard(show,ROW,COL);//布置雷SetMine(mine,ROW,COL);//DisplayBoard(mine,ROW,COL);//排查雷FindMine(mine,show,ROW,COL);}intmain{intinput=0;srand((unsignedint)time(NULL));do{menu;printf("请选择:>");scanf("%d",&input);switch(input){case1:game;break;case0:printf("退出游戏\n");break;default:printf("选择错误\n");break;}}while(input);return0;}
这段代码框架是对整个扫雷设计的一个基础,首先我们来看main函数里面的东西,main函数中利用了时间戳的一个概念,设定了随机值,并且在底下用了一个Switch语句,还设定了一个menu菜单,游戏一般都是会有两个模式的嘛,所以说菜单中也会有开始游戏和退出游戏这两个选项!
并且还在其中封装了一个game函数,使得代码更加的整洁,清晰,
2.列出想要实现的功能
代码如下(示例):
#defineROW9#defineCOL9#defineROWSROW+2#defineCOLSCOL+2#defineEASY_COUNT10#include#include#include//初始化棋盘voidInitBoard(charboard[ROWS][COLS],introws,intcols,charset);//打印棋盘voidDisplayBoard(charboard[ROWS][COLS],introw,intcol);//布置雷voidSetMine(charmine[ROWS][COLS],introw,intcol);//排查雷voidFindMine(charmine[ROWS][COLS],charshow[ROWS][COLS],introw,intcol);
本次扫雷想要实现的功能有:初始化棋盘,打印棋盘,布置雷,排查雷
并且我们来看本次函数的上面均有define定义的一些个变量该变量的含义就是为了使的使用者更方便的调用数据,以及后期假设需要维护或者修改的时候,修改者更加的方便
游戏的实现
#include"game.h"voidInitBoard(charboard[ROWS][COLS],introws,intcols,charset){inti=0;intj=0;for(i=0;i");scanf("%d%d",&x,&y);if(x>=1&&x=1&&y
首先我们先对整个框架进行初始化,底下便是代码初始化的样子
总结
代码还是光凭口上功夫是不行滴,还是得进行实际的操作才能更好的提升,多多练习,终究有一天你会成功滴!