俄罗斯方块游戏设计课程论文.doc
《俄罗斯方块游戏设计课程论文.doc》由会员分享,可在线阅读,更多相关《俄罗斯方块游戏设计课程论文.doc(62页珍藏版)》请在沃文网上搜索。
1、俄罗斯方块游戏的设计与实现目 录一、综合训练目的与要求11-1 训练目的11-2 训练要求1二、综合训练任务12-1 训练任务12-2 任务描述1三、总体设计23-1 运行环境23-2 游戏的总体设计思路:23-3 游戏功能图:23-4 游戏流程图33-5 类的关系图3四、详细设计说明34-1 游戏的开始,结束,退出34-1-1、游戏的开始34-1-2 游戏的退出44-2 形状的随机产生44-2-1 形状的表示:44-2-2 形状的随机产生44-2-3 形状随机旋转n( n 开始按钮时,游戏开始进行。 首先初始化游戏:调用CRussia类对象的中m_russia.InitGame()操作,然后
2、设置游戏的默认等级,游戏状态,游戏得分等;M_russia.InitGame()中的主要设置如下:m_board.ResetSize(width, height);m_currentShape.CreateRandomShape();m_nextShape.CreateRandomShape();InitShapePos();m_hasShape = true;m_score = 0;m_status = RS_NORMAL;其中界面实现是菜单操作,菜单项和响应事件完成。 ID_START-开始-OnStart()4-1-2 游戏的退出 当点击界面中的游戏退出按钮时,出发OnQuit()函数,
3、退出游戏整个界面。OnQuit()函数给系统发送窗口关闭的消息,用系统将窗口关闭。SendMessage(WM_CLOSE);4-2 形状的随机产生4-2-1 形状的表示:形状类封装了矩阵类对象,形状的旋转主要通过矩阵的旋转来完成,因此形状类中主要完成7种形状在矩阵上的表示,其用来存储矩阵的数据结构时数组,我们用整型数0 和 1 来表示矩阵中方块的无和有,这样,7种形状即可表示如下:0100111000000000反T型1111000000000000直线型1100011000000000Z型0011011000000000反Z型0001000100110000反L型1000100011000
4、000L型1100110000000000正方形图4-2-1 形状在矩阵中的表示4-2-2 形状的随机产生 调用系统的随即数产生函数random()*6,产生06这七个随机数,分别对应上述七种形状,然后用switch语句随机选择形状中的任意一个,即可完成形状的随机产生。4-2-3 形状随机旋转n( n 1000#pragma once#endif / _MSC_VER 1000/以上几行都是在类视图下,用new class自动生成的代码#ifndef NULL#define NULL 0#endifclass CMatrix public:CMatrix();CMatrix(int width
5、, int height);CMatrix(int width, int height, int initValue);virtual CMatrix();void ResetSize(int width, int height); /重置矩阵的宽和高void SetAll(int value); /设置所有单元格的值void SetAt(int row, int col, int value); /设置指定单元格的值int GetWidth() const; /const主要是指明该函数不修改类中的非静态成员的值int GetHeight() const;int GetAt(int row,
6、 int col) const;bool Rotate(bool clockWise = true);/矩阵的旋转int* operator(int row) const; /重载, 返回矩阵的首指针CMatrix& operator=(CMatrix &srcMat); /重载=, 以便矩阵的直接复制protected:int *m_pData; /矩阵的首指针int m_width; /矩阵的宽int m_height; /矩阵的高protected:void ReleaseData(); /清楚矩阵中的所有数据void InitData(int width, int height); /
7、void SetData(int initValue);static void MemCopy(int *dest, int *src, int len);#endif / !defined(AFX_MATRIX_H_D99244D0_ACB9_4087_A4AF_DB379A4DC7BE_INCLUDED_)8-1-2 CMatrix类的定义/ Matrix.cpp: implementation of the CMatrix class./#include stdafx.h#include Matrix.h/ Construction/Destruction/CMatrix:CMatrix
8、()m_pData = NULL;m_width = m_height = 0;CMatrix:CMatrix(int width, int height)InitData(width, height);CMatrix:CMatrix(int width, int height, int initValue)InitData(width, height);SetData(initValue);void CMatrix:ResetSize(int width, int height)InitData(width, height);void CMatrix:SetAll(int value)Set
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 俄罗斯方块 游戏 设计 课程 论文