- 1、本文档共22页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)
您可能关注的文档
- “沟通100”服营厅服务规范-广东移动.doc
- “九顶”系列名优茶规模化生产及加工产业化项目可研报告(九鼎).doc
- 《数据库原理-数据库设计部分》实验报告-图书馆管理系统的数据库设计.doc
- 《证券投资学》课程论文-浦发银行股票分析.doc
- 【精品导学案】外研版初二八年级英语上册导学案A层.doc
- 【精品导学案】外研版初二八年级英语上册导学案C层.doc
- 【精品导学案】湘教版初一七年级下册地理高效导学案全册.doc
- 【酒店管理】如家餐厅服务手册.doc
- 3M合肥一期(太阳能电池背板涂覆研磨产品)项目屋面保温防水工程技术方案.doc
- 30万吨年聚丙烯二期装置操作规程.doc
- 中国国家标准 GB/T 45390-2025动力锂电池生产设备通信接口要求.pdf
- 中国国家标准 GB/T 45393.2-2025信息技术 建筑信息模型(BIM)软件 第2部分:参数化模型.pdf
- GB/T 45393.2-2025信息技术 建筑信息模型(BIM)软件 第2部分:参数化模型.pdf
- 《GB/T 45393.2-2025信息技术 建筑信息模型(BIM)软件 第2部分:参数化模型》.pdf
- GB/T 10184-2025电站锅炉性能试验规程.pdf
- 海尔智家股份有限公司海外监管公告 - 海尔智家股份有限公司2024年度环境、社会及管治报告.pdf
- 上海复旦张江生物医药股份有限公司2024 环境、社会及管治报告.pdf
- 中国邮政储蓄银行股份有限公司中国邮政储蓄银行2024年可持续发展报告.pdf
- 豫园股份:2024年环境、社会及管治(ESG)报告.pdf
- 南京熊猫电子股份有限公司海外监管公告 - 2024年度环境、社会及治理(ESG)报告.pdf
文档评论(0)