计算机101吴^^(最终版)俄罗斯方块实验报告.doc

计算机101吴^^(最终版)俄罗斯方块实验报告.doc

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
..... word格式.整理版 实验报告 俄罗斯方块单机版 VC++课程学习 计算机学院101班 34号 吴东译 学号:101110038 指导老师:陈德礼 2012年5月29日 报告内容的概括: 资源准备工作:位图的绘制 封面位图的绘制: 此位图是在vC6.0位图绘制环境下绘制成,作为游戏开始前的封面,如下: 游戏界面位图的绘制: 此位图也是在VC6.0位图绘制环境下绘制,整体如下: 游戏方块位图的绘制: 位图保存后如下: 方块位图一 方块位图二 方块位图三 快捷图标按键位图的绘制 位图如下: 5.模式选择位图: 具体形成位图如下: 6.最终构成的游戏封面与界面为: 游戏封面 游戏界面 重要功能的具体实现方法分析 菜单栏与图标快捷栏 首先要进窗口的创建与退出 (1)MFC.exe单文档工程建立后,进入Precreatewindow()函数下进行窗口的属性编辑: (2)增加代码如下: cs.cx=500; cs.cy=650; cs.dwExStyle=cs.dwExStyle|WS_EX_TOPMOST; // cs.style=WS_SYSMENU|WS_OVERLAPPED|WS_MINIMIZEBOX; (3)有上两步便可以创建一个有windows标题栏、表层叠、可最小化而不可以最大化的简单窗口。 (4)退出在菜单栏和图标快捷栏都有退出功能。 (5)“开始”与“暂停”两个功能的控制键分别由菜单栏的“控 制”下拉菜单和快捷菜单栏快捷图标控制; (6)具体实现的过程是对每个需要的菜单进行ID的设置,并对其设置响应函数。其函数分别为: 两函数的代码分别为: 暂停: void CYiView::OnMenuPause() { // TODO: Add your command handler code here m_bPause=!m_bPause; if(m_bPause) KillTimer(1); else { SetTimer(1,50*(11-y.m_Speed ),NULL); } } 开始: void CYiView::OnMenuStart() ///菜单栏函数 { // TODO: Add your command handler code here start=true; y.Start(); SetTimer(1,50*(11-y.m_Speed ),NULL); } 其中在自己创的yy类中的一函数Start(); Start()函数代码如下: /////////////////////////////////////////////////////// //开始函数//// /////////////////////////////////////////////////////// void yy::Start() { //清空背景数组 for(int i=0;im_RowCount;i++) for(int j=0;jm_ColCount;j++) { Yy[i][j]=0; } //清空方块数组Now[][] Will[][] for(i=0;i4;i++) for(int j=0;j4;j++) { Now[i][j]=0; Will[i][j]=0; } //先画Will[][] DrawWill(); Sleep(500); ///这个函数挂起当前线程执行指定的时间间隔。 //再画Now[][]Will[][] DrawWill(); } (7)其中在Start()函数中调用的yy的成员函数D让我Drewwii()函数,该函数的作用是把预备方块给当前方块,再生成一个预备方。(画图) 难度选择 首先与菜单栏中有一菜单是“模式”,下拉菜单则是难度的选择,分为:简单,中等,困难。 鼠标过处便可以变换位图支持单机开始。 当用户选择一种模式时就有一种难度对应,三种模式分别以不同的速度与方块类型,难度进行速度增快和方块颜色的变换与品种增多而加大难度。选择不同难度后分数难度速度的显示分别有三种不同的表现: 分别有下列函数实现: 代码如下 void CYiView::OnLevel1() void CY

文档评论(0)

smdh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档