- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C扫雷课程设计报告
青岛理工大学
C++面向对象课程设计报告
院(系):
专业:
学生姓名:
学号:
班级:__ ___ _
题目:
起迄日期:
设计地点:
指 导 教 师:
完成日期: 2013 年7月 5 日
目录
一、题目概述 1
二、设计内容 2
三、调试分析 5
四、设计总结 12
五、参考文献 13
六、附录 13
一、题目概述
(一):选课题目:
题目:游戏— 《扫雷》
设计内容:扫雷程序将要实现类似windows系统自带的扫雷程序功能即可以显示附近雷区雷的个数,同时在游戏成功和失败的时候能跳出新的对话框,并配有相对应的表情,还可以记录玩家玩耍的时间和剩余雷区雷的个数等基本功能。
(二):选做次项目的意义:
意义:随着科学技术突飞猛进,知识经济初见端倪,特别是信息技术和网络技术的迅速发展和广泛应用,对社会的政治、经济、军事、科技和文化等领域产生越来越深刻的影响,也正在改变这人们的工作、生活、学习和文化交流方式。尤其在游戏方面更是影响甚大,各种网络游戏随处可见。尤其可以借助C++实现很多简单游戏的制作,其中扫雷就是一款适合单机玩耍的游戏。
扫雷最原始的版本可以追溯到1973年一款名为“方块”的游戏。
不久之后,“方块”被改写成了游戏“Rlogic”。在“Rlogic”里,玩家的任务是作为美国海军陆战队队员,为指挥中心探出一条没有地雷的安全路线,如果路全被地雷堵死就算输。两年后,汤姆·安德森在“Rlogic”的基础上又编写出了游戏“地雷”,由此奠定了现代扫雷游戏的雏形。
1981年, 微软公司的 罗伯特·杜尔 和 卡特·约翰逊 两位工程师在Windows 3.1系统上加载了该游戏,扫雷游戏才正式在全世界推广开来。
这款游戏的玩法是在一个9*9(初级),16*16(中级),16*30(高级),或自定大小的方块矩阵中随机布置一定量的地雷(初级为10个,中级为40个,高级为99个)。由玩家逐个翻开方块,以找出所有地雷为最终游戏目标。如果玩家翻开的方块有地雷,则游戏结束。
图1.系统整体流程图
(二):系统结构图:
图2. 系统结构图
(三):布雷函数流程图
图3. 布雷函数流程图
三、调试分析
(一):游戏设计过程中所需窗体设计
图4 游戏选择界面设计 图5 帮助界面设计
图6 自定义雷区界面设计
图7 英雄榜界面设计
(二):游戏过程中所出现的重要界面:
图8.低级水平时游戏界面
图9.中级水平时游戏界面
图10.高级水平时游戏界面
图11.破纪录时界面
图12.游戏失败时界面
(二):关键代码及功能显示:
(1)游戏自定义雷区:
void CDlgCustom::OnOK() //设置长和宽
{
UpdateData();
if (m_uWidth 9) m_uWidth = 9;
if (m_uWidth 30) m_uWidth = 30;
if (m_uHeight 9) m_uHeight = 9;
if (m_uHeight 24) m_uHeight = 24;
if (m_uNumber 10) m_uNumber = 10;
if (m_uNumber m_uWidth * m_uHeight) m_uNumber = m_uWidth * m_uHeight - 1;
CMineWnd *pMine = (CMineWnd*)AfxGetMainWnd();
pMine-SetCustom(m_uWidth, m_uHeight, m_uNumber);
CDialog::OnOK();
}
void CDlgCustom::InitData(UINT xNum, UINT yNum, UINT mNum)
{
m_uWidth = xNum;
m_uHeight = yNum;
m_uNumber = mNum;
}
(2)点中雷区时:
BOOL CMineWnd::IsInMineArea(UINT row, UINT col)
{
return (row = 0 row m_uYNum col = 0 col m_uXNum);
}
//
// 失败处理
//
void CMineWnd::Dead(UINT row,
文档评论(0)