扫雷源程序如下;分为3部分game.h文件里放着所用的头文件,自己定义的头文件以及实现函数的声明部分;game.c文件里放的是具体函数的实现,tset.c文件里放的是扫雷程序的主逻辑框架,具体看下面:
太复杂复我分成几部分制试着莋一下
首先是画棋盘bai,定义两du个二维数组来表示每个zhi棋子dao的状态和棋子周围的雷数用于显示。
一般情况下由于VC++中没有画图的函数,所以是实现不了的你可以使用tubro.2c在DOS环境下进行编译。
你对这个回答的评价是
opengl可以在vc++上实现画图,可以试試
你对这个回答的评价是
下载百度知道APP,抢鲜体验
使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案
一直说写个几百行的小项目于昰我写了一个控制台的扫雷,没有想到精简完了代码才200行左右不过考虑到这是我精简过后的,浓缩才是精华嘛我就发出来大家一起学習啦,看到程序跑起来能玩感觉还是蛮有成就感的~哈哈
扫雷应该属于一款大众游戏,从我初中使用计算机开始它就被集成到了windows系统中,虽然他是这么经典我还是要介绍一下他的玩法,然后再考虑在控制台中怎么实现它
1 游戏的主界面,是一个一个小方格在小方格上單击左键,可以翻开小方格看看后面有什么
2 在这些小方格的背后隐藏着雷,如果不幸点中了雷那么就GameOver了。
2 如果点中的不是一个雷那麼就是一块空地,这个时候会出现两种情况:
1)用鼠标点中的空地周围八个点内有雷那么就显示雷的个数
2)用鼠标点中的空地周围没有雷,这个时候就将周围的空地全部显示出来遇到该显示数字的空地,就将数字显示出来(仔细观察你会发现,数字会将空地围起来這是一句废话,但是也值得想一想这是为什么)
3 在小方格上点击鼠标的右键,可以将一个空地标记为雷当然这个功能只是为了方便你記忆你之前确定是雷的地方。(还有左右键都点和点击右键出现?标记这里就不谈啦)
4 当空地上剩余的格子数和雷的个数一样多,那麼这个时候就应该算是胜利啦
OK~游戏流程说完了,这个时候该谈谈如何实现了
1 首先需要一张地图,一般情况下我们都可以用一个二维数組表示一个地图每一个元素代表着扫雷中的一个小方格。相应元素存储0那么地图上的这个位置就是空地,相应元素存储1那么就代表這个位置就一颗雷。
2 在控制台上依照二维数组长度和宽度打印相应的小方块。
3 然后就用鼠标点击那些小方块对于控制台来讲,在黑框框的区域中是有坐标的可以使用一些函数捕获到你点击了屏幕的哪一个坐标。
4 对于控制台来说打印一个字符,有的字符横向占一个位置比如普通的字母数字有的字符横向占两个位置比如一些图形字符: ①②③■◆等等,这点在控制台编程的时候要注意。
5 当点击屏幕的时候,獲取到点击的坐标后,去二维数组中查看相应的位置是雷还是空地,从而做相应的处理
1)假如点击到了雷,那么就控制游戏结束
2)假如点击箌了空地有两种情况
1)点击的空地周围有雷那么就将雷的个数显示出来
2)假如点击的空地周围没有雷,那么就使用递归的方法去探测周圍的点探测出与其相连的所有周围有雷的点。
函数作用: 在控制台相应的坐标上显示一串字符
函数作用: 在相应的坐标上根据传入的数字,打印相应的数字字符
服务器开发工程师、人工智能、云计算工程师、信息安全(黑客反黑客)、大数据 、数据平台、嵌入式工程师、流媒体服务器、数据控解、图像处理、音频视频开发工程师、游戏服务器、分布式系统、游戏辅助等
项目不是很长但是注释我写的还算明皛,估计大家都可以看得懂要是还有什么不懂得地方可以加裙595+227+871 欢迎大家一起学习讨论
扫雷源程序如下;分为3部分game.h文件里放着所用的头文件,自己定义的头文件以及实现函数的声明部分;game.c文件里放的是具体函数的实现,tset.c文件里放的是扫雷程序的主逻辑框架,具体看下面: