C#程序设计实训报告-俄罗斯方块.doc

C#程序设计实训报告-俄罗斯方块.doc

ID:61005305

大小:859.00 KB

页数:22页

时间:2021-01-19

C#程序设计实训报告-俄罗斯方块.doc_第1页
C#程序设计实训报告-俄罗斯方块.doc_第2页
C#程序设计实训报告-俄罗斯方块.doc_第3页
C#程序设计实训报告-俄罗斯方块.doc_第4页
C#程序设计实训报告-俄罗斯方块.doc_第5页
资源描述:

《C#程序设计实训报告-俄罗斯方块.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、C#程序设计实训报告题目:俄罗斯方块专业____计算机科学与技术_年级班别___计算机09-2班__学号学生姓名____________指导教师_成绩2012年1月目录一系统设计要求31.1课题分析错误!未定义书签。1.2设计环境31.3设计思路3二课题总体框架设计32.1程序流程图42.2类的结构图5三课题实现63.1程序主界面63.2开始游戏界面63.3游戏结束界面73.4暂停游戏界面73.5使用说明界面…...………………………………………………83.6关键程序代码8四总结214.1设计总结21

2、4.2设计体会22一、系统设计要求1.1课题分析本游戏系统是利用C#实现的,是制作为我们所熟悉的非常简单的俄罗斯方块游戏,该系统能实现的具体功能如下:1).能简便的开始游戏,游戏中的方块的功能与日常我们所熟悉的游戏的功能一致,各种块的设置也一致,包括方块的旋转,加速下降,左右移动,满行消去,满行消去自动加分,以及到顶游戏结束等功能;2).能够通过对话框窗体说明各个功能的使用说明,以及一些其他功能。3).界面简洁美观,简单易用。跟其他一般的游戏相差不大。1.2设计环境本程序选择VisualStudio2

3、010作为实验环境。1.3设计思路用面向对象的方法分析系统对于俄罗斯方块的程序制作,我们可以定义一个或者几个类,专门来描述俄罗斯方块,在这个类中,包含与之相关的方法、属性和字段,通过封装,实现其业务逻辑。其中,每一个俄罗斯方块都有相同的特征,由4个小正方形构成,有旋转,左右移动,下落的动作,整行被填满除去并计算分数而构成行的小正方体块。基中块的形状类型有7种:田、一、L、倒L、Z、倒Z、上。在窗口中通过调用主窗体Form1当中的菜单栏来设置游戏的开始、暂停、结束、重新开始以及推出程序。还可以通过其菜单

4、中游戏说明选项来查看游戏各个键的使用说明,还可调用帮助菜单来查看版权说明。二、课题总体框架设计2.1、程序流程图开始窗口初始化读取游戏开始游戏开启游戏时钟随机形成方块判断是否可移旋转左移右移加速下降暂停结束绘制方块是否越顶是否满行消行结束加分2.2、类的结构图三、课题实现3.1程序主界面3.2开始游戏界面3.3游戏结束3.4暂停游戏3.5使用说明界面和版权界面3.6关键程序代码1、Form1类1)构造函数,设定当前运行的方块,下一个即将出现的方块,方块产生的位置,玩家积分,游戏开关等。publicpa

5、rtialclassForm1:Form{privateBlockcurrentBlock;//当前在运行的方块privateBlocknextBlock;//下一个即将出现的方块privatePointstartLocation=newPoint(bianjie.SingleSquareSize*8,0);//方块产生的位置privateintscore=0;//玩家积分privateboolstillRuning=false;//游戏运行开关2)键盘操作:用来选择方块的移动方向,是向右移动,向左移

6、动,向下加速,旋转,还是暂停。/*键盘操作*/privatevoidForm1_KeyDown(objectsender,KeyEventArgse){switch(e.KeyCode){caseKeys.Right:currentBlock.right();break;//向右移动caseKeys.Left:currentBlock.left();break;//向左移动caseKeys.Up:currentBlock.Rotate();break;//旋转caseKeys.Down:while(c

7、urrentBlock.down());break;//向下加速caseKeys.Space://空格:暂停timer1.Enabled=!timer1.Enabled;if(!timer1.Enabled)showMsg("暂停");elsemsg.SendToBack();break;}picBack.Focus();}3)时钟触发处理函数,使方块自动的向下移动,每1秒使方块向下移动一次/*游戏时钟*/privatevoidtimer1_Tick(objectsender,EventArgse){

8、if(!stillRuning)return;//检测是否还可以下移if(!currentBlock.down()){if(currentBlock.Top()==0){//如果到顶则游戏结束showMsg("GameOver!");stillRuning=false;timer1.Stop();return;}//否则计算分数并继续interaseLines=bianjie.CheckLines();if(eraseLines>0){score+=bi

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

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

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