ImageVerifierCode 换一换
格式:DOCX , 页数:57 ,大小:388.76KB ,
资源ID:12095407      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12095407.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(扫雷课程设计报告.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

扫雷课程设计报告.docx

1、扫雷课程设计报告 计算机学院计算机科学与技术专业程序设计综合课程设计报告 (20010/2011学年 第一学期)学生姓名: 学生班级: 学生学号: 指导教师: 2011年1月8日 第一章 课程设计目的和要求1.1 程序设计目的1.通过本课程设计,可以培养独立思考,综合运用所学知识的能力,能更好的巩固课程所学的内容,掌握工程软件设计的基本方法,强化上机编辑能力,闯过理论与实践结合的难关,更加了解c语言的好处和其可能性。2.通过课程设计,使学生了解高级程序设计语言的结构,掌握基本的程序设计过程和技巧,掌握基本的分析问题和利用计算机求解问题的能力,具备初步的高级语言程序设计能力,为后续各门计算机课程

2、的学习和毕业设计打下基础。3.上机实验目的,绝不仅是为了验证教材和讲课的内容,或者验证自己所编的程序正确与否。学习程序设计,上机实验的目的是:(1)加深对讲授内容的理解,尤其是一些语法和规定,光靠课堂讲授,既枯燥无味又难以记住,但他们是很重要的,初学者的程序出错往往错在语法上。通过多次上机,就能自然的,熟悉的掌握。通过上机来掌握语法规则是行之有效地方法。(2)熟悉所用的计算机系统的操作方法,也就是了解和熟悉c+程序开发的环境。一个程序必须在一定的外部环境下才能运行,所谓“环境”就是指所用的计算机系统的硬件和软件条件,或者说是工作平台。使用者应该了解运行一个c+程序需要哪些必要的外部条件(例如硬

3、件配置,软件配置),可以利用哪些系统的功能来帮助自己开发程序。每一种计算机系统的功能和操作方法都是不完全相同的,但只要熟练掌握一两种计算机系统的使用,再遇到其它系统时便会触类旁通,很快的学会。(3)学会上机调试。也就是善于发现程序中的错误,并且能很快地排除这些错误,使程序能正确的运行。经验丰富的人,在编译连接过程中出现“出错信息”时,一般能很快的判断出出错的原因所在,并改正之。而缺乏经验的人即使在明确知道“出错提示”下也很难找出错误。 调试程序的能力是每个程序设计者应该掌握的一项基本功能。1.2 程序设计要求1查阅相关资料,自学具体课程中涉及到的新知识。例如查阅谭浩强的C程序设计题解来编译代码

4、2采用结构化,模块化程序设计方法设计,功能要完善,界面完美。此部分的实现在如鹏论坛网上进行了查阅。3扫雷游戏分为初级、中级和高级三个级别,扫雷英雄榜存储每个级别的最好成绩,即挖出全部的地雷且用时最少者。单击游戏菜单可以选择“初级”、“中级”和“高级”或“查看英雄版”。4.选择级别后将出现相应级别的扫雷区域,这是用户使用鼠标左键单击雷区中任何一个方块便启动计时器。5. 用户要揭开某个方块,可单击它。6. 如果用户认为某个方块下埋着雷,单击右键可以在方块上标识一个用户认为是雷的图标,即给出一个扫雷标记。7. 扫雷胜利后(用时最少者),程序弹出保存成绩的对话框。1.3.软件系统概述1.3.1开发的软

5、件系统的题目:扫雷游戏。1.3.2运行环境: WIN-TC.此运行环境里超级工具集自身就带点阵字模工具。1.3.3功能:我们的游戏可以玩扫雷。1.3.4特点:此游戏具有登录系统,可输入密码确保安全性,界面美观具有标题栏,菜单,难度选择,排行榜,游戏成功和失败都有不同的音乐和动画。第二章 程序设计任务内容程序设计任务 1.程用户可以自定义级别并且可以任意输入雷数;2.具有计时功能,即显示用户完成移动盘子所花费的时间;3.用户可以选择是否有音效;4.自动保存扫雷英雄榜; 基础上设计出符合自己所学要求范围内的程序。2.2程序设计内容(1)扫雷游戏首先是动画和音乐,音乐为真心英雄,接下来是进入登陆界面

6、,首先是输入密码,密码是abc(可以改成任意9个字符),有三次输入机会,输入正确时继续输入姓名,输入错误密码时退出该系统,(2)进入游戏界面,开始功能选择,有“菜单”“难度选择”和“排行榜”,菜单可以进行“开始”和“退出”功能选择,难度选择中有“易”“中”“难”三个选择。(3)选择级别后将出现相应级别的扫雷区域,这是用户使用鼠标左键单击雷区中任何一个方块便启动计时器。(4) 用户要揭开某个方块,可单击它。若所揭方块下有泪,用户便输了这一局,若所揭方块下五雷,则显示一个数字,该数字代表方块的周围的8个方块中共有多少颗雷。(5) 如果用户认为某个方块下埋着雷,单击右键可以在方块上标识一个用户认为是

7、雷的图标,即给出一个扫雷标记。用户每标记出一个扫雷标记(无论用户的标记是否正确),程序将显示的剩余雷数减少一个。(6) 扫雷胜利后(用时最少者),程序弹出保存成绩的对话框。(7)用户可以选择标记疑问的方块,用可以勾选游戏菜单下的标记(或者用快捷键alt+G 然后M)即可,此时双击右键并可出现“?”标记。另有颜色选项,当用户勾选此项时,游戏将以最低图像像素来显示。(8)如果用户需要即使提示声,并可选中声音选项,此时将听到计时的卡塔声。当用户点中雷时,将有爆炸声产生,胜利时,将有凯旋的旋律播放,此时企鹅出现欢悦表情。第三章 详细设计说明3.1 模块描述(1)首先是动画和音乐,音乐为真心英雄,接下来

8、是进入登陆界面,首先是输入密码,密码是abc(可以改成任意9个字符),有三次输入机会,输入正确时继续输入姓名,输入错误密码时退出该系统,(2)进入游戏界面,开始功能选择,有“菜单”“难度选择”和“排行榜”,菜单可以进行“开始”和“退出”功能选择,难度选择中有“易”“中”“难”三个选择。(3)union REGS inregs,outregs,regs2;/执行intr_num号中断,用户定义的寄存器值存于结构inregs,执行完后将返回的寄存器值存于结构outregs中。扫雷棋盘的布局设计系统的整体布局为: 采用了菜单、按钮、面板等组件,菜单主要包括开始,选择级别,标记,扫雷英雄榜,退出, 按

9、钮的功能是重新开始新的游戏。雷区的设计1. 根据参数提供的数据设置雷区的宽度、高度、雷的数目以及雷区的级别。2. 当用鼠标左键单击方块上的按钮后,若该方块下有雷,将使用户输掉本局,若该方块下无雷,将显示标签,该标签上是一个数字,该数字代表当前方块的周围的8个方块中共有多少颗雷。3.inquireWin()方法用来判断用户是否扫雷成功,如果成功该方法负责让对话框可见。所谓扫雷成功是指不仅找到了全部的雷而且用时最少。 音效的设计music是通过构造音效声音方法,在主类中,通过监视是否已开始游戏,来决定播放计时声,之后又通过监视是否踩到雷和是否完成来决定,播放相应的音乐。 排行榜设计,当用户选择查看

10、“英雄榜”菜单项时,提供了查看扫雷的最好成绩的界面。3.2 性能1 第一部分主要是游戏动画和音乐,愉悦玩者的心情。2 第二部分吧是密码登录系统。使游戏具有安全性。3 然后进入正式的游戏,4等级选择是,单击游戏菜单可以选择“初级”、“中级”和“高级”或“查看英雄版”。5. 扫雷胜利后(用时最少者),程序弹出保存成绩的对话框。3.3 输入项本程序的输入项有void deng_lu()/此函数为登陆界面函数,在开始音乐动画结束后出现,输入密码为abc,有三次输入机会,输入正确时继续输入姓名,输入错误密码时退出该系统3.4 输出项seviewport(0,0,619,429,0);/为图形输出设置当前

11、窗口Setviewport(0,0,619,429,0);/*为图形输出设置当前视口*/Settextstyle(0,0,3,);/* 为图形输出设置当前当前的文本属性横向和竖向,0为横向排列,1为竖向排列。Size为字体大小:可用interger做参数*/outtextxy(118,178,welcome to play”)/输出welcome to play。3.5 流程逻辑1. 主函数 2. 游戏使用流程图3. 游戏使用流程图 4. 音效设计流程图 排行榜设计流程图 3.6接口while(!bioskey(1))/直接使用BIOS服务的键盘接口int86(0x33,& inregs,&

12、outregs);/调用鼠标中断,通用8086软终端接口,3.7 数据文件存储说明int re106/储存鼠标经过前的像素颜色tx2=regs2.x.cx;/cx寄存器中存的是横坐标ty2=regs2.x.dx;/dx寄存器中存的是列坐标for(j=0;j10;j+)/储存鼠标一定范围内的像素颜色3.8 注释设计详见程序清单。3.9 限制条件goto语句中遇到错误3.10 测试计划如果游戏参赛者没有按照提示输入密码,系统会默认为是错误信息,会提示用户重新输入。第四章 程序使用说明程序使用说明如下:游戏开始伴随着音乐进入动画界面如下:动画结束后进入登陆界面: 密码登陆成功后进入游戏界面如下: 开

13、始最后进入菜单界 游戏胜利扫雷英雄排行榜效果图 第五章 程序设计心得与体会课题的设计工作完成后,基本上符合了实验要求。具有登陆界面,可以用密码来保证安全,还有标题栏,选择菜单,菜单中有开始与退出,难度选择和排行榜。游戏失败后会有失败的音乐动画,成功后会有胜利的音乐与动画,打破记录是可以把分数与姓名存入磁盘。但缺点是登陆后没有对话框,不能在图形模式下输入姓名。这个扫雷游戏是完全模拟微软系统自带的扫雷游戏,所以难度是比较大了,必然在编程过程中也遇到很多问题,有些问题比较简单但就不知道错在哪里,有些大问题之道在哪就是不知道怎么办才好,后来经过自己的不断调试,这个扫雷游戏终于大功告成。首先,通过这次课

14、程设计使我感觉到知道的知识太少,课本上学的只是基础,要想成为一个编程人员,就得自己不断的积累积累在积累,把可以利用的资源都用上,如图书馆,上网查资料。尽量多学,不白过大学的每一天。经过编写这个扫雷游戏,我认识到应该注意细节问题,虽然是很小的问题,但可以提高自己编程的能力,而且还可以培养自己编程的严谨性,同时还可以为以后的编程积累经验。编写完这个扫雷游戏,我发现自己有很多的不足,我想如果让我来单独来编写这个游戏,我感觉很吃力,因为这个游戏涉及到好多算法。感触最深的就是我们真的要扎扎实实的打基础!并且我感觉到只要我们自己肯下功夫学习,我们也可以做出很好的东西,不需要每次都抄袭别人的,只有自己的才是

15、最珍贵的!附录1 参考文献:1) 谭浩强,C程序设计题解与上机指导(第二版),北京,清华大学出版社,2000年9月。2) 如鹏论坛网。附录2 程序清单#include#include#include#include#include#includestruct peoplechar name20;float time;peo3=noname,999,noname,999,noname,999;int m_poly8=0,0,5,7,0,9,0,0;/*鼠标,根据参数产生一个多项式*/int m_now_poly8=0,0,5,7,0,9,0,0;int re106;/*储存鼠标经过前的像素颜色*

