c_课程设计-俄罗斯方块

c_课程设计-俄罗斯方块

ID:9381735

大小:346.00 KB

页数:22页

时间:2018-04-29

c_课程设计-俄罗斯方块_第1页
c_课程设计-俄罗斯方块_第2页
c_课程设计-俄罗斯方块_第3页
c_课程设计-俄罗斯方块_第4页
c_课程设计-俄罗斯方块_第5页
资源描述:

《c_课程设计-俄罗斯方块》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、C#程序设计实训报告题目:5.俄罗斯方块院系信息工程系_______专业_____计算机科学与技术_年级班别____________学号学生姓名________________指导教师________________成绩2011年12月系统设计要求1.1需求分析本系统为一个用C#实现的为我们所熟悉的简单的俄罗斯方块游戏,该系统的具体功能如下:1).能简便的开始游戏,游戏中的方块的功能与日常我们所熟悉的游戏的功能一致,各种块的设置也一致,包括块的旋转,加速下降,平移,满行消去,到顶游戏结束功能;2).能够自定义游戏中功能键的具体按键,设置游戏

2、的级别,即方块下降的速度等,并在设置后立即生效,在游戏中立刻体现,在下次程序运行时读取上次设置的游戏环境;3).显示下一方块提示信息,以及游戏数据的统计,如速度,按键速度,分数行者等等;4).游戏有级别设置,级别越高,方块下降的速度越快,当到达一定分数后进入下一级别;1.2界面要求要求界面简洁美观,简单易用。1.3设计环境本程序选择VisualStudio2008作为实验环境。2设计思路2.1用面向对象的方法分析系统对于俄罗斯方块来说,我们可以定义一个类,专门来描述俄罗斯方块,在这个类中,包含与之相关的方法、属性和字段,通过封装,实现其业务

3、逻辑。其中,每一个俄罗斯方块都有相同的特征,由4个小正方形构成,有旋转,移动,下落的动作,行被填满除去构成行的小正方体块。基中块的形状类型有7种:田、一、L、倒L、Z、倒Z、上。在主窗口中,通过调用俄罗斯方块类来实现程序的表示层,在该窗口中通过两个Panel控件来实现方块叠放窗口和下一方块信息窗口;调用设置窗口,保存设计窗口类传回的信息,并设置到游戏中去,保存在配置文件中;在设置窗口中,以良好的界面提供用户自定义快捷键的接口,保存相应设置参数,以提供给调用窗口。2.2概要设计根据设计思路,可以为系统设计三个类,实现俄罗斯方块其本块的类Rus

4、siaBlock继承Object类,主窗体类MainForm类,设置窗体类SettingForm类。1).RussiaBlock类字段privateintshapeNO;//形状号privateControlcon;//绘图控件privatePoint[]pos;//当前位置privatePoint[]lastPos;//最后位置privateintleftBorder;//左边界privateintbottomBorder;//下边界privateintunitPix;//每块象素数///

///当前块总个数///

5、mmary>privateintblockNum=0;//当前块总个数privateintrowDelNum=0;//已构成满行被消去的行数privatebool[,]aroundExist;//周边的位置是否有块privateColor[,]aroundColor;//周边的着色privateColorcolor;//当前块颜色属性publicintRowDelNum//当前块总个数publicintBlockNum//当前块总个数私有方法privatevoidSetLastPos()//设置方块的最后位置privatevoidSetPo

6、s(intshapeNO,PointfirstPos)//设置方块的当前位置,shapeNO方块号,firstPos初始位置privateboolCanMove(intdirection)//块是否还可继续移动包括下和左右privateboolCanRotate(Point[]pos)//判断当前块是否是可以进行翻转,位置确定则不能,还没确定则可以privatevoidDelRows()//一行中所有格填满,删除该行.privatevoidDrawOne(intx,inty,Colorcolor,Graphicsgra)//在指定的位置绘制

7、方块中的一块公共方法publicvoidEraseLast()//最后方块位置的显示.原理:将显示的窗口方块位置无效,强制发生重绘事件publicvoidFixBlock()//填补行publicboolGeneBlock(intshapeNO,PointfirstPos,Colorcolor)//产生下一方块publicboolRotate()//旋转动作publicboolMove(intdirection)//移动publicvoidDrop()//直落publicvoidDrawBlocks(Rectanglerec)//在指定的位

8、置绘制方块,包括块小块1).MainForm类主要字段privateRussiaBlockblock;//方块实例privateRussiaBlocknextBlock;//下一

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

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

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