- 3
- 0
- 约1.2万字
- 约 18页
- 2017-06-23 发布于湖北
- 举报
冒险屠宰场游戏
冒险屠宰场游戏
冒险屠宰场是一个简单的迷宫式冒险类游戏。如图3.13 所示是冒险屠宰场游戏运行界面图。
图3.13 冒险屠宰场运行界面图
在游戏开始的时候,玩家可以选择羊、猪或者兔作为控制的精灵。在迷宫中,玩家要在避免被屠
夫抓住的同时吃掉屏幕中不断出现的食物——苹果、香蕉等。在吃掉了所有指定的食物后,迷宫中会
出现一把钥匙,玩家需要拿到这把钥匙,因为之后迷宫中还会出现一道门,拿到钥匙才能打开门。进
入门后,玩家就过关了。
要编译这个游戏,需要安装DirectX 8.0 SDK 或以上版本。事实上,8.0 的版本要求并不是绝对的,
因为在这个游戏中并没有使用到特别的8.0 版本中的API。不过要想在低版本上运行这个程序就必须
修改Dinput 代码。这个游戏运行于1024?768 分辨率下。
3.6.1 系统框架设计
在这个游戏中,有11 个核心类和一个核心结构。这些类和结构构成了游戏的框架。
class CDisplay;
class CSurface;
class CSoundManager;
class CSound;
class CStreamingSound;
class CWaveFile;
class cKeyboard;
class cMouse;
class CSprite;
class CSpriteManager;
class CMaze;
struct SHandleInput
其中类CDisplay、CSurface、CSoundManager、CSound、CStreamingSound 和CWaveFile 是DirectX
8.0 SDK 中提供的类。这里直接将这些类抽取出来。
CDisplay 类用来处理所有DDraw 显示方面的内容,包括前台页面和后台页面的创建,离线屏幕和
调色板的创建以及页面绘制和位图显示。
CSurface 类用来处理所有DirectDrawSurface 方面的内容。
CSoundManager 用来管理声音设备。而CSound 类封装了DirectSound 的缓冲功能。CWaveFile 封
装了从波形文件中读取和写入声音数据。CStreamingSound 封装了DirectSound 播放波形文件的功能,
第3 章2D 游戏开发109
它的Create 函数负责载入一块波形文件到缓冲区,声音播放的时间越长,被写入的缓冲区越大。
cKeyboard 类是键盘输入的接口。cMouse 类是鼠标输入的接口。
CSprite 是精灵类,而CSpriteManager 是精灵管理类,CSpriteManager 类是一个可选的类。在这个
游戏中,玩家控制的精灵就是直接通过CSprite 管理的,而没有使用CSpriteManager。但是对于敌人(屠
夫)精灵使用CSpriteManager 进行管理。
CMaze 是关卡类,即地图类,这里是一种迷宫类。
SHandleInput 结构继承自iKeyboardReceiver 类,它负责处理用户的键盘输入。
3.6.2 程序框架设计
WinMain 函数控制了整个程序的运行流程。WinMain 初始化所有的内容,当消息队列为空时,即
CPU 处于Idle 状态时,调用UpdateFrame 函数更新每一帧。
int APIENTRY WinMain( HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR pCmdLine, int
nCmdShow )
{
MSG msg;
HWND hWnd;
HACCEL hAccel;
//设置当前时间为随机种子
srand( GetTickCount() );
wsprintf((char*)g_szGameStatus, (char*)GAMESTATUS_TEXT,0,0);
wsprintf((char*)g_szLifeLeft, (char*)LIFE_LEFT_TEXT,g_nLivesLeft -1);
wsprintf((char*)g_szScore, (char*)GAMESCORE_TEXT,g_nScore);
g_hInstance = hInst;
char szName[200];
//载入关卡配置信息
std::fstream LevelData(config.txt,std::ios::in );
//略过第一行内容
LevelData.getline(szName,200);
// 读入关卡数
LevelData g_nNoOfLevels; // Number of Horizontal rows
g_pLevel = new SLEVEL[g_n
您可能关注的文档
- 冀教版四年级英语上册Lesson-10--Brush-and-Wash.ppt
- 冀教版六年级英语下册__自制unit_1__第3、4课课件.ppt
- 冀教版六年级英语上册in the living room课件.ppt
- 冀教版六年级英语下册11课.ppt
- 冀教版四年级英语上册lesson12课件.ppt
- 冀教版四年级下册Unit 2 Days and Mothers Lesson 7 关于month的介绍.pptx
- 冀教版四年级下英语_Lesson16_How do you go to school.ppt
- 冀教版四年级英语上册教案第二单元新.doc
- 冀教版四年级下册英语lesson7Months of the year.ppt
- 冀教版四年级英语上册序数词.ppt
- 2026年中国窗饰产品市场全景调查与市场供需预测报告.docx
- 2026年中国船舶水下清洗行业深度研究报告:市场需求预测、进入壁垒及投资风险.docx
- 2026年中国船用绞车行业运行态势及十五五盈利前景预测报告.docx
- 2026年中国橱柜行业深度调研报告.docx
- 2026年中国船用绞车市场深度调研及投资前景战略分析报告.docx
- 2026年中国船用配套设备市场发展策略及投资潜力可行性预测报告.docx
- 2026年中国储能材料行业运营态势与投资前景预测分析报告.docx
- 2026年中国储氢材料行业运营现状及发展规划分析报告.docx
- 2026年中国传真机市场深度研究及投资前景咨询报告.docx
- 2026年中国储能变流器(PCS)产业深度评估与发展前景趋势分析研究报告.docx
最近下载
- (高清版)DB13∕T 5071-2019 食品接触用涂料及涂层中1,4-丁二醇含量的测定气相色谱-质谱法.pdf VIP
- 《水利枢纽库区抬田程技术规范》.doc VIP
- 暗黑破坏神符文之语及合成公式全套.doc VIP
- 光伏电站农光互补的项目实施方案2.doc VIP
- 华中科技大学数理方程与特殊函数课后答案.pdf VIP
- 《水电工程金属结构设备制造监理规范》.doc VIP
- 2025-2026学年初中音乐七年级下册(2024)粤教花城版(2024)教学设计合集.docx
- 赣州市2024-2025学年度第一学期期高三期末考试 英语试卷(含答案).pdf
- 全本玉簪记剧本.pdf VIP
- 开题报告(基于spring boot框架的网上订餐系统的设计与实现).docx VIP
原创力文档

文档评论(0)