扫雷课程设计报告 -(2)

2025-07-27

8 统计地雷

统计每个格子周围的雷数,分别考虑格子处于四个角、四条边以及中间某个位置的情况。周围指上、下、左、右、左上、左下、右上、右下。注意程序中使用的是多个if 语句,而没有使用或运算连接组成复合表达式,考虑到 C 语言的逻辑表达式的问题,逻辑或只要前面的表达式为真,后面就不必判断了,这样可能造成少计地雷数。 9 显示无雷区的空白格

当单击了某个格子,该格子周围地雷数为0 时,应该继续判断它周围8 个方向的格子的周围地雷数是否为0 ,将这些格子都用空白显示。所以这也是一个递归问题,将其构造为递归函数。一个递归函数有两个要素,一个是入口参数,且是降规模的,另一个为出口参数。本函数的入口参数为格子的坐标,表示处理哪个格子,出口参数是该格子有红旗或者已经显示过数字或空白格子。具体算法如下:

(1) 如果当前格子有红旗或者已经显示过数字或空白格子,则返回。 (2) 空白格子数减1( 统计处理过多少格子)。

(3)如果周围的地雷数为0, 且它不是地雷,则将它显示为空白,同时将它的状态值num 置0, 表示处理过;如果周围的地雷数不为0, 显示周围地雷数,同时将它的状态值num 置0 ,表示处理过(即显示过数字),返回。

(4) 8 个方向探索调用函数显示所有的空白格子。

四、 程序测试及分析

4.1程序调试是指对程序的查错和排错。为了便于查错、阅读,在设计该程序的过程中我们采用了结构化程序方法编辑,添加了尽可能多的注释,

这就为接下来的调试过程带来了很多方便。

4.2经过仔细检查之后进行上机调试。进行编译,如果在编译和连接过程中发现错误,屏幕上显示了出错信息,根据提示找到出错的位置,加以改正,再进行编译……如此反复,直到顺利通过编译和连接为止。

4.3在本次作业过程中碰到的编译、连接的错误主要有:缺少变量定义,定义位置不正确、语法错误、注释的位置等。

4.4 错误解决方法。

(1)缺少变量定义,定义位置不正确;

由于该程序相对来讲稍有些长,前后有些变量不容易联系起来,但是在错误信息的提示下一般还是很容易找到。不过需要注意的是在定义的时候有些函数使用同样的变量名而表示不同的作用,因而使用要很小心,定义及定义的位置要特别留意。为减少这样的错误我后来还是用不同的变量名来表示,结果引起的那些错误解决了。

(2)语法错误;

大多的语法错误在通过书本参考下能够修改。主要是平时缺乏锻炼、不太注意而产生的。如没有注意具体数据使用是有一定的范围限定;过分重视分号的重要性而在for、if、while语句中画蛇添足加分号;在使用文件的时候忘记将文件先打开,对打开的方式

(3)注释的位置;

程序设计中在注释的时候不能同我们平常写字一样随心所欲,我们应该注意注释的格式。且注释中能含有C语言可执行的语句。

五、 心得体会

课程设计是本科学习阶段一次非常难得的理论与实际相结合的机会,通过这次比较完整的一个程序的设计,我摆脱了单纯的理论知识学习状态。以前在课堂上因为有老师辅导、而且学习时每次的代码作业都是局限的一段,所以从未料想到一个游戏程序的整体把握还是有一定难度的,代码每一个地方都是有联系的,一个地方错,其他地方都会错。

————————黄枭威

实际设计的结合锻炼了我的综合运用所学的基础知识,解决实际问题的能力,同时也提高我查阅文献资料、对程序整体的把握等其他能力水平。我现在才发现以前在课堂学的东西还不够,很多都是要靠我们举一反三,此次的游戏设计让我发现,代码不管怎么变,思维是不变的,其中的思想很多是很相似的。

————————王晓伟

通过对整体的掌控,对局部的取舍,以及对细节的斟酌处理,都使我的能力得到了锻炼,经验得到了丰富。我再不会像以前那样看到代码就会头疼,因为通过此次作业我学习了C语言的数据类型、常量与符号常量、变量、C语言的运算符和表达式、赋值运算符和赋值表达式、自增自减运算符以及逗号表达式等。

——————————宋浩

愉快的合作,共同付出,然后收获,这是我们都希望看到的也正是我们进行课程设计的目的所在。而且我也明白了C语言的简洁,使用灵活方便,运算符丰富,表达能力强。还有数计类型丰富,目标程序质量高,具有面向硬件系统的特点,具有结构化的控制语句和模块化的程序结构,具有编译预

处理功能,而且程序设计自由度大,可移植性好。

——————————李凯凯

虽然设计内容繁多,过程繁琐但我的收获却更加丰富。各种组件的运用,各种算法的应用,各种控件的利用我都是随着设计的不断深入而不断熟悉并逐步掌握的。从而启发我,要想写好程序,在写好课本知识的同时还需要多读和专业有关的一些书籍,同时还需要多动脑子,尽量把所学的知识综合起来应用,力争写出完美的程序。

——————————李婷婷

和老师以及同学的沟通交流更使我对程序整体的规划与设计有了新的认识也对自己提出了新的要求。本程序在刚开始调试时有许多错误,但在我的努力及同学的帮助下都被一一克服,在刚开始的几次调试中曾经出现过不能运行等等问题。经过我的努力及同学的帮助,这些问题得到克服,并且使程序的功能也得到了一定的完善

———————————张娣

提高是有限的但提高也是全面的,正是这一次设计让我积累了许多实际经验,也必然会让我在未来的工作学习中表现出更高的应变能力和理解力除此之外,我还得到了一些有用的教训:写程序时必须要细心,不能输错一个字符标点,就连全角半角也得注意。在修改时要有耐心,编译出错后必须逐个错误去改正,绝不能心急浮躁,否则修改之后还会有新的错误。

————————————余彬 顺利如期的完成本次课程设计给了我很大的信心,但是也让多不足的地方,学习其实就是一个不断完善的过程,正视自己的不足之处,在以后的工

作和学习中不断的弥补这些不足之处,在以后的生活中也要保持同样的态度,不断的完善自己。。在这次设计过程中,不仅复习课本上所学知识,还通过查资料、问同学学到了课本上没有的知识。

——————————朱月梅子

六、 总结

6.1 知识点

1 数组的应用。 2 全局变量的应用。 3 按键的处理。 4 探索函数。

5. 功能扩充、

修改程序,设初级、中级、高级三个等级,初级地雷数较少,在15 个以内,中级在

15 到30 个,高级则扩大棋盘为20×20, 地雷数为 30 个以上。

七、主要代码

#include #include #include #include


扫雷课程设计报告 -(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:家庭教育先进工作者事迹材料

相关阅读
本类排行
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 7

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219