16、/int m_s93-40+152-2+1;/*全局的变量*/int n1=-1,n2=-1;int hard=1;/*0:易 1:中 2:难*/int count=40;/*地雷数量*/int mx=16,my=16;/*地图宽度*/char map1630;/*0位存放在是否有地雷,1有0无,1位存放是否打开,1打开0没有打开,2位表示是否插旗,1有0无*/int ha_x=320-120,ha_y=240-100;/*游戏栏*/int dead=0;/*1:死亡 2:生*/int score=0;int nn=1;char p20;time_t first,second;FILE *fp

17、;void menu_window();void interrupt(*hanlder)();void interrupt music();int fr1=262,262,262,262,294,330,440,392,330,392,392,392, 523,523,523,523,523,523,330,330,392,523,523,523,523,523,392,392.392,330,330,294,262,294,294,294,294,294,294,294,330,294,262,294,262,262,262,262,294,330,440,392,330,392,392,5

18、23,523,523,523,523,523,330,440,3892,392,523,523,523,523,523,440,392,392,440,330,330,294,262,262,294,294,294,330,330,392,294,330,262,262;int tim1=8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,4,4,8,8,8,4,4,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8;int fr2=392,392,392,

19、392,330,349,392,494,440,440,440,440,349,440,392,392,392,392,392,392,494,440,349,349,0,349,349,349,349,330,294,262,262,0,523,523,523,523,392,440,523,523,659,578,578,578,578,523,494,440,440,494,494,494,494,494,523,587,392,0,494,494,523,587,523,494,523,523;int tim2=4,4,4,4,4,4,8,8,4,4,4,4,4,4,8,8,4,4,4

