欢迎来到毕设资料网! | 帮助中心 毕设资料交流与分享平台
毕设资料网
全部分类
  • 毕业设计>
  • 毕业论文>
  • 外文翻译>
  • 课程设计>
  • 实习报告>
  • 相关资料>
  • ImageVerifierCode 换一换
    首页 毕设资料网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    计算机图形学课程设计——扫雷游戏程序设计

    • 资源ID:1410205       资源大小:191KB        全文页数:18页
    • 资源格式: DOC        下载积分:100金币
    快捷下载 游客一键下载
    账号登录下载
    三方登录下载: QQ登录
    下载资源需要100金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

    计算机图形学课程设计——扫雷游戏程序设计

    1、计算机图形学课程设计报告计算机图形学课程设计报告 VC+VC+扫雷游戏扫雷游戏的的程序程序设计设计 专业班级: 小组成员: 指导老师: 日 期:2012 年 12 月 24 日 1 1、需求分析 本课程设计实现类似于 Windows XP 操作系统自带的扫雷游戏。该设计 以 Visual C+ 6.0 为开发环境, Windows 7/XP 为程序运行平台。在程序 设计中,把整个雷区看成一个二维数组,把雷方块定义为具有所在雷区二 维数组的行和列、当前状态、方块属性、历史状态的结构体,采用了 MFC 机制解决问题的方法。整个游戏程序包括了布雷、扫雷过程和结果三个阶 段,在处理鼠标响应事件中伴随着

    2、 GDI 绘图。程序通过调试运行,实现简 单的设计目标,满足扫雷游戏初学者的需要。 通过本课程设计,以便更好的巩固计算机图形学相关知识,掌握课程 设计基本的方法和技巧,同时增加同学之间的团队合作精神以及培养分析 问题、解决问题的能力。 2.总体设计 2.1 功能概述 扫雷游戏的游戏界面如图 1 所示。在这个界面中,由众多面积均等的 小方块所组成的区域称之为雷区, 雷区的大小由用户设置的游戏等级决定。 未知雷区 玩家标定未知雷 周围雷数提示 玩家标定地雷 2 图 1 游戏开始时,系统会在雷区中随机布下若干个地雷。安放地雷的小方 块称之为雷方块,其他的称之为非雷方块。部署完毕后,系统会在其他非 雷

    3、方块中填充一些数字。某一个具体数字表示与其紧邻的 8 个方块中有多 少雷方块。玩家可以根据这些信息去判断是否可以鼠标点击方块,并把认 为是地雷的方块打上标识。当玩家将所有地雷找出后,其余的非雷方块区 域都已打开,此时游戏结束。在游戏过程中,一旦错误地打开了雷方块则 立即失败,游戏结束。 游戏规则总结: 开始:按左键开始游戏,按按钮或菜单重新开始。 左键:按下时,是雷则结束,非雷则显示数字。 数字:代表此数字周围一圈八格中雷的个数。 右键:奇次按下表示雷,偶数按下表示对上次的否定。 结束:左键按到雷结束,找出全部雷结束。 在游戏开始后,雷区上方有两个计数器。右边的计数器显示用户扫雷 所花费的总时

    4、间,以秒为单位;左边的计数器显示当前还剩余多少个雷方 块。 2.2 设计流程图 3 图 1 3.详细设计 3.1 界面设置 在vc+运行环境下编写程序并调试, 最终实现的游戏界面为图2所示, 点击鼠标可开始游戏。 图 2 3.2 功能设计 3.2.1 布雷 随即获取一个状态为非雷的点,将它的属性标志为雷,重复这样的工 开始 初始化游戏 绘制雷区 绘制笑脸 绘制计数器 鼠标右键触发动作 鼠标左键触发动作 4 作,直到布下足够的雷为止,其流程图如图 3 所示。 图 3 在 CMineWnd 类中添加游戏的布雷模块的处理函数,其具体实现代码 如下所示。 void CMineWnd:LayMines(

    5、UINT row, UINT col) /埋下随机种子 srand( (unsigned)time( NULL ) ); UINT i, j; for(UINT index = 0; index uRow, m_pOldMine-uCol); if (m_uGameState = GS_WAIT) m_uBtnState = BUTTON_NORMAL; Invalidate(); ReleaseCapture(); return; /假若周围已经标识的雷周围真正的雷数,拓展 13 if (m_pOldMine-uState != STATE_FLAG) OpenAround(m_pOldMi

    6、ne-uRow, m_pOldMine-uCol); if (ErrorAroundFlag(m_pOldMine-uRow, m_pOldMine-uCol) Dead(m_pOldMine-uRow, m_pOldMine-uCol); ReleaseCapture(); return; else /如果游戏尚未开始,点击左键启动游戏 if (m_uGameState = GS_WAIT) if (m_uTimer) KillTimer(ID_TIMER_EVENT); m_uTimer = 0; m_uSpendTime = 1; Invalidate(); if (m_bSoundful) sndPlaySound(LPCTSTR)LockResource(m_pSndClock), SND_MEMORY | SND_ASYNC | SND_NODEFAULT); /启动定时器 m_uTimer = SetTimer(ID_TIMER_EVENT,


    注意事项

    本文(计算机图形学课程设计——扫雷游戏程序设计)为本站会员(课***)主动上传,毕设资料网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请联系网站客服QQ:540560583,我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们
    本站所有资料均属于原创者所有,仅提供参考和学习交流之用,请勿用做其他用途,转载必究!如有侵犯您的权利请联系本站,一经查实我们会立即删除相关内容!
    copyright@ 2008-2025 毕设资料网所有
    联系QQ:540560583