第一章 设计分析--------------------------------------4 1.1方案选择-------------------------------------------------4 1.2设计目标-------------------------------------------------5 1.3 运行环境------------------------------------------------6 1.4设计思想-------------------------------------------------7 1.5控件属性设置---------------------------------------------7 1.6模块关系-------------------------------------------------12 1.7模块关系图-----------------------------------------------12 第二章 程序设计--------------------------------------14 2.1 方块造型:-------------------------------------------------------14 2.2方块的旋转------------------------------------------------14 2.3 如何实现方块的运动和自动消除满行的方块--------------------15 2.4 如何实现方块的下落变速------------------------------------16 2.5 游戏得分的计算--------------------------------------------17 2.6 帮助功能的实现--------------------------------------------17 2.7 窗体介绍--------------------------------------------------17 2.8 变量声明--------------------------------------------------18 2.9 程序调试--------------------------------------------------19 第三章 结束语----------------------------------------22 参考文献---------------------------------------------23 致 谢------------------------------------------------24 附录(游戏代码)--------------------------------------------25
(毕业论文 页数:41字数:12364)1.1方案选择 要实现俄罗斯方块游戏可以用很多种语言,比如说C、java等。选择VB作为开发工具,主要因为VB有以下的特点:[4] 具有快速的程序开发环境,编制程序界面简单,代码的编写量小,用户可以很方便的直接改动界面。Visual Basic语言的出现为Windows下的编程提出了一个新的概念,利用Visual Basic 的动态数据交换、对象的链接和嵌入、动态链接库、ActiveX技术和开放式数据库访问技术可以很方便地设计出功能强大的应用程序。 利用Visual Basic 语言编程有以下几个特点: 1、可视化程序设计 在Visual Basic 中开发的应用程序,不但有丰富的图形界面,同时由用户为开发图形界面而编写的代码比较少,因为在Visual Basic 设计图形界面的过程中只需要设置ActiveX控件的属性值即可。 2、强大的数据库和网络功能 随着Visual Basic语言的进一步发展,它在数据库和网络方面的功能优势愈加明显,利用Visual Basic自带的可视化数据管理器和报表生成器,完全可以在Visual Basic就完成数据库的开发。 3、其他特性 从Visual Basic 5.0版本开始,在Visual Basic中制作的应用程序都改变为编译执行,使得Visual Basic的代码效率有了很大的提高,同时执行的速度也加快了30%。 当然在Visual Basic中还有其他特性: 1. 面向对象的编程语言; 2. 面向对象程序设计; 3. 事件驱动的程序设计; 4. 支持动态链接库; 5.应用程序之间的资源共享。 在选用Visual Basic作为开发工具后,游戏的实现方法还有多种,算法不同,实现方案也就不同。由于方案较多在这里就列举一种和我选择的方案做比较, 对照方案[3]:从游戏的基本玩法出发,主要就是俄罗斯方块的形状和旋转,在一个图片框中构造了一个4*4的网状小块,由这些小块组合成新的形状,每四个小块连接在一起就可以构造出一种造型,因此我们总共设计了7种造型,每种造型又可以通过旋转而变化出2到4种形状,利用随机函数在一个欲览窗体中提前展示形状供用户参考,然后将展示的形状复制到游戏窗体中进行摆放,在游戏窗体中用户就可以使用键盘的方向键来控制方块的运动,然后利用递归语句对每一行进行判断,如果有某行的方块是满的,则消除这行的方块,并且使上面的方块自由下落,其中,方块向下的速度是有时钟控件控制的,在游戏中,用户也可以使用向下键加快下落速度,定义一个变量,对消除的函数进行记录,最后就可以得出用户的分数,用if 语句对分数判断,达到一定的积分就可以升级到下一个档次。 这种方法的特点是用时钟控件timer对游戏运行进行控制,将做好的方块位图文件存放于资源文件中,游戏运行时随即调用。 本设计的方案:由数组确定方块类型,然后由line函数画出方块,根据随机产生的数字确定哪种方块出现在窗口,这里由于每一个方块都是随机产生,因此需要用Point结构体的一维数组来存储产生的方块。而由于要在左上角产生一个提示方块,即下一个即将产生的方块,因此应该再设置一个Point结构体一维数组,用于存储下一个即将产生的方块提示的方块,要在下一个产生前,将提示输出,而提示又在产生下一块之前应该获得,因此在构造函数中首先将产生第一个方块,同样的是随机产生。而游戏的运动区是由一个PictureBox,每个方块是由四个小正方形的相同色块组成,如果一行积满,则利用循环语句将上方各行向下移动一行。键盘控制方法和记分方式同上个方案 。 使用这种方法的最大好处就是易于理解,代码较少,便于在较短时间内将其开发出来。所以在这次毕业设计中,我选择了后者。
|