1 / 20
文档名称:

俄罗斯方块.doc

格式:doc   大小:303KB   页数:20页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

俄罗斯方块.doc

上传人:ipod0b 2019/9/30 文件大小:303 KB

下载得到文件列表

俄罗斯方块.doc

相关文档

文档介绍

文档介绍:俄罗斯方块————————————————————————————————作者:————————————————————————————————日期: 俄罗斯方块小游戏姓名:罗君学号:102054221指导老师:孔老师日期:2011/12/221设计描述这个程序是由MFC所做的小游戏:俄罗斯方块,俄罗斯方块也就是人们广泛称为积木的游戏,它是利用一些形状各异小方块却是用正方形组成的方块,当然在我所做的这个程序里,我用了有着7种不同的方块。,经过不同位置不同角度的变化之后,堆积在一起的一种智力游戏。而当同一行被小方格填满时,那一行也就跟着消失,此时玩家就可以得到一分,这里所设置的分值为,没消去一行,便可以得到一分,而主界面的背景被设为了12行及18列,当所堆积的小方块的垂直高度等于界面背景的高度时,这时就会在视图类中弹出一个消息对话框“游戏已经结束”。这里所要实现的就是这样一个小游戏,不过出于达到为了更加使游戏玩家得到娱乐的放松,我已经为此游戏添加了动听的游戏的背景音乐。还有就是当程序运行时,首先出现在客户区的是一幅封面位图,当游戏玩家点击文件菜单中的开始子菜单时,游戏正式进入游戏界面。而从我们编程的角度讲,我们只需要提供各种方块的图形,提供几个键盘操作键以供方块的形状和位置的变化,提供几个功能函数以供游戏的正常进行。各种方块图形:利用数组定形,然后利用随机函数随机地不按顺序地按游戏的需要而出现。键盘操作键:就是四个方向键。其中左、右、下三个键意思一样,上键的功能不是使方块向上,而是使方块的下落角度改变。 ,贴的客户区的位图不能完全覆盖整个客户区,考虑到游戏运行的效果,所以必须对运行后客户区大小重新作出界定,处于这种原因,所以应该在CMainFrame类中的PreCreateWindow(CREATESTRUCT&cs)函数中添加代码:=500,=590;再者就是一个有戏必须有开始,暂停和结束的按钮,为了实现这一功能,我做了如下程序,将菜单栏中的文件菜单项下的子菜单项都删除,重新为该菜单项添加3个子菜单项,分别为开始(IDC_MENU_START),暂停(IDC_MENU_PAUSE),退出(IDC_MENU_EXIT).mand命令响应,并让CView类接收此命令响应消息。     资源编辑 添加位图:封面: IDB_BITMAP1背景: IDB_BITMAP2方块: IDB_BITMAP4 添加菜单:开始:ID_MENU_START         接着就是定义变量了,但是,由于这个游戏要添加的变量和函数太多了,我们要建一个新类。由于新类将会涉及到变量。添加普通类CRussia,见下图。图2-1-1 : 由于两个类一共有很多变量函数,列举如下: //:  CRussiarussia;//俄罗斯类boolstart;//开始标志 CBitmapfengmian; //用于封面BOOLm_bPause;//暂停 afx_msgvoidOnMenuStart();//开始菜单 afx_msgvoidOnTimer(UINTnIDEvent);//计时器 afx_msgvoidOnKeyDown(UINTnChar,t,UINTnFlags);//键盘操作 //:  intRussia[100][100];//游戏数组 intNow[4][4]; //当前图形 intWill[4][4];//上一图形 intAfter[4][4]; //变换后的图形 CPointNowPosition; //当前图形的左上角位置 intCount; //当前可能出现的图形形状数, boolend;//游戏结束 intm_Level;//级别 intm_Speed;//速度 intm_Score; //分数 intm_RowCount,m_ColCount;//行列数 CBitmapfangkuai;//方块 CBitmapjiemian;//背景voidDrawScore(CDC*pDC);//显示分数等内容 voidLineDelete();//消行 voidMove(intdirection);//方块移动boolChange(inta[][4],CPointp,intb[][100]);//方块变化,即方向键上键操作 boolMeet(inta[][4],intdirection,CPointp);//是否与原来方块接触,或与边界接触 voidDrawWill();//显示下一个方块 voidDrawJiemian(CDC*pDC);//显示界面 voidStart();//开始 3源代码构造函数: CMy4