77范文网 - 专业文章范例文档资料分享平台

飞机大战实训(4)

来源:网络收集 时间:2019-02-21 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

信息科学与工程学院软件实践实训报告

BOOL CMyPlane::Draw(CDC* pDC,BOOL bPause) {

m_ptPos.x=m_ptPos.x+m_nHorMotion*5; m_ptPos.y=m_ptPos.y+m_nVerMotion*5;

//使飞机在屏幕内 if(m_ptPos.x>=1000) m_ptPos.x=1000; if(m_ptPos.x<=0) m_ptPos.x=0; if(m_ptPos.y<=0) m_ptPos.y=0; if(m_ptPos.y>=600) m_ptPos.y=580; return m_Images.Draw(pDC,0,m_ptPos, ILD_TRANSPARENT); }

BOOL CMyPlane::LoadImage() {

return CGameObject::LoadImage(m_Images,IDB_Myplane,RGB(0,0,0),50,60,1); }

4.3 Enemy.cpp

#include \#include \#include \

CImageList CEnemy::m_Images; CEnemy::CEnemy(void) {srand(GetTickCount()); m_ptPos.x=rand()?0;//rand产生随机数,初始敌机位置 m_ptPos.y=0; m_V=rand()%5+1; m_nImgIndex=rand()%2; //上下飞机 if(m_nImgIndex==0)

16

信息科学与工程学院软件实践实训报告

{

m_nMotion=1; m_ptPos.y=0; } if(m_nImgIndex==1) {

m_nMotion=-1; m_ptPos.y=700; } }

CEnemy::~CEnemy(void) { }

BOOL CEnemy::Draw(CDC *pDC, BOOL bPause) { if(m_ptPos.y>=700) m_ptPos.y=0; if(m_ptPos.y<=-15) m_ptPos.y=700; m_ptPos.y=m_ptPos.y+m_nMotion*m_V; return m_Images.Draw(pDC,m_nImgIndex,m_ptPos,ILD_TRANSPARENT); }

BOOL CEnemy::LoadImage() {

return CGameObject::LoadImage(m_Images,IDB_Enemy,RGB(0,0,0),35,35,2); }

4.4Bomb.cpp

#include \#include \#include \

CImageList CBomb::m_Images; CBomb::CBomb(int x,int y) { m_ptPos.x=x; m_ptPos.y=y;

17

信息科学与工程学院软件实践实训报告

}

CBomb::~CBomb(void) { }

BOOL CBomb::Draw(CDC *pDC, BOOL bPause) { m_ptPos.y=m_ptPos.y-1*8; return m_Images.Draw(pDC,0,m_ptPos, ILD_TRANSPARENT); /**********使导弹在屏幕内*****************/ if(m_ptPos.x>=1000) return FALSE; if(m_ptPos.y>=800) return FALSE; }

BOOL CBomb::LoadImageW() { return CGameObject::LoadImageW(m_Images,IDB_Bomb,RGB(0,0,0),10,20,1); }

4.5Ball.cpp

#include \#include \#include \

CImageList CBall::m_Images;

CBall::CBall(int x,int y,int nMotion) { m_ptPos.x=x; m_ptPos.y=y; m_nMotion=nMotion; }

CBall::~CBall(void) { }

BOOL CBall::Draw(CDC* pDC,BOOL bPause) {

18

信息科学与工程学院软件实践实训报告

m_ptPos.y= m_ptPos.y+m_nMotion*6;//固定子弹速度为10 return m_Images.Draw(pDC,0,m_ptPos,ILD_TRANSPARENT); //使子弹在屏幕内 if(m_ptPos.x>=1000) return FALSE; if(m_ptPos.y>=700) return FALSE;; }

BOOL CBall::LoadImage() {

return CGameObject::LoadImage(m_Images,IDB_Ball,RGB(0,0,0),8,8,1); }

4.6Explosion.cpp

#include \#include \#include \

CImageList CExplosion::m_Images; CExplosion::CExplosion(int x,int y) { m_ptPos.x=x; m_ptPos.y=y; m_nProcess=0; }

CExplosion::~CExplosion(void) { }

BOOL CExplosion::Draw(CDC* pDC,BOOL bPause) { m_Images.Draw(pDC,m_nProcess,m_ptPos,ILD_TRANSPARENT); m_nProcess++; if (m_nProcess==8) return FALSE; else return TRUE; }

BOOL CExplosion::LoadImage() {

19

信息科学与工程学院软件实践实训报告

return CGameObject::LoadImage(m_Images,IDB_Explosion,RGB(0,0,0),66,66,8); }

4.7GameObject.cpp

#include \

#include \

// CGameObject

CGameObject::CGameObject(int x,int y):m_ptPos(x,y) { }

CGameObject::~CGameObject() { }

BOOL CGameObject::LoadImage(CImageList& imgList,UINT bmpID,COLORREF crMask,int cx,int cy,int nInitial) { CBitmap bmp; if(!bmp.LoadBitmap(bmpID)) return FALSE; if(!imgList.Create(cx, cy, ILC_COLOR24|ILC_MASK, nInitial, 0)) return FALSE; imgList.Add(&bmp, crMask); return TRUE; }

5. 实训中遇到的主要问题及解决方法

5.1(问题一)

当实现一架敌机运动时,怎样实现多架敌机的随机运动,通过老师的提示及询问同学解决了此问题。

5.2(问题二)

每当战机击落一架敌机,程序或者中断,或者反应迟钝,在其后加了个break,问题就解决啦。

20

信息科学与工程学院软件实践实训报告

5.3(问题三)

在战机击落十架敌机时,战机会加一条命,但实现时就会生命循环加,原因是限制的条件没有考虑到零,零除以一百取余还是零。

6. 实训体会

飞机大战的游戏是基于c++基础上在visual studio2008上实现的,所以通过这次实习,把以前忘掉的,不会的,不熟的知识点复习了一遍,每当遇到问题,自己可以查课本,或者上网,询问老师和同学,增强了自己的自学能力,为以后的学习和工作,打下啦坚定的基础。 在实现飞机大战的过程中,确实感觉到自己知识的薄弱,很多知识不会,例如visual studio2008中的很多功能的作用,这次实习使我对编程有了新的认识和定义,其实程序的编程不是枯燥和乏味的,而是包含着轻松和愉悦,每当自己解决了一个刺手的问题后,自己都有一种成功感。

21

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库飞机大战实训(4)在线全文阅读。

飞机大战实训(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/483262.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: