信息科学与工程学院软件实践实训报告
便于后面的使用。
(2). 为对话框添加类,在对话框模式下,点击项目,添加类。
(3). 在类视图中,为对话框类添加成员变量(控件变量)。设置变量的名称、类型、最值等信息。
(4). 在资源视图菜单中,选择相应的菜单项,右击添加时间监听程序,设置函数处理程序名称。
(5). 在处理程序函数中添加相应的信息。
3. 总体设计与详细设计 3.1 系统模块划分
该飞机大战游戏程序分为游戏背景位图绘制模块、各游戏对象绘制模块、游戏对象之间的碰撞模块、爆炸效果产生模块、游戏界面输出玩家得分关卡信息模块。
其中在游戏对象绘制模块中,战机是唯一对象,在游戏开始时产生该对象,赋予其固定的生命值,当其与敌机对象、敌机炸弹碰撞时使其生命值减一,直至生命值为零,便删除战机对象。敌机对象与敌机炸弹对象的绘制中采用定时器技术,定时产生。爆炸对象初始化为空,当游戏过程中即时发生碰撞时,在碰撞位置产生爆炸对象,添加到爆炸链表中。
6
信息科学与工程学院软件实践实训报告
3.2 主要功能模块
3.2.1 系统对象类图
CGameObject是各个游戏对象的抽象父类,继承自CObject类,其他的类:战机类、敌机类、爆炸类、子弹类、炸弹类、文字类都继承了此类。
每个游戏对象类中既继承了来自父类CGameObject的属性,又有自己的特有属性和方法。
7
信息科学与工程学院软件实践实训报告
3.2.2 系统主程序活动图
3.2.3 系统部分流程图
(1) 该飞机大战游戏执行流程图:
8
信息科学与工程学院软件实践实训报告
开始初始化游戏否子弹碰撞战机是炮弹碰撞敌机战机生命减少玩家得分生命值为0否否进入下一关是是游戏初始化结束游戏结束
(2) 利用定时器定时产生敌机并绘制敌机流程图
9
信息科学与工程学院软件实践实训报告
开始战机战亡是定时器定时产生敌机并添加到敌机链表中否监听敌机链表中是否有敌机是获取敌机在链表中的位置结束游戏是判断敌机是否出界否移除链表绘制敌机产生子弹结束
10