文档详情

C++面向对象大作业报告-Read.DOC

发布:2018-11-14约5.06千字共5页下载文档
文本预览下载声明
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 Ene
显示全部
相似文档