- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机学院本科生试验报告试验课程:程序设计试验试验项目:平面
计算机学院本科生实验报告
实验课程:程序设计实验
实验项目:平面游戏设计(陨石撞飞机)
指导教师:张金区
开课时间:2015年6月
班级: 2014实验班
华 南 师 范 大 学
计算机 学院 _程序设计实验_课实验报告
2014 年级 实验 班 实验日期 2015-7-1
姓名 何嘉浩 学号 20142101007
实验题目:陨石撞飞机 教师评定__________
一中文摘要
二关键词
BITMAP类消息绘图函数
②开发游戏的相关资源(如使用到的位图资源,音频资源等)
③用c++结合前期的资源编写游戏的逻辑代码。
④对开发出来的游戏进行调试
六、陨石撞飞机游戏设计与实现
1.陨石撞飞机的设计要求
(1)有一架飞机,至少有三块陨石,形状自己绘制。
(2)当陨石碰撞了飞机时,显示提示对话框,确定后在碰撞位置重新开始游戏。
(3)飞机活动的区域不能超出窗口的边界。
(4)说明在哪里可以控制飞机移动的速度、陨石下落的速度。
(5) 当三次碰撞后显示提示对话框,游戏结束。
2.陨石撞飞机的实现过程
①使用visual studio新建一个MFC工程命名为plane并往其中添加五个位图资源BITMAP1为飞机位图BITMAP2~4为陨石的位图BITMAP5为飞机爆炸效果的位图当中位图分别如下图图所示
(飞机位图) (陨石位图 (爆炸效果位图
②往planeView.h的头文件里面添加代表飞机陨石的相关变量
// 特性
public:
CplaneDoc* GetDocument() const;
CBitmap m_plane,m_boom;
int mx, my;
CBitmap m_stone1, m_stone2,m_stone3;
int nstone1x, nstone1y;
int nstone2x, nstone2y;
int nstone3x, nstone3y;
int life;
// 操作
public:
void DrawPlane(CDC *pDC);
void DrawStone1(CDC *pDC);
void DrawStone2(CDC *pDC);
void DrawStone3(CDC *pDC);
void DrawBoom(CDC *pDC);
③在planeView.cppp文件中的构造函数过程添加对上面变量初始化的代码
CplaneView::CplaneView()
{
// TODO: 在此处添加构造代码
life = 3;
mx = 20;//飞机位置的初始化
my = 300;
m_plane.LoadBitmap(IDB_BITMAP1);//初始化位图
m_boom.LoadBitmap(IDB_BITMAP5);
//陨石位置的初始化 nstone1y = 10;
m_stone1.LoadBitmap(IDB_BITMAP2);
nstone2x = rand()%500; // x方向随机数0~499
nstone2y = 10;
m_stone2.LoadBitmap(IDB_BITMAP3);
nstone3x = rand()%500; // x方向随机数0~499
nstone3y = 10;
m_stone3.LoadBitmap(IDB_BITMAP4);
}
④在planeView.cpp文件中添加上面的
void CplaneView::DrawPlane(CDC *pDC)//飞机绘图函数
{
CDC MemDC;
MemDC.CreateCompatibleDC(pDC);
BITMAP bm;
m_plane.GetObject(sizeof(BITMAP), bm);
CBitmap MemBitmap;
MemBitmap.CreateCompatibleBitmap(pDC, bm.bmWidth, bm.bmHeight);
CBitmap *pOldBitmap;
pOldBitmap = (CBitmap*)MemDC.SelectObject(MemBitmap);
MemDC.SelectObject(m_plane);
pDC-BitBlt(mx, my, bm.bmWidth, bm.bmHeight, MemDC, 0, 0, SRCCOPY);
MemDC.SelectObject(pOldBitmap);
}
void CplaneView::DrawBoom(CDC *pDC
文档评论(0)