- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C面向对象实验报告
C++面向对象大作业实验报告
(1)问题描述
项目选题为做一个飞行射击游戏。游戏中有各总各样的敌机和武器,敌机按一定的几率出现,玩家消灭敌机后可得分数奖励,达到一定分数后会升级,游戏难度随着玩家级数的增加而增大。游戏有很多爆炸场面,增加了刺激性。
(2)系统设计
GameWorld类
描述:控制整个游戏过程的类
主要数据成员:
静态数据成员
const int Width, Height; // 游戏区域的宽和高
const double PI; // 圆周率
(B) 对象指针
Display *pScreen; // 屏幕
Player *pPlayer; // 玩家
BulletSystem *pPlayerBulletSystem, // 玩家子弹系统
*pEnermyBulletSystem; // 敌方子弹系统
EnermySystem *pEnermySystem; // 敌机系统
CollisionSystem *pCollisionSystem; // 碰撞系统
主要成员函数:
GameWorld( HWND); // 构造函数
void ShowInfomation() // 显示屏幕信息
void Update(); // 游戏状态更新
void KeyDown(WPARAM KeyCode); // 处理按键
void KeyUp(WPARAM KeyCode); // 按键释放
void EnermyFire(Enermy *pEnermy); // 敌人发射子弹
void PlayerFire(Player *pPlayer); // 玩家发射子弹
void ResetPlayer(); // 重置玩家角色
void DrawSprite(Sprite *pSprite); // 在屏幕上输出角色
Display类
描述: 实现游戏画面输出的类
主要成员函数:
Display(GameWorld*); // 构造函数
void SetClientSize(HWND hwnd, int Width, int Height)
// 设置窗口客户区大小
void Clear() // 清除画面
void DrawToOffscreen(int x, int y, int w, int h,
int sx, int sy, bool bTransparent)
// 把图形绘制到缓冲画面中
void DrawAllToScreen() // 把缓冲画面输出到屏幕
HDC GetOffscreenDC() // 返回内存设备场景句柄
Bitmap类
描述: 封装位图文件的类
主要成员函数:
Bitmap(char *fn, BOOL transmode=false,
COLORREF transcolor=RGB(255, 0, 255)):
// 构造函数
void CreateMask(); // 为实现背景色透明创建图像掩码
void Load(char *fn) // 载入图像文件
void Draw(HDC ddc, int dx=0, int dy=0,
int dw=0, int dh=0, int sx=0, int sy=0);
// 输出到设备场景上
BulletSystem类
描述: 管理子弹的类
主要数据成员:
listBullet* BulletList; // 子弹列表
listBullet*::iterator pCurElement;// 当前子弹
int BulletIndex, // 当前子弹索引
BulletCount; // 列表中的子弹总数
主要成员函数:
BulletSystem(GameWorld *pgw);
void FireHappened(Bullet::BULLET_TYPE BulletType,
int x, int y, double sprite_vx, double sprite_vy);
// 处理发射子弹的事件
Bullet* GetFirstBullet(); // 返回第一个子弹对象
Bullet* GetNextBullet(); // 返回下一个子弹对象
void Update(); // 刷新所有子弹
EnermySystem类
描述: 管理敌机的类
主要数据成员:
listEnermy* EnermyList; // 敌机列表
listEnermy*::iterator pCurElement; // 当前敌机
int Enermy
您可能关注的文档
- AppManager_一种基于服务的机群任务管理系统.pdf
- Approximate Separability for Weak Interaction in Dynamic Systems.pdf
- Aptitude Evaluation Answer Sheetcandidate.xls
- apr中内存分配子的current_free_index成员作用.pdf
- AP物理和生物考前过一遍.docx
- ArcEngine 渲染的使用.doc
- ArcGISAPIForSilverlight实例分析.doc
- arcgisengine开发的实验.doc
- ArcGIS中两种网络分析对比.doc
- ArcGIS利用制图表达制作粗细不等的河流.docx
最近下载
- 《幼儿园早操各环节编排策略的实践研究》课题研究报告.doc
- 钢筋翻样自动计算excel表格.xls
- 2025国家卫生健康委能力建设和继续教育中心招聘3人笔试模拟试题及答案解析.docx
- 2024年高考物理二轮复习第一编核心专题突破专题1力与运动第二讲力与直线运动.pptx VIP
- 动物防疫服务投标方案.doc
- 一种D-手性肌醇的制备方法.pdf VIP
- GB_T 39477-2020信息安全技术 政务信息共享 数据安全技术要求.docx VIP
- JB∕T 8734.6-2016 额定电压450/750V及以下聚氯乙烯绝缘电缆电线和软线 第6部分:电梯电缆.docx VIP
- 基于springboot框架的办公室OA系统设计与实现论文.docx
- 博物馆钢结构施工方案.doc
文档评论(0)