20、,4,4,4,8,8,4, 4,4,4,4,4,2,8,8,4,4,4,4,4,4,4,8,4,8,4,4,4,4,2,4,8,8, 4,4,4,4,4,4,8,8,4,4,4,4,4,4,4,8,8;char sao16k=/*以下是扫的16点阵楷体_ GB2312字模,32byte*/ 0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x0C,0x3C,0x79,0xC4,0x08,0x04,0x0C,0x19,0xC8,0x28,0x08,0xC8,0x08,0x08,0x78,0x1B,0x80,0x80,0x00,0x00,0x00,0x00,0x00

21、,;char lei16K=/*以下是雷的16点阵楷体字模,32byte*/0x01,0xC0,0x0E,0x00,0x03,0xF8,0x3E,0x0C,0x22,0x50,0x4A,0x00,0x02,0x40,0x0A,0x00,0x01,0xE0,0x1E,0x20,0x13,0xA0,0x16,0x20,0x0b,0xA0,0x0E,0x60,0x00,0x00,0x00,0x00,;char you12S=/*以下是游的12点阵宋体字模,24byte*/0x91,0x00,0x49,0xE0,0x3E,0x00,0x93,0xE0,0x5C,0x40,0x54,0x80,0x55,

22、0xE0,0x94,0x80,0x94,0x80,0xA4,0x80,0x4D,0x80,0x00,0x00,;char xi12S=/*以下是戏的12点阵宋体 字模,24byte*/0x02,0x80,0xF2,0x40,0x12,0x40,0x13,0xE0,0x9E,0x00,0x52,0x40,0x22,0x80,0x31,0x00,0x49,0x20,0x42,0xA0,0x8C,0x60,0x00,0x00,;char kai12S=/*以下是开的12点阵宋体字模,24byte*/ 0x00,0x40,0x7A,0xE0,0x1,0x00,0x1,0x00,0x11,0x00,0x

