C语言课程设计报告设计题目:俄罗斯方块游戏设计院系:班级:学号:姓名:指导教师:设计地点:开课时间:4学生姓名成绩评语:指导教师(签名)年月日5目录1.设计目的和任务.......................................................................................................................................-1-1.1目的:..............................................................................................................................................-1-1.2任务:..............................................................................................................................................-1-2.开发环境....................................................................................................................................................-1-2.1硬件环境:....................................................................................................................................-1-2.2软件环境:....................................................................................................................................-1-3.设计题目......................................................................................................................................................-2-3.1题目名称:....................................................................................................................................-2-3.2题目详细描述:...........................................................................................................................-2-3.3功能要求:............................................................................................................................................-2-4.相关技术以及知识点..........................................................................................................................-3-4.1编写BLOCK类:...............................................................................................................................-3-4.2PATHGRADIENTBRUSH类:........................................................................................................-3-4.3RANDOM类:..................................................................................................................................-3-4.4GDI图形处理:...........................................................................................................................-3-5.设计与实现..............................................................................................................................................-4-5.1设计流程图...................................................................................................................................-4-5.2游戏主体界面..............................................................................................................................-4-5.3游戏图形界面............................................................................................................................-11-5.4图形的移动与消行...................................................................................................................-13-5.5得分的实现.................................................................................................................................-15-6.总结........................................................................................................................................................-16-7.参考资料................................................................................................................................................-16-《移动计算技术与应用》课程设计报告--1--1.设计目的和任务1.1目的:在现今电子信息高速发展的时代,电子游戏已深入人们的日常生活,成为老少皆宜的娱乐方式。俄罗斯方块,是一款风靡全球的游戏,最初是由苏联人制作的,规则简单,容易上手,且游戏过程变化无穷,可以让玩家充分感受游戏中的乐趣。在游戏设计方面,俄罗斯方块是游戏编程的入门项目,因为它可以检验编辑人员对开发语言、环境和基本数据结构知识熟练程度。1.2任务:使用C#语言编写一个俄罗斯方块游戏系统,要求程序运行后有一个图形用户界面,并具备下面几个功能:(1)实现各种方块的生产,包括形状和颜色等信息;(2)实现各个方块的上下左右移动和旋转的功能;(3)实现消行的功能;(4)实现开始,暂停,结束等功能。2.开发环境2.1硬件环境:服务器CPU:PIII500以上,内存:256M客户机CPU:P200MMX以上,内存:32M以上2.2软件环境:VisualStudio2005.net2.0以上-2-3.设计题目3.1题目名称:俄罗斯方块游戏系统3.2题目详细描述:使用C#语言编写一个俄罗斯方块游戏系统,要求程序运行后有一个图形用户界面,实现各种方块的生产,包括形状和颜色等信息,完成左右下旋转的功能,在消行的同时分数加1,在点击暂停或者按下空格的时候暂停或开始游戏,最后结束游戏。3.3功能要求:功能(1)实现各种方块的生产,包括形状和颜色等信息;(2)实现各个方块的上下左右移动和旋转的功能;(3)实现消行的功能;(4)实现时间和得分的统计功能;(5)实现开始,暂停,结束等功能;要求(1)编写程序要严格按照C#编程规范进行代码编写。(2)必须按照个体软件的过程,编写有关的文档。(3)按照老师的要求,每个人必须独立完成。(4)按照实训的时间安排进行实训,实训结束后提交有关的表格与文档-3-4.相关技术以及知识点4.1编写Block类:在游戏项目规范说明书所创建的类图中定义了Block类,现在可以把它编写为最终的类接口形式,包括属性的数据类型以及方法所使用参数的数据类型。每个确定的方块都与正方形的某种特定排列方式相对应,因此可以考虑Block类的3个新成员:BlockType属性、方块类型的枚举集合、构造函数(用以在期望的位置、使用期望的色彩创建每个正方形)。为了给玩家一个清楚的视觉提示,每种类型的方块颜色应该是固定的,因此创建一个数组来保存每种类型方块的前景色和背景色是一种较好的想法。4.2PathGradientBrush类:封装Brush对象,它通过渐变填充GraphicsPath对象的内部。彩色渐变是从路径的中点到路径的外边界边缘的平滑的彩色渐变。混合因子、位置和样式影响渐变起始和结束的位置,并且影响渐变变化的速度。路径渐变画笔不遵循用于执行绘制操作的Graphics对象的SmoothingMode属性。无论是否用平滑模式,用PathGradientBrush对象填充的区域都以同样的方式呈现。4.3Random类:伪随机数是以相同的概率从一组有限的数字中选取的。所选数字并不具有完全的随机性,因为它们是用一种确定的数学算法选择的,但是从实用的角度而言,其随机程度已足够了。Random类的当前实现基于DonaldE.Knuth的减法随机数生成器算法。随机数的生成是从种子值开始。如果反复使用同一个种子,就会生成相同的数字系列。产生不同序列的一种方法是使种子值与时间相关,从而对于Random的每个新实例,都会产生不同的系列。默认情况下,Random类的无参数构造函数使用系统时钟生成其种子值,而参数化构造函数可根据当前时间的计时周期数采用Int32值。但是,因为时钟的分辨率有限,所以,如果使用无参数构造函数连续创建不同的Random对象,就会创建生成相同随机数序列的随机数生成器。通过创建单个而不是多个Random对