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

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C#程序设计实训报告 一 系统设计要求 3 1.1 课题分析 错误!未定义书签。 1.2 设计环境 3 1.3 设计思路 3 二 课题总体框架设计 3 2.1程序流程图 4 2.2类的结构图 5 三 课题实现 6 3.1程序主界面 6 3.2 开始游戏界面 6 3.3 游戏结束界面 7 3.4 暂停游戏界面 7 3.5使用说明界面…...………………………………………………8 3.6 关键程序代码 8 四 总结 21 4.1设计总结 21 4.2 设计体会 22 一、系统设计要求 课题分析 本游戏系统是利用C#实现的, 是制作为我们所熟悉的非常简单的俄罗斯方块游戏,该系统能实现的具体功能如下: 能简便的开始游戏,游戏中的方块的功能与日常我们所熟悉的游戏的功能一致,各种块的设置也一致,包括方块的旋转,加速下降,左右移动,满行消去,满行消去自动加分,以及到顶游戏结束等功能; 能够通过对话框窗体说明各个功能的使用说明,以及一些其他功能。 界面简洁美观,简单易用。跟其他一般的游戏相差不大。 设计环境 本程序选择Visual Studio 2010作为实验环境。 1.3 设计思路 用面向对象的方法分析系统 对于俄罗斯方块的程序制作,我们可以定义一个或者几个类,专门来描述俄罗斯方块,在这个类中,包含与之相关的方法、属性和字段,通过封装,实现其业务逻辑。其中,每一个俄罗斯方块都有相同的特征,由4个小正方形构成,有旋转,左右移动,下落的动作,整行被填满除去并计算分数而构成行的小正方体块。基中块的形状类型有7种:田、一、L、倒L、Z、倒Z、上。 在窗口中通过调用主窗体Form1当中的菜单栏来设置游戏的开始、暂停、结束、重新开始以及推出程序。还可以通过其菜单中游戏说明选项来查看游戏各个键的使用说明,还可调用帮助菜单来查看版权说明。 二、课题总体框架设计 2.1、 程序流程图 类的结构图 三、课题实现 3.1程序主界面 3.2 开始游戏界面 3.3游戏结束 3.4暂停游戏 3.5使用说明界面和版权界面 3.6关键程序代码 1、Form1类 构造函数,设定当前运行的方块,下一个即将出现的方块,方块产生的位置,玩家积分,游戏开关等。 public partial class Form1 : Form { private Block currentBlock; //当前在运行的方块 private Block nextBlock; //下一个即将出现的方块 private Point startLocation = new Point(bianjie.SingleSquareSize * 8, 0); //方块产生的位置 private int score = 0; //玩家积分 private bool stillRuning = false; //游戏运行开关 键盘操作:用来选择方块的移动方向,是向右移动,向左移动,向下加速,旋转,还是暂停。 /*键盘操作*/ private void Form1_KeyDown(object sender, KeyEventArgs e) { switch (e.KeyCode) { case Keys.Right: currentBlock.right() ; break;//向右移动 case Keys.Left: currentBlock.left() ; break; //向左移动 case Keys.Up: currentBlock.Rotate(); break; //旋转 case Keys.Down: while (currentBlock.down()) ; break; //向下加速 case Keys.Space: //空格:暂停 timer1.Enabled = !timer1.Enabled; if (!timer1.Enabled) showMsg(暂 停); else msg.SendToBack(); break; } picBack.Focus(); } 时钟触发处理函数,使方块自动的向下移动,每1秒使方块向下移动一次 /*游戏时钟*/ private void timer1_Tick(object sender, EventArgs e) { if (!stillRuning)

文档评论(0)

***** + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档