俄罗斯方块C++课程设计报告.doc

俄罗斯方块C++课程设计报告.doc

ID:56099946

大小:102.00 KB

页数:17页

时间:2020-06-19

俄罗斯方块C++课程设计报告.doc_第1页
俄罗斯方块C++课程设计报告.doc_第2页
俄罗斯方块C++课程设计报告.doc_第3页
俄罗斯方块C++课程设计报告.doc_第4页
俄罗斯方块C++课程设计报告.doc_第5页
资源描述:

《俄罗斯方块C++课程设计报告.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、课程设计报告题目:基于C++俄罗斯方块学院:专业:学号:姓名:二○一三年十二月经典小游戏设计-俄罗斯方块一、需求分析。1.1、游戏需求随机给出不同的形状(长条形、Z字形、反Z形、田字形、7字形、反7形、T字型)下落填充给定的区域,若填满一条便消掉,若在游戏中各形状填满了给定区域,为输者,弹出相应提示。1.2、游戏界面需求良好的用户界面,有关信息显示(如操作方法、等级等)。让方块在一定的区域内运动和变形,该区域用一种颜色表明,即用一种颜色作为背景,本游戏的背景设为黑色。还需用另一种颜色把黑色围起来,宽度适中,要实现美

2、感。而不同的方块用不同的着色表示,使游戏界面更加清晰、有条理。消层时采用一定的时间延迟,增加视觉消行的感官效果。1.3、游戏方块需求良好的方块形状设计,绘制七种常见的基本图形(长条形、Z字形、反Z形、田字形、L字形、反L形、T字型)以及另外本程序另外加入的点形方块,各个方块要能实现它的变形,可设为顺时针或逆时针变形,一般为逆时针。为体现游戏的趣味性和扩展性,本游戏象征性的增加了点形方块,其他更多形状的方块可用类似方法增加。1.4、游戏控制的需求游戏控分为多个方面,包括画面绘制,控制命令的获取,控制命令的分配、控制命

3、令的处理,方块的绘制,方块的移动,方块的旋转,方块下落和消层以及计分等。对各个命令的合理处理和综合控制十分重要,一旦出错可能导致整个程序的崩溃,因此需要小心设计。二、系统设计。2.1、程序流程图:2.2、游戏设计概述从整体上而言,在该游戏可设计一个方块类,其中包括对方块的信息描述(如:ID)、方块的操作(如:旋转、下沉)。再设计一个控制类,实现各种控制(如:获取控制信号,分发控制信号)。另定义一个游戏区类,用以处理游戏区绘制等内容。框图如下:方块类(GAME_BLOCK)游戏区类(Window)Private:BL

4、OCKINFOg_CurBlock;Private:无(新方块)BLOCKINFOg_NextBlock;(下一方块)Public:VoidInitWindow()Public:GAME_BLOCK(){}~GAME_BLOCK(){}voidNewBlock();//生成方块boolCheckBlock(BLOCKINFO_block);//检测方块能否放下voidDrawBlock(BLOCKINFO_block,DRAW_draw=SHOW);voidOnRotate();//旋转方块voidOnLeft()

5、;//左移方块voidOnRight();//右移方块voidOnDown();//下移方块voidOnSink(CGAME&);//沉底方块BLOCKINFO&CurBlock();BLOCKINFO&NextBlock();游戏控制类(CGame)Private:VoidDispatchControl(CTRL);Public:voidInitGame();//初始化游戏VoidStart_Game();//开始游戏voidGame_Over();//游戏结束voidNewGame();//新游戏voidQui

6、t_Game();//退出游戏CTRLGetControl(bool_onlyresettimer=false);//获取控制命令在主函数中(按照2.1中框图),先通过控制类初始化游戏,再通过随机时间函数获得一个随机数,该随机数确定一个方块,即用该随机数产生一个ID从而确定产生的为方块。然后从键盘取得各种操作信号,通过控类函数对操作信号进行分发、处理,进而控制方块的行为改变。与此同时,监控游戏区中已有方块的状态,一旦满足消行即进行消行控制,同时进行计分和等级划分,而如果游戏区已满则游戏结束,弹出提示。而对界面和方块

7、的展现主要通过第三方软件EasyX实现,通过其画图位置的改变与时间的结合达到方块视觉移动的效果。2.3、定义方块的数据结构方块是本游戏的基本要素,对于方块的设计,本游戏用4*4的矩阵画出来,在相应的位置置为‘1’和‘0’以实现各种方块的形状,以“立L形”为例如下:0100010001100000而在程序设计中则赋予各种基本方块一个不同的十六进制ID即可表示该方块,如“立7形”其ID为[0x4460],再与其其他变形组合和着色分配即可得到各种L形ID的集合{0x4460,0x02E0,0x0622,0x0740,MA

8、GENTA};其他各种方块类似设计。具体清单如下:{{0x0F00,0x4444,0x0F00,0x4444,RED},//I{0x0660,0x0660,0x0660,0x0660,BLUE},//口{0x4460,0x02E0,0x0622,0x0740,CYAN},//L蓝绿色{0x2260,0x0E20,0x0644,0x0470,GREEN},//

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。