首页
会员中心
到顶部
到尾部
VC毕业设计

雷电3飞行射击游戏_一个简单的飞行射击游戏VC137

时间:2020/10/13 21:13:57  作者:  来源:  查看:0  评论:0
内容摘要: C++面向对象大作业实验报告 (1)问题描述项目选题为做一个飞行射击游戏。游戏中有各总各样的敌机和武器,敌机按一定的几率出现,玩家消灭敌机后可得分数奖励,达到一定分数后会升级,游戏难度随着玩家级数的增加而增大。游戏有很多爆炸场面,增加了刺激性。 (2)...
C++面向对象大作业实验报告
 
1)问题描述
项目选题为做一个飞行射击戏。游戏中有各总各样的敌机和武器,敌机按一定的几率出现,玩家消灭敌机后可得分数奖励,达到一定分数后会升级,游戏难度随着玩家级数的增加而增大。游戏有很多爆炸场面,增加了刺激性。
 
2)系统设计
GameWorldhttp://www.16sheji8.cn/
描述:控制整个游戏过程的类
 
主要数据成员:
(A)  静态数据成员
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);       // 处理按键http://www.16sheji8.cn/
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
    描述: 封装位图文件的类http://www.16sheji8.cn/
    主要成员函数:
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
    描述: 管理子弹的类
    主要数据成员:
list<Bullet*>               BulletList; // 子弹列表
list<Bullet*>::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();              // 刷新所有子弹http://www.16sheji8.cn/
  


相关评论
广告联系QQ:45157718 点击这里给我发消息 电话:13516821613 杭州余杭东港路118号雷恩国际科技创新园  网站技术支持:黄菊华互联网工作室 浙ICP备06056032号