23、FF,0xE0,0x11,0x00,0x11,0x00,0x11,0x00,0x21,0x00,0xC1,0x0,0x00,0x00,;char ju2S=/* 以下是局的12点阵宋体字模,24byte*/0x3F,0xC0,0x20,0x40,0x3F,0xc0,0x20,0x00,0x3F,0xE0,0x20,0x20,0x2F,0x20,0x29,0x20,0x4F,0x20,0x49,0x20,0x80,0xC0,0x00,0x00,;char tui12S=/*以下是退的12点阵宋体字模,24byte*/0x8F,0xC0,0x48,0x40,0x4F,0xC0,0x08,0x40,

24、0xCF,0xC0,0x48,0x00,0x4b,0x40,0x48,0x80,0x4E,0x40,0xB0,0x00,0x8F,0xE0,0x00,0x00,;char chu12S=/*以下是出的12点阵宋体字模,24byte*/0x04,0x00,0x44,0x40,0x44,0x40,0x44,0x40,0x7F,0xC0,0x04,0x00,0x44,0x40,0x44,0x40,0x44,0x40,0x44,0x40,0x7F,0xC0,0x00,0x00,;char nan12S=/*以下是难的12点阵宋体字模,24byte*/0x02,0x80,0x02,0x80,0xF7,0

