- 1、本文档共42页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- 护理-业务查房人工肘关节置换术.ppt
- 护理业务查房与_护理教学查房的区别.ppt
- 护理一例基底动脉综合征患者后的体验.ppt
- 环境保护复习试题资料全.doc
- 环境保护与防治传染病措施方案.doc
- 环境体系管理手册OK_副本.doc
- 环境卫生工作活动记录与检查记录.doc
- 会考化学实验常用仪器和基本操作.ppt
- 会议会务系统方案汇总.ppt
- 会员制服装专卖店管理手册范本.doc
- 《GB/T 12668.7202-2024调速电气传动系统 第7-202部分:电气传动系统的通用接口和使用规范 2型规范说明》.pdf
- 《GB/T 15692-2024制药机械 术语》.pdf
- GB/T 15692-2024制药机械 术语.pdf
- 中国国家标准 GB/T 15692-2024制药机械 术语.pdf
- GB/T 19633.1-2024最终灭菌医疗器械包装 第1部分:材料、无菌屏障系统和包装系统的要求.pdf
- 中国国家标准 GB/T 19633.1-2024最终灭菌医疗器械包装 第1部分:材料、无菌屏障系统和包装系统的要求.pdf
- 《GB/T 19633.1-2024最终灭菌医疗器械包装 第1部分:材料、无菌屏障系统和包装系统的要求》.pdf
- 《GB/T 30117.1-2024非相干光产品的光生物安全 第1部分:通用要求》.pdf
- 《GB/T 33348-2024高压直流输电用电压源换流器阀 电气试验》.pdf
- GB/T 33348-2024高压直流输电用电压源换流器阀 电气试验.pdf
文档评论(0)