VB俄罗斯方块游戏课程设计.doc_第1页
VB俄罗斯方块游戏课程设计.doc_第2页
VB俄罗斯方块游戏课程设计.doc_第3页
VB俄罗斯方块游戏课程设计.doc_第4页
VB俄罗斯方块游戏课程设计.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

塔里木大学信息工程学院课程设计第1页前言visualbasic继承了basic语言易学易用的特点,特别适合于初学者学习windows系统编程。随着21世纪信息社会的到来,计算机在人们的工作和生活中的深入,要求我们越来越多地与计算机打交道,为了使用户在繁忙的日程工作中得到放松,于是出现了各种各样的休闲软件,如聊天工具,游戏等等。于是我们小组着手设计开始一个这样的游戏软件。通过这学期来VisualBasic的学习,我初步掌握了VisualBasic语言的最基本的知识,于是在化希耀张兵等老师的指导下动手用VisualBasic编写俄罗斯方块游戏。无可争议,俄罗斯方块是有史以来最伟大的游戏之一。它是永恒的娱乐经典,但它实际上又和那些传统的经典娱乐方式不同,因为它的本质是电子化的,所以它的确属于现代产物。俄罗斯方块举世闻名的游戏性,在该游戏新鲜出炉时就显得非常直观。某些与坠落的玩具碎片和它们的形状有关的东西,使得哪怕新手也会很自然地企图把它们排列起来,并加以适当组合,就好似俄罗斯方块触动了我们某些内在的感官,使得哪怕是我们当中最杂乱无章的人也要把事情整理妥当。在曾经发布过的所有游戏中,俄罗斯方块还被认为是仅有的一个能够真正吸引广泛人群的作品。某些批评家也许会声称,俄罗斯方块要比过去二十年间出现的任何东西都要浪费人们的时间。至于我们,则要欣然提名它为GameSpot评选出的历史上最伟大游戏之一。为了怀念经典,也为了能够给大多的计算机用户在工作之余找到一个休闲、娱乐的一个方式,我们小组开始着手用VB语言开发一个经典的俄罗斯方块游戏。工程概况1.1项目名称俄罗斯方块游戏1.2设计平台VB全称VisualBasic,它是以Basic语言作为其基本语言的一种可视化编程工具。Vb是microsoft公司于1991年退出的windows应用程序开发工具visual意思是“可视化的”。在它刚推出来时,自身还存在一些缺陷,功能也相对少一些。但是经过多年的开发研究。最近microsoft公司又推出了VB6.0版本VB6.0运行环境:硬件,要求486以上的处理器、16MB以上内存,50MB以上的硬盘,cd-rom驱动器,鼠标。软件:要求windows95以上版本。1.3程序设计思想游戏是用来给大家娱乐的,所以要能在使用的过程中给大家带来快乐,消除大家的疲劳,所以我们在游戏中添加了漂亮的场景和动听的音乐,设置了过关升级的功能,激发大家的娱乐激情。从游戏的基本玩法出发,主要就是俄罗斯方块的形状和旋转,我们在设计中在一个图片框中构造了一个4*4的网状小块,由这些小块组合成新的形状,每四个小块连接在一起就可以构造出一种造型,因此我们总共设计了7中造型,每种造型又可以通过旋转而变化出2到4种形状,利用随机函数在一个预览窗体中提前展示形状供用户参考,然后将展示的形状塔里木大学信息工程学院课程设计第2页复制到游戏窗体中进行摆放,在游戏窗体中用户就可以使用键盘的方向键来控制方块的运动,然后利用递归语句对每一行进行判断,如果有某行的方块是满的,则消除这行的方块,并且使上面的方块自由下落,其中,方块向下的速度是有时钟控件控制的,在游戏中,用户也可以使用向下键加快下落速度,定义一个变量,对消除的函数进行记录,最后就可以得出用户的分数,用if语句对分数判断,达到一定的积分就可以升级到下一个档次。俄罗斯方块游戏设计的主要步骤为以下10个方面:(1)游戏界面的设计。(2)俄罗斯方块的造型。(3)俄罗斯方块的旋转。(4)俄罗斯方块的运动情况(包括向左,向右和向下)。(5)俄罗斯方块的自动消行功能。(6)游戏级别的自由选择。(7)游戏速度的自由选择。(8)游戏得分的计算。(9)游戏菜单选项的设计及功能实现。(10)游戏的背景音乐。1.4运用的控件和主要对象我们在设计过程中主要用到的控件有:command控件,image控件,picture控件,label控件,timer控件,text控件,windowsmediaplayer控件等等。1.5主要实现的功能我们开发的俄罗斯方块游戏,主要实现了以下几种功能:1.可以灵活控制方块在图形框中运动。2.游戏过程中方块可以自由旋转。3.当某一行的方块排列满时,将自动将这一行方块消除,然后将上面所有方块向下移动,可以支持连续消行。4.游戏前可以选择游戏的速度和游戏的等级,游戏速度既为方块下落速度,游戏等级为初始游戏时在基层随机生成一定行数的无规律方块,生成的行数由你来选择,每行至少产生5个以上的无规律方块,这样增加了游戏难度,对于游戏高手来说,无疑不是一个新的挑战。5.游戏的得分支持积分,并且按照公式:得分=原来分数+100*(2同时消除的行数-1)这样,你同一时间消除的行数越多,你的得分也就越高,当游戏积分到了一定时可以自动升级,这个升级指速度升级。6.游戏中提供了一个漂亮的场景和动听的音乐,给你带来无限激情。1.6开发人员与分工组长李虎同学所做工作如下:(1)俄罗斯方块的旋转。(2)俄罗斯方块的运动情况。(3)俄罗斯方块的自动消行功能。(4)游戏得分的计算。(5)游戏菜单选项的设计及功能实现。副组长王志伟同学所做工作如下:塔里木大学信息工程学院课程设计第3页(1)游戏界面的设计。(2)俄罗斯方块的造型。(3)游戏级别的自由选择。(4)游戏速度的自由选择。(5)游戏的背景音乐。正文2.1游戏设计的具体实现在我们两个人共同努力下,此次设计,终于能够圆满完成。由于时间的紧促,在设计中,也许会有一些考虑不周之处,但其功能已经能够满足大多用户的需求,相信假以时日,一定能做出一个更经典,更完美的俄罗斯方块游戏,下面我们将对每一步的具体如何实现展示给大家。2.1.1游戏界面的设计和背景音乐及特效的实现俄罗斯方块游戏主要由两个界面构成,登陆界面和开始游戏界面。游戏的背景音乐是由一段代码调用系统播放器WindowsPlayer播放背景音乐,由于本次设计主要是针对游戏如何设计的,所以在这里就不对播放背景音乐的功能做介绍了。2.1.2俄罗斯方块的造型相信朋友们都玩过俄罗斯方块,对这个游戏的玩法和方块形状都比较熟悉。我们这个游戏只选择了最基本的7中造型,包括长条型,正方型,正S型,反S型,正7型,反7型,T型。如果需要我们可以添加更多的造型。将游戏界面的游戏区图片框分割成10*20的小块,每个小块放置一个command控件,预览区图片框按同样比例分割成4*4的小块,同样有command控件构成,我们可以把预览区图片框看作是从游戏区图片框中选取的一个部分,游戏区的小方块编号和预览区编号如下图:012345678990919293949596979899游戏区编号预览区编号利用Select将方块的7中造型列出,比如长条型的设计,在欲览区中分别有3.4.5.6和5.15.25.35四个方块构成两中形态,用数组为:m(0)=3:m(1)=4:m(2)=5:m(3)=6:situation2=0m(0)=5:m(1)=15:m(2)=25:m(3)=35:situation2=1将它的形状编号为0和1,在后面方便调用,其他的方块造型同样的方法。2.1.3俄罗斯方块的旋转俄罗斯方块的旋转主要将方块的位置加以变换得到的,例如上述范例,长条型有两中样式,根据小方块的编号变动来实现整个造型的旋转,比如:Ifn(0)-18=2Andn(3)+9=198ThenIfcmdfang(n(0)-18).Visible=FalseAnd_cmdfang(n(1)-9).Visible=FalseAnd_cmdfang(n(3)+9).Visible=FalseThenhidefang03456131415162324252633343536塔里木大学信息工程学院课程设计第4页n(0)=n(0)-18n(1)=n(1)-9n(3)=n(3)+9showfang0situation=1EndIfEndIf方块的造型在旋转的时候存在一个公式,当然首先要判断是否满足旋转的要求,以上是一个长条型由横着变成竖立状态的旋转,我们以它的造型中的第三个小方块n(3)为中心旋转,这样,在开始运动的时候,长条形要发生旋转最少要运动到第三行,才能由横着变成竖立状态,游戏区图形框中第三行的第一个方块的编号为20,所以长条造型的第一个小方块的编号n(0)必须要大于20。同样,长条型方块在下落到底部的时候也有限制。如果长条下落到最后一行也将无法由横着变成竖立状态。2.1.4如何实现方块的运动和自动消除满行的方块我们的这个俄罗斯方块游戏主要是利用command控件的visible属性完成效果的,其实在游戏区图形框可以看成是由许多的command小方块组成,方块运动的过程就是造型里方块显示或者隐藏,就像现在的霓虹灯效果一样,由时钟控件控制visible属性改变的速度,上一层的消失,下一层的显示,这样,从视觉效果可以看到方块的下落运动效果。方块在下落的过程中会自动判断每一行方块的visible属性,如果全部为true时,就会将这一行小方块的visible属性全部变成false,在将上面的小方块向下移动,利用for语句进行循环判断,将所有这样情况的行改变小方块visible属性。当有多行同时出现这样情况时使用递归调用,实现连续消行。具体程序代码如下:Fori=190To10Step-10Ifcmdfang(i).Visible=TrueAnd_cmdfang(i+1).Visible=TrueAnd_cmdfang(i+2).Visible=TrueAnd_cmdfang(i+3).Visible=TrueAnd_cmdfang(i+4).Visible=TrueAnd_cmdfang(i+5).Visible=TrueAnd_cmdfang(i+6).Visible=TrueAnd_cmdfang(i+7)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论