已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VisualVisual C C 程序设计课程大作业程序设计课程大作业 题目名称 windows 小游戏扫雷设计 系 名 称 计算机科学与信息工程系 专业班级 09 软件工程 2 班 学生姓名 袁佳润 200903040035 余洋洋 200903040023 施文卿 200903040014 2011 年 6 月 目目 录录 一 成员分工 1 二 需求分析 1 三 总体设计 1 四 详细设计 4 五 系统测试 7 六 总结 10 七 参考文献 10 1 一 成员分工一 成员分工 袁佳润负责扫雷单文本 自定义雷区对话框 扫雷英雄榜对话框等工作 于洋洋负责雷区 GDI 位图等的实现 施文卿负责调试 检测程序等 二 需求分析二 需求分析 1 系统概述 该游戏软件在 Windows 系统为玩家提供传统扫雷游戏的基本功能 玩家可以通过鼠 标点击游戏区中雷区方块 软件已经随机生成相应的难度雷区数 每点击一个雷区 若 该区没有雷 将会显示与该区相邻的 8 个区内的雷的数目 若该区有雷 则游戏结束否 则直到开启所有无雷区 游戏设定 3 个级别 初级 中级和高级 级别越高 雷区的总 体数越大 有雷的区域越多 玩家可以根据自己的需要自由设定初始游戏级别 达到最 高级别时不再增加 游戏以最终玩家获得的分数来判断玩家水平的高低 2 功能需求描述 游戏需要提供一个菜单栏 上面有不同的相关选项 如游戏的开始 难度设置 退出 等 按功能将游戏区域分成两个区域饿 雷区和提示区 提示区包括两个计数器和一个 按键操作结果图像提示 游戏过程中 当玩家用鼠标点击相应的方块 程序就会做出相 应的鼠标响应事件 并伴随着 GDI 绘图 而众多鼠标事件的处理 都是围绕着实现扫雷 程序的算法而衍生的 三 总体设计三 总体设计 1 布雷 随机获取一个状态为非雷的点 将它的属性标志为雷 重复这样的工作 直到不下足够 的雷为止 其流程如图所示 2 开始 生成随机的雷方块的坐标 x y 判断 x y 区域是 否已经布下雷 在 x y 区域布雷 修改数据 判断是否布下 所有雷 2 2 扫雷事件扫雷事件 开始 生成随机的雷方块的坐标 x y Num 0 在 x y 区域布雷 修改数据 判断是否布下 所有雷 修改标志 打开显示该区域 3 开始 在雷区 雷方块定位 游戏结束 胜利 胜利处理失败处理 打开区域 继续处理 拓展最大的可能范围 结束 显示 其他区域处理 3 3 鼠标右击事件鼠标右击事件 开始 雷方块定位 判断历史属性及相关状态 修改相关状 态 显示 结束 4 四 详细设计四 详细设计 1 1 雷区 笑脸模块的绘制雷区 笑脸模块的绘制 添加位图资源如图 ID 分别为 ID BTN COLOR ID MINE COLOR ID NUM COLOR 并分别添加三个位图类型的变量 然后调用 LoadBitmap UINT nIDResource 函数来分别实现位图资源与变量的关联并添加 函数 DrawButton DrawMineArea DrawNumber 分别实现笑脸按钮 雷区 数字图像 的绘图 绘制雷区的函数 DrawMineArea 的实现代码 如下 绘制笑脸按钮的函数实现类 似 Void Cmine Wnd DrawMineArea CpaintDC dcMemory CreateCompatibleDC dcMemory SelectObject m bmpMine for UINT i 0 i m uYNum i for UINT j 0 j m uXNum j dc StretchBlt MINEAREA FRAME x 16 j MINEAREA FRAME Y 16 I 16 16 5 雷区绘制结果显示如图 1 图 1 笑脸按钮绘制结果显示如图 2 图 2 2 数字模块的绘制 数字图像的绘制不是有鼠标事件触发的 而是由系统时间触发的 首先在 CmineWnd 类中添加定时器标示的成员变量 m uTimer 和一个记录游戏开化直到目前所花费的时间的 成员变量 m uSpendTime 接着在游戏的开始函数布下时间种子 时间间隔为 1000us 然 后选择到预定时间间隔后发送 Windows 命令消息函数 WM TIMER 接着在 CmineWnd 类中找 到对应的消息 WM TIMER 并为其添加重写函数 OnTimer 该函数首先判断这次的 WM TIMER 命令是否为所布下的时间种子到时产生的 如果是则让使用的时间变量 m uSpendTimer 自增 然后通知系统重绘图像 数字图像的绘制显示如图 3 6 图 3 雷区 笑脸按钮和数字图像的绘制都是在 OnPaint 函数中实现的 其函数代码如下所示 Void CmineWnd OnPaint CpaintDC dc this CDC dcMemory Cbitmap bitmap If dc IsPrinting if dcMemory CreateCompatibleDC dcMemory EillRect DrawButton CpaintDC DrawButton CpaintDC DrawShell CpaintDC DrawMineArea CpaintDC dc BitBlt m rcClient left m rcClient top m rcClient right m rcClient bottom bitmap DeleteOBject 7 五 系统测试五 系统测试 程序界面程序在启动运行时 系统会通过调用视图类中的重绘图函数对界面进行界面的 初始化 使程序界面更加友好 在使用上给用户一种清新怡然的感觉 程序启动时默认 游戏难度为初级 玩家可根据需要自己选择难度为中级或高级 以下以初级难度为例进 行演示 其界面如图 4 所示 图 4 任意点击一个雷方块游戏开始 游戏界面右边的即使数字模块即开始计时 如图 5 所示 图 5 标记出一个雷区则游戏界面左边的雷区总数对应减少 如图 6 所示 8 图 6 若出发雷区 则游戏结束 同时游戏界面显示所有雷区的分布位置 如图 7 所示 图 7 若完全找出所有雷区 则游戏结束 游戏会弹出一个界面请玩家留下姓名 如图 8 所示 9 图 8 玩家可选择留名或匿名 确定后显示扫雷英雄榜 如图 8 所示 图 8 经过测试 该系统能够较好地满足游戏爱好者的需要 能够比较顺利的进行游戏 绘图过程大多放在 OnDraw 或 OnPaint 函数中 OnDraw 在进行屏幕显示时是由 OnPaint 进行调用的 当窗口因为某种原因需要重绘时 总是先用背景色将显示区清除 然后才调用 OnPaint 而背景色往往与绘图内容反差很大 这样在短时间内背景色和显 示图形的交替出现 使得显示窗口看起来会闪 对此可以使用内存设备环境来解决 用 户可以把要显示的图形先在内存中绘制好 然后再一次性的将内存中的图形一个点一个 点的覆盖到屏幕上去 在内存中绘图时 内存中的图像数据只作标识而没有显示效果 当贴到屏幕上时 由于内存中最终的图形与屏幕上显示图形差别很小 所以看起来就不 会闪了 10 六 总结六 总结 本次课程设计让我初步了解了电子游戏所涉及到的有关技术 方法 做到了能图 文 声并茂地演示扫雷游戏 在这次课程设计过程中 遇到了很多问题 利用图书馆和 互联网 我们查阅了很多资料 同时其他同学也给了我们很多帮助 最终问题都得到了 解决 我们也学到了很多新知识 并且对以前的知识进行了回顾 通过不断上机实验 调试程序 总结经验 增强了动手实践能力和解决问题的能力 在这次系统开发的过程中 我深深体会到了做一个系统 首先进行需求分析的重要
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026新学期社区居民自然灾害预警信号的识别课件
- 2025-2026年生物多样性保护与生态监测模拟试题
- 2026年四川省人教版小学语文上册第7单元古诗鉴赏习题
- 2025-2026年浙江省苏教版九年级物理第10课热力学基础测试题
- 2025-2026年浙江省部编版高二英语第9单元阅读理解练习题
- 2025-2026年煤矿安全管理人员培训试卷
- 初中九年级英语Unit 1重点短语教学设计
- 小学六年级劳动教学设计:刨红薯中的农事智慧与指尖功夫
- 高二生物教学设计:种群数量特征第三课时-标记重捕法与密度估算实践
- 高中信息技术必修一5.3数据的分析教学设计
- 2026年保密观教育知识题库(附含答案)
- 2025陕西省一三九煤田地质水文地质有限公司招聘(3人)笔试历年参考题库附带答案详解
- 眩晕急诊诊断与治疗指南(2021年)课件
- 新版2025-2026学年人教版八年级物理上册全册同步练习合集
- 2026年江苏省苏州市《保安员证》考试题库含答案(完整)
- 广告劳务分包合同
- 王府井百货内部管理制度
- 基于临床路径的医疗资源浪费防控策略
- 2026年机械工程硕士研究生入学考试机械设计基础单套试卷
- 丝印机安全操作规程
- 佛教协会内部管理制度
评论
0/150
提交评论