基于Visual Basic俄罗斯方块游戏系统的设计论文.pdf
《基于Visual Basic俄罗斯方块游戏系统的设计论文.pdf》由会员分享,可在线阅读,更多相关《基于Visual Basic俄罗斯方块游戏系统的设计论文.pdf(47页珍藏版)》请在咨信网上搜索。
1、设计题目:基于Visu a l Ba sic俄罗斯方块游戏系统的设计目 录引言.11 VB简介.21.1 设计平台.21.2 Visual Basic 知I识.22系统分析.32.1 选题原则.32.2 应用前景.33系统总体设计.43.1 系统设计流程图.43.2 系统模块框图.43.3 系统设计工程概况.54系统详细设计.74.1 俄罗斯方块的生成.74.2 设置方块坐标.74.3 俄罗斯方块旋转.94.4 俄罗斯方块的满行消行.114.5 至底固定.124.6 实现一键至底.134.7 游戏加分及级别实现.144.8 菜单功能介绍.154.9 游戏界面.155结束语.17心得体会.18致
2、谢.19参考文献.20附录.21唐山学院课程设计引言在当今社会中,竞争越来越激烈,工作也变得繁琐而乏味,人们没有太多的休 息时间。此时的人们正需要一种既简单又节省时间的快速休闲方式,俄罗斯方块游 戏以其花样的方块,无尽的挑战吸引了众多爱好者,而且老少皆宜。无可争议,俄 罗斯方块是有史以来最伟大的游戏之一。它是永恒的娱乐经典,但它实际上又和那 些传统的经典娱乐方式不同,因为它的本质是电子化的,所以它的确属于现代产物。程序代码简单,界面易于实现,成为编写电子工具,如手机,M P4,电子词典,商 务通等的首选游戏。俄罗斯方块举世闻名的游戏性,在该游戏新鲜出炉时就显得非常直观。某些与 坠落的玩具碎片和
3、它们的形状有关的东西,使得哪怕新手也会很自然地企图把它们 排列起来,并加以适当组合,就好似俄罗斯方块触动了我们某些内在的感官,使得 哪怕是我们当中最杂乱无章的人也要把事情整理妥当。俄罗斯方块游戏不仅是休闲娱乐的首选,而且它还可以开发智力,锻炼人的灵 敏程度。在曾经发布过的所有游戏中,俄罗斯方块还被认为是仅有的一个能够真正 吸引广泛人群的作品。正因为如此,我开始着手用学过的Visual Basic知识去制作一款俄罗斯方块 游戏,希望通过本次课程设计,对Visual Basic语言有更深刻的理解,同时锻炼 自己将所学理论与实际相结合的能力。唐山学院课程设计1 VB简介1.1 设计平台VB全称Vis
4、ual Basic,它是以Basic语言作为其基本语言的一种可视化编程工 具。Vb是microsoft公司于1991年退出的windows应用程序开发工具visual意思 是“可视化的”。在它刚推出来时,自身还存在一些缺陷,功能也相对少一些。但 是经过多年的开发研究。最近microsoft公司又推出了 VB6.0版本VB6.0运行环境:硬件,要求486以上的处理器、16M B以上内存,50M B以上 的硬盘,cd-roni驱动器,鼠标。软件:要求windows 95以上版本。1.2 Visu a l Ba sic 知识Visual Basic语言是由Basic发展来的。Basic语言是20世纪
5、60年代由美 国的两位教授开发的计算机程序设计语言,它是Beginners All-purpose S ymbolic I nstruction Code的缩写,意为“初学者通用符号指令代码”川。这是一种简单 易学的、在D OS环境下运行的一种计算机程序设计语言。直到1991年M icrosoft 公司推出了 Windows应用程序开发工具Visual Basic,其中Visual意为“可视化 的”,指的是一种开发图形用户界面(GUI)的方法,在计算机程序设计中引申为可视 化的程序设计,是一个面向对象的集成开发环境。程序员不用编写大量代码去描述 界面元素的外观、位置等信息,只要将这些元素用鼠标
6、拖到具体位置即可(及可视 化设计,或所见即所得)。它一方面继承了其先辈Basic的简单、易学易用的特 点;另一方面在其编程系统中采用了面向对象、设计过程可视化、事件驱动的编程 机制、动态数据驱动等先进的软件开发技术,是Visual语言编程技术发展到了一 个新的高度,它为广大用户提供了一种所见即所得的可视化程序设计方法。2唐山学院课程设计2系统分析2.1选题原则2.L1娱乐消遣,缓解疲劳游戏是用来给大家娱乐的,所以要能在使用的过程中给大家带来快乐,消除大 家的疲劳,所以我们在游戏中添加了漂亮的场景,设置了过关升级的功能,激发大 家的娱乐激情。2.1.2 充分利用Visu a l Ba sic知识
7、游戏中涉及到菜单及各种控件的使用,可以使我们掌握Visual Basic的编程 思想。2.1.3 W Visu a l Ba sic软件与实际结合平时学习时只是编一些简单的小程序,根本算不上成品,俄罗斯方块是经久不 衰的小游戏,为广大群众所喜爱,值得我们去制作。2.1.4 简单却不单调俄罗斯方块游戏程序虽然复杂但是实现方法简单,因此人们可以通过各种方法 去实现,不仅如此,还可以随意添加模块让游戏实现不同的功能。2.1.5 由简入难,一通百通设计俄罗斯方块游戏,只是一个向前跨越平台,我们可以由此了解游戏设计的 思想,向更高的层次迈进。2.2应用前景2.2.1 群体广泛由于操作简单,易于理解,经典
8、好玩,俄罗斯方块游戏适合大众群体。2.2.2 应用广泛程序代码简单,界面易于实现,成为编写电子工具,如手机,M P4,电子词典,商务通等的首选游戏。223借鉴性强,易于改进我们可以通过制作此游戏了解基本设计思路与方法,应用到其他游戏之上,同 时我们很容易根据自己的思路去改进游戏,如增加难度级别等,将功能加以扩展,使其功能更加强大,界面更加完美。3唐山学院课程设计3系统总体设计3.1系统设计流程图图3.1系统流程图游戏通过F orm_Load()及Load_I nit()过程函数实现初始化,通过 mnuGameNew_Cl ick()函数使游戏开始,调用NextF angkuai()随机产生下一
9、个方块,D owntmjtimer()实现方块下落,并通过键盘控制方块的旋转,左右移及键至底,至底固定,判断是否满行,如未满行则继续移动,否则将消行,加分并判断级别,过关则从另一级别开始,分数不变,一个方块至底固定后,继续循环产生下一方块。3.2系统模块框图4唐山学院课程设计图3.2系统模块图3.3系统设计工程概况3.3.1 系统设计思想从游戏的基本玩法出发,主要就是俄罗斯方块的形状和旋转,我们在设计中在 T etris.Res文件中构造了 4个同样大小的网状小块,由这些小块组合成新的形状,每4个小块连接在一起就可以构造出一种造型,因此我们总共设计了 7中造型,每 5唐山学院课程设计种造型又可
10、以通过旋转而变化出2到4种形状,利用随机函数在一个预览窗体中提 前展示形状供用户参考,然后将展示的形状复制到游戏窗体中进行摆放,在游戏窗 体中用户就可以使用键盘的方向键来控制方块的运动,然后利用递归语句对每一行 进行判断,如果有某行的方块是满的,则消除这行的方块,并且使上面的方块自由 下落,其中,方块向下的速度是有时钟控件控制的,在游戏中,用户也可以使用向 下键使方块一键至底,定义一个变量,对消除的函数进行记录,最后就可以得出用 户的分数,达到一定分数就可过关,下落速度会加快3.3.2 系统设计步骤1俄罗斯方块的生成。2游戏界面的设计。3俄罗斯方块的旋转。4俄罗斯方块的运动情况。5实现方块的一
11、键至底。6俄罗斯方块的自动消行功能。7游戏级别的自由选择。8游戏得分的计算。9游戏菜单选项的设计及功能实现。3.3.2 系统所用控件及对象我们在设计过程中主要用到的控件有:image控件,picture控件,label控件,timer控件,frame控件等等。3.3.3 系统实现的功能1.可以实现键盘控制方块运动。2.通过变换图形实现方块自由旋转。3.当某一行的方块排列满时,将自动将这一行方块消除,然后将上面所有方块 向下移动,可以支持连续消行。4.游戏前可以选择游戏的等级,游戏等级即为方块下落速度,等级越高方块下 落速度越快,这样增加了游戏难度,对于游戏高手来说,无疑不是一个新的挑战。5.根
12、据游戏的得分判断级别。6唐山学院课程设计4系统详细设计4.1 俄罗斯方块的生成首先在T etris.Res文件中画好各种造型的方块,基本造型为长条型,正方型,正S型,反S型,正7型,反7型,T型七种。并设好编号,然后在Visual Basic 窗体中加载文件,并通过LoadResPicture(x,0)函数在PictureBox或I mage控件中 生成各种方块的图形,并通过随机函数产生下一个方块。功能代码如下:随机从7个放块中选择一个RandomizeNexttype=I nt(7*Rnd)+1)S elect Case NexttypeCase 1I mageNext.PictureCas
13、e 2I mageNext.PictureCase 3I mageNext.PictureCase 4I mageNext.PictureCase 5I mageNext.PictureCase 6I mageNext.PictureCase 7I mageNext.PictureE nd S elect=LoadResPicture(11,0)二 LoadResPicture(13,0)=LoadResPicture(15,0)=LoadResPicture(19,0)=LoadResPicture(23,0)=LoadResPicture(27,0)=LoadResPicture(29,0
14、)4.2 设置方块坐标4.2.1 界面坐标将游戏界面设置为 10*20 的 PictureBox 控件,即 PictureM ap.S caleWidth=10:PictureM ap.S caleH eight=20并通过M ap(10,20)数组来对应界面上的每个点,值为 T rue,表示此点不为空,否则为空。4.2.2 方块坐标7唐山学院课程设计每个方块4个点块通过X,Y,Z设定坐标,(X,Y)为点在界面中的位置,Z值判断此点下面是否为空,为空设为T rue,否则为F alse。假设 L=pictureNow.Left,T=pictureNow.T op表4.1部分方块坐标设置部分方块块
15、点号X坐标Y坐标Z坐标1L+1T+lT rue2L+2T+lT rue123 43L+3T+lT rue4L+4T+lT rue41L+1T+4T rue3212L+1T+3F alse3L+1T+2F alse4L+1T+lF alse小1L+1T+3T rue2L+2T+2T rue3L+1T+2F alse4L+2T+lF alse1L+1T+lT rueb42L+2T+2T rueI 3 13L+3T+2T rue4L+2T+lF alse1234简要功能代码如下:S ub F indXYZO获取一个方块的4个点的坐标F or i=1 T o 4 initKuai(i).X=0Kuai
16、(i).Y=0Kuai(i).Z=F alseNextnowX=pictureNow.Left+1S elect Case NowtypeCase 1 长条8唐山学院课程设计I f S tate M od 2=1 T henKuai(1).X=nowXKuai(1).Y=pictureNow.T op+1Kuai(1).Z=T rueF or i=2 T o 4Kuai(i).X=nowX+i-1Kuai(i).Y=pictureNow.T op+1Kuai(i).Z=T rueNextE lseKuai(1).X=nowXKuai(1).Y=pictureNow.T op+4Kuai(1).
17、Z=T rueF or i=2 T o 4Kuai(i).X=nowXKuai(i).Y=pictureNow.T op+i-1Kuai(i).Z=F alseNextE nd I fE nd S electE nd S ub4.3 俄罗斯方块旋转4.3.1 判断方块能否旋转判断方块能否旋转通过I sValue(n,wid)函数实现,一个方块能否旋转取决 于其上下左右的空行数或空列数,因为方块形状不一,因此只要判断方块中最宽的 行或最长的列即可,当方块上下或左右的空行数加上1超过方块中最宽的行或最长 的列,就可以实现方块旋转。I sValue(n,wid)函数模块中,n为0时判断空行数,为1时
18、判断空列数,wid 为图片框的宽度,即方块的宽度。由此函数得到maxX与minX或maxY与minY,即上 下空行的最大与最小横坐标或左右空列的最大或最小纵坐标。当maxX-minX方块最 大宽度T或maxY-minY方块最大高度T,则可以旋转,否则不旋转。功能代码如下:I f n=0 T hen Get Y Value9唐山学院课程设计E mptyline=0 Get M inYCount=0F or i=minY-1 T o minY-(wid-1)S tep-1F or j=minX T o maxXI f M ap(j,i)=F alse T hen Count=Count+1Next
19、I f Count=pictureNow.Width And Count=pictureNow.H eight T henE mptyline=E mptyline+1Count=0E lseE xit F orE nd I fNextminY=minY-E mptyline I f minY 0 T henI f M ap(Kuai(i).X,Kuai(i).Y+1)Or Kuai(i).Y=20 T hen 如果不能移动,将4点位置的坐标设置为T rue,并将图形固定下来4.5.2 不能移动则固定如不能移动,将方块四点的M ap(i,j)设为T rue,并利用PaintPicture绘图函
20、 数将图片拼接起来。功能代码如下:F or j=1 T o 4M ap(Kuai(j).X,Kuai(j).Y)二 T rueNext jpictureM ap.PaintPicture pictureNow.Picture,pictureNow.Left,pictureNow.T op,pictureNow.Width,pictureNow.H eight,vbS rcAnd12唐山学院课程设计图4.3至底固定模块4.6 实现一键至底一键至底可以方便用户来使用此游戏,当用户设定好状态与位置了,想快速移 至底部不用总是按着向下的方向键,让其到达底部,只需按一下,方块就可迅速落 至底部。欲实现此
21、功能须加入一个T imer控件,将它的I nterval属性设到很小,当按 下向下的方向键时,D owntmr控件的E nabled属性设为F alse,这个控件Quicktmr 的E nabled属性设为T rue,并调用Quicktmr_timer()函数,当至底后再恢复timer 控件原来的状态,即在 I nitO 函数中加入 Quicktmr.E nabled=F alse:D owntmr.E nabled=T rueo13唐山学院课程设计图4.4 一键至底模块4.7 游戏加分及级别实现4.7.1 代码控制加分与级别当满行消掉一行后加100分,当达到1000分时即可过关,弹出M sg
22、Box对话框,问是否继续,选是则继续下一级别,否则恢复初始化状态。到达下一级别,速度会 加快,分值继续保持,消行又会增长,如此反复,当方块垒到了上边界处,出现M sgBox 问是否继续玩此关选是则重玩此关,分值归零,否则恢复初始化状态。并且按照公 式:游戏分数二所消行数*100级别=游戏分数/1000这样,你消除的行数越多,你的得分也就越高,当游戏积分到了一定时可以 自动升级,这个升级指速度升级。图4.5游戏加分级别模块功能代码如下:S core=S core+100labS core.Caption=F ormat(S core,“000000)Level=S core/1000labLev
23、el.Caption=F ormat(Level+1)levelnext=Level+1 ClearD ownT mr.I nterval=1000/levelnext4.7.2 菜单控制级别14唐山学院课程设计另外,如直接单击菜单级别选项,也可到达指定级别,分值同样归零。功能代 码如下:Private S ub mnuControlLel_Click(I ndex As I nteger)levelnext=I ndexD ownT mr.I nterval=1000/I ndex labLevel.Caption=F ormat(I ndex)S core=0 labS core.Capt
24、ion=F ormat(0,“000000)Clear nowX=0 NextF angkuai I nit E nd S ub4.8 菜单功能介绍4.8.1 游戏菜单Al t+G新游戏一一Ctrl+N即开始新的游戏,级别为1,分值为零,随机产生方块下落。退出一一Ctrl+E程序终止,退出运行状态。4.8.2 控制菜单Al t+C隐藏/显示-Ctrl+A设置预览窗口所在的I mage控件的Visible属性为T rue或F alse,以实现预览窗口的显示与隐藏。停止/继续-Ctrl+S设置D owntmr控件的E nabled属性为F alse或T rue,以实现游戏的暂停与继续,更加人性化。
25、级别(一至五)-F l,F 2,F 3,F 4,F 5,设置D owntmr控件的I nterval属性由高到低,以改变方块下移速度。4.8.3 帮助菜单Al t+H键盘Ctrl+K用M sgBox对话框显示游戏的键盘控制方法。关于-Ctrl+M用M sgBox对话框显示游戏备注等。4.9 游戏界面15唐山学院课程设计.j俄罗斯方块|游戏控制帮助国)!唐山学院 06计本1班 任招静游戏,在你忙碌过图4.6游戏初始界面图4.7新游戏方块下落界面俄罗斯方块键盘操作帮助图4.8菜单编辑器健盘控制方法:.控制方块向左移动f控制方块向右移动4控制方块向下快速移动至底t控制方块的顺时针方向的翻转:二;确定
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于Visual Basic俄罗斯方块游戏系统的设计论文 基于 Visual Basic 俄罗斯方块 游戏 系统 设计 论文
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【曲****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【曲****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。