25、xE0,0x14,0x80,0x9F,0xE0,0x54,0x80,0x24,0x80,0x27,0xE0,0x54,0x80,0x94,0x80,0x07,0xE0,0x00,0x00,;char du12S=/*一下是度的12点阵宋体字模,24byte*/0x02,0x00,0x7F,0xE0,0x48,0x80,0x7F,0xE0,0x48,0x80,0x4F,0x80,0x40,0x00,0x5F,0x80,0x45,0x00,0x87, 0x00,0xB8,0xE0,0x00,0x00,;char yi12S=/*以下是易的12点阵宋体字模,24byte*/ 0x3F,0x80,0x

26、20,0x80,0x3F,0x80,0x20,0x80,0x3F,0x80,0x10,0x00,0x3F,0xC0,0xC9,0x40,0x12,0x40,0x64,0x40,0x19,0x80,0x00,0x00,;char zhong12S=/*以下是中的12点阵宋体字模,24byte*/ 0x04,0x00,0x04,0x00,0x7F,0xC0,0x44,0x40, 0x44,0x40,0x44,0x40,0x7F,0xC0,0x04,0x00, 0x04,0x00,0x04,0x00,0x04,0x00,0x00,0x00,;char pai12S=/*以下是排的12点阵宋体字模,2

27、4byte*/0x22,0x80,0x22,0x80,0xFE,0xE0,0x22,0x80,0x32,0x80,0x6E,0xE0,0xA2,0x80,0x3E,0xE0,0x22,0x80,0x22,0x80,0xE2,0x80,0x00,0x00,;char hang12S=/*以下是行的12点阵宋体字模,24byte*/0x2F,0xC0,0x20,0x00,0x40,0x00,0x9F,0xE0,0x20,0x80,0x60,0x80,0xA0,0x80,0x20,0x80,0x20,0x80,0x20,0x80,0x27,0x80,0x00,0x00,;char dash16S=/

28、*以下是_的16 点阵宋体字模,32byte*/0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,;char zhi16K=/*以下是制的16点阵楷体字模,32byte*/0x00,0x40,0x08,0x40,0x08,0x08,0x08,0x9C,0x11,0xE0,0x31,0x40,0x52,0x40,0x94,0x78,0x10,0x40,0x10,0x40,0x10,0x78,0x10,0x40

29、,0x10,0x40,0x00,0x40,0x00,0x40,0x00,0x00,;char cheng16K=/*以下是成的16点阵楷体字模,32byte*/0x02,0x00,0x02,0x20,0x02,0x10,0x01,0x00,0x10,0xE0,0x1F,0x00,0x11,0x10,0x10,0x90,0x1E,0xA0,0x12,0x40,0x22,0x40,0x2A,0xA2,0x45,0x12,0x80,0x0A,0x00,0x06,0x00,0x00,;char yuan16K=0x03,0xC0,0x0C,0x40,0x09,0xC0,0x0E,0x00,/*以下是员

30、的16点阵楷体字模,32byte*/0x00,0xE0,0x0F,0x20,0x08,0x20,0x09,0x20,0x09,0x20,0x09,0x20,0x09,0x20,0x02,0x80,0x04,0x40,0x08,0x30,0x70,0x10,0x00,0x00;char mao16S=/*以下是:的16点阵宋体字模,32byte*/0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x30,0x00,0x00,0x00,0x30,0x00,0x30,0x00,0x00,0x00,0x00,0x00,;void interrupt music()static int flag=0,note=0,fre,dur;if(flag=(int)(d

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1