1、 数数 据据 结结 构构 课课 程程 设设 计计 报报 告告 书书 课题课题名称:名称: 超级玛丽小游戏开发 班班 级级: XXXXXXXX 学学 号号: XXXXXXXX 姓姓 名名: XXXXXXXX 指导教师:指导教师: XXXXXXXX 一、一、 课程设计的目的:课程设计的目的: 1、 通过本次课程设计,加深对数据结构这么课程的中基础理论的理解以及 能够对一些常用数据结构的熟练应用,理论与实践相结合,达到学以致 用的目的。 2、 通过小组形式一起开发,从中培养团结、合作、沟通、理解的精神。 二、二、 选择的课题:选择的课题:超级玛丽小游戏开发 三、三、 小组成员:小组成员: 四、四、
2、应用到的知识:应用到的知识: 链表的操作、 win32 sdk 基础、 DirectDraw 基础、 基础物理力学、 初等数学中的向量学 数据结构课程设计报告书 XXXXX、XXXX、XXX、XXX XXXXXX、 XXXXXXXXXXXXXX 设计流程图:设计流程图: 游 戏 场 景 设 计 数据结构 物理建模 逻辑与关卡设计 动作与特效设计 拼贴式制作和 显示背景 游戏背景随玩家的移 动而向前滚动 为 玩 家 建 立 物体下落、碰 撞 等 物 理 模 型 为 “怪” 建立各种运 动的物理模型 总体设计 设计移动、弹 跳、下落、碰 撞、死亡各种 动作效果 声音效果、 攻击效果 建 立 存 储
3、 数 据 的 节 点 基 类,其它类派 生于此基类 建立管理节点数据 的链表, 以管理游戏 相关的主要数据 主要有移动、 碰撞、攻击和 死亡的判断 升级和各等级难度 的设置、玩家生命 值、攻击力的设计 五、五、 详细设计流程:详细设计流程: 1、 定义一些用于判断游戏各种状态、 和图片物品位置索引的枚举变量和结构体定义一些用于判断游戏各种状态、 和图片物品位置索引的枚举变量和结构体 和一些宏常量和一些宏常量: 其中枚举变量的有: 运动方向 DIRECTION、 动作状态 ACTION、 怪的类型、 碰撞类型、 物质类型 结构体的有: 用于图片索引定位的结构体 SPRITE_BM、 各个物块的边
4、界信息结构体 BOX、 用于分析碰撞结果的结构体 COLLISION 一些宏、常量: 游戏起始位置:PLAYER_STARTX 、PLAYER_STARTY 重力加速度:GRAVITY 屏幕长和宽:SCREEN_W 、SCREEN_H 瓷砖长和宽:TILE_W、TILE_H 2、设计基类:、设计基类:CSprite 属性: 类型 m_type、 是否已死 m_active、 横坐标 m_x、 纵坐标 m_y、 宽 m_width、 高 m_height、 是否在地上 m_onground、 图片张数 m_nBitmaps、 图片帧计数 m_count、 当前图片索引 m_curBitmap、 图片索引 m_sbm、 方向 m_dir、 行为 m_action(方向和行为用于索引图片和游戏逻辑判断) 、 X 轴速度 m_xv、 Y 轴速度 m_yv、 X 加速度 m_xa、 Y 加速度 m_ya、 移动路程 m_relSwitch 方法: