燕山大学课程设计说明书
课程设计名称:操作系统
题目:超级马里奥游戏设计实现
年 级:
开发小组名称:
课题负责人:
课题组成员:
姓名 学号 班级 自评 分工
张三
21111 12 A
物景交互、协调代
码
张三
21111 12 B+
关卡代码设计实现
张三
21111 12 B+
报告撰写、场景协
调
张三
21111 12 B
地图代码设计实现
课题开发日期:XXXX.XX.XX
指导教师:
摘要
本文研究的是超级马里奥游戏的设计实现,本项目预计实现的功能如下:实现游戏界
面及场景的流畅切换转变,游戏画面和音效及背景音乐的同时发生,游戏地图的自动随机
生成,游戏关卡的自动设置,人物及动画的顺畅运动等。
本项目中运用信号量和互斥量来解决按键频繁按压的问题,通过时钟信号的响应去更
新画面和进行人机交互,通过音频和画面来实现多进程线程同步问题,采用了 Qt 的类 C++
语言进行编写。
关键词:面向对象设计,多线程,Qt,同步控制,时钟信号响应
目录
前言
1.1 项目背景...........................................................................................................1
1.2 目的意义...........................................................................................................1
主要任务
2.1 项目概述...........................................................................................................2
2.2 需求分析...........................................................................................................2
总体设计
3.1 总体结构...........................................................................................................3
3.2 界面构件...........................................................................................................3
详细设计
4.1 MarioComponent 类详细设计..........................................................................5
4.2 TitleScene 类详细设计.....................................................................................6
4.3 LoseScene 类详细设计.....................................................................................6
4.4 WinScene 类详细设计......................................................................................6
4.5 MapScene 类详细设计.....................................................................................7
公有成员说明()
私有成员说明()
4.6 ImprovedNoise 类详细设计.............................................................................9
4.7 关卡系列...........................................................................................................9
关卡基类:
关卡生成:
关卡渲染器:
关卡场景:
关卡背景生成:
4.8 Sprite 系列.......................................................................................................15
基类
子弹:
金币: !"#
颗粒特效:$%#
蘑菇:&'("#
#火球:)
龟壳:'(
马里奥:&
4.9 Enemy 类.........................................................................................................20
4.10 SpriteTemplate..............................................................................................21
遇到的问题与解决方法
5.1 如何对地图界面进行初始化.........................................................................22
5.2 如何避免音频导入循环播放导致缓存溢出闪退.........................................22
5.3 暂停瞬间人物死亡导致程序不能够正常退出.............................................22
#总结
参考文献
*+, 只对构造函数起作用,用来抑制隐式转换
*+ -- 中 '(. 的使用
*+ --/01/2的用法及初始化
*+314 调用时间
*+函数本质理解
*#+'55602函数和 '55' 函数的介绍
*+超级玛丽设计思路分析
*+超级玛丽代码框架参考
- 1
- 2
- 3
前往页