基于FIash的俄罗斯方块游戏设计与实现

时间:2022-07-24 03:37:48

基于FIash的俄罗斯方块游戏设计与实现

摘要:利用Flash和Photoshop软件,结合动作脚本语言Actionscript,设计开发了经典的俄罗斯方块游戏。详细介绍了游戏的开发工具、设计思路以及实现的关键技术。测试和应用表明,该游戏运行流畅,且界面美观,适合在网络上传播和使用。

关键词:Flash;俄罗斯方块游戏;游戏设计;动作编程语言

中图分类号:TP311.52

文献标志码:A

文章编号:1006-8228(2011)08-20-02

引言

随着互联网的发展和Flash软件功能的不断增强,Flash已成为制作网络动画、小游戏和网页游戏的一种重要工具。基于Flash开发的网络游戏,玩家不需要安装专门的插件,并且图形表现力强,客户端可以实时下载,运行稳定,占用资源少。基于这些优势,Flash通常成为二维游戏开发的首选。俄罗斯方块游戏由俄罗斯人阿列克谢・帕基特诺夫发明,由于它上手简单、老少皆宜,从而家喻户晓,风靡世界。本文将采用Flash CS3和Photoshop CS3等工具设计开发俄罗斯方块游戏。

1、俄罗斯方块游戏的开发工具

1.1 Flash CS3

Flash CS3是Adobe公司收购Macromedia公司后将Macromedia Flash更名后的一款动画软件。Adobe FlashCS3拥有独立的视频编码器,可以用较小的文件产生可与当今最佳视频编解码器相媲美的视频。Adobe Flash CS3的绘图功能也非常丰富,它使用功能强大的形状绘制工具,可以自然、直观的方式轻松弯曲、擦除、扭曲、斜切和组合矢量形状,还可以通过使用它的内置滤镜实现神奇效果(如阴影效果、模糊、高光、斜面、渐变斜面和颜色调整等)。

1.2 Photoshop CS3

Adobe Photoshop是公认的最好的通用平面美术设计软件。其界面友好,功能完善,性能稳定,深受广大平面设计者喜爱。Photoshop CS3具有许多重要特性,诸如支持宽屏显示器的新式版面、集20多个窗口于一身的dock、占用面积更小的工具栏、多张照片自动生成全景、灵活的黑白转换、更易调节的选择工具、智能的滤镜、改进的消失点特性、更好的32位HDR图像支持等,自Photoshop CS3以来就成为数字图像处理产品系列的旗舰产品。

1.3 动作编程语言Actionscript

ActionSeript是一种基于ECMAScript的编程语言,可用来编写Adobe Flash电影和应用程序,它标志着Flash PlayerRunfime演化过程中的一个重要阶段。ActionScript 3为基于Web的应用程序提供了更多的可能性。它进一步增强了功能,提供了出色的性能,简化了开发的过程,因此更适合高度复杂的Web应用程序和大数据集。ActionScript 3可以为以FlashPlayer为目标的内容和应用程序提供高性能和开发效率。

2、俄罗斯方块游戏的设计

2.1 游戏规则设计

俄罗斯方块游戏的基本规则是移动、旋转和摆放游戏自动输出的各种方块,使之排列成完整的一行或多行并且消除得分。俄罗斯方块的基本元素和规则如下:

(1)一个用于摆放小型正方形的平面虚拟场地,其标准大小是行宽为10,列高为20,以每个小正方形为单位。

(2)一组由4个小型正方形组成的规则图形,称为方块。方块共有7种,分别以S、Z、L、J、I、O、T这7个字母的形状来命名。

(3)通过设计者预先设置的随机发生器不断地输出单个方块到场地顶部,以一定的规则进行移动、旋转、下落和摆放,锁定并填充到场地中。

(4)每次摆放如果将场地的一行或多行完全填满,则组成这些行的所有小正方形将被消除,并且以此来换取一定的积分。而未被消除的方块会一直累积,并对后来的方块摆放造成各种影响。

(5)如果未被消除的方块堆放的高度超过场地所规定的最大高度,则游戏结束。

2.2 游戏菜单设计

一个完整的游戏,必须要具有一个功能基本齐全的游戏主菜单。游戏的主菜单能引导玩家更迅速更准确地进行游戏,大大地提高玩家的游戏速率。本游戏的菜单分为主菜单和界面菜单。

主菜单位于游戏界面的顶端,设置有“文件”、“查看”、“控制”和“帮助”四个下拉菜单。界面菜单分为“游戏介绍”、“选择关卡”、“开始”三个按钮。“游戏介绍”用来介绍游戏的操作方法;“选择关卡”的作用是进入游戏的关卡选择界面,并允许玩家进行关卡的自由选择;“开始”的作用是进入游戏界面,并开始游戏。

2.3 游戏方块形状设计

俄罗斯方块游戏中,方块是十分重要的元素之一。一个方块是由四个小方块组成的,所以要首先制作小方块。方块有七种颜色,所以小方块也必须有七种颜色类型。七种颜色分别是浅蓝色、橙色、深蓝色、紫色、黄色、红色、绿色。

在游戏进行的时候,游戏代码利用七种颜色即时地生成不同形状的方块,每种颜色的小方块只能组合生成―种形状的方块。

2.4 各种显示框设计

显示框的作用是用来显示游戏各种信息的。在游戏进行界面中需要显示很多游戏的信息,包括得分、最高记录分数、关卡数、剩余过关消行数、下一个下落方块以及停止提示框。如图1所示的显示框位于方块下落范围框的右边,数量一共有五个,由高到低分别显示:下一个下落方块、剩余过关消行数、关卡数、得分数、最高记录分数。如图2所示的显示框是停止信息显示框,是在游戏进行时按键盘“P”键停止游戏的时候,出现在方块下落范围框里面的显示框,当再次按停止键的时候,提示框也会消失。

3、俄罗斯方块游戏的实现

俄罗斯方块游戏是一款用键盘操纵方块进行运动的游戏,整个游戏都是在围绕着方块的移动、旋转、消除中进行的。所以游戏的实现必须有支持方块进行以上动作的功能。游戏中的关键技术包括三大方面,分别是方块的生成与旋转、方块的控制以及消除判定与得分计算。

3.1 方块的生成

游戏中的每个方块都由四个小方块组成。游戏设定有七种不同形状不同颜色的方块,那么它们共有7种不同的排列方法。将20*20的方块作为一个MC,这就是游戏中出现的最小--单位图象。这时可以建立―个二维数组,通过确定一个中心小方块,和另外三块方块的排列位置关系来确定图形,以此办法来构造七种形状的方块。

3.2 方块的控制原则

方块在下落过程中可以进行左移、右移、加速下落和旋转等动作。只是无论左移、右移、加速下落和旋转都是有限制的,也就是说,在某些情况发生时,某些动作是不被允许的。当方块贴紧游戏空间的左边缘时,方块就不能作左移动作;当方块贴紧游戏空间的右边缘时,方块的右移动作也是被禁止的;而当方块不紧贴左右边缘时,方块的左移、右移、加速下落动作都能允许进行。

方块的旋转,其实是重新生成方块的过程,以“中心小方块”为中心,每次旋转都是顺时针转动九十度。判断方块能否进行旋转运动,就要考虑方块旋转痕迹上是否有阻碍物存在。我们采用了生成若干个透明的检测方块来判断方块是否能被允许旋转。

3.3 消除判定

俄罗斯方块游戏的最基本目标,不是考虑方块是否叠得高,也不是考虑方块是否叠得美观,而是要考虑消除方块的行数是否多。只有满足条件时,“行”才能被消除。“行”被消除后,被消除“行”以上的“行”将会下降,覆盖被消除的“行”。具体流程如图3所示。

3.4 得分计算

游戏得分的前提是方块被消行,一次性消行的行数不同,得分也会不同。由于方块的构造问题,一次性消行的行数最多只有四行。与传统的俄罗斯方块一样,一次清除的行数越多,得分就越高。在得分的情况下需要做两件事情,一是清除得分行的方块,二是将该行以上的方块都向下移动一行的距离。具体的流程如图4所示。

4、结束语

本文主要利用Flash开发了俄罗斯方块游戏,详细介绍了设计的关键技术。设计开发的游戏经过测试和使用,取得了良好的效果。在以后的工作中,我们将进一步完善游戏的界面、增加游戏的背景音乐和过关音效等。

参考文献:

[1]马俊伟.利用VB开发俄罗斯方块游戏[J].电脑编程技巧与维护,2009.21.

[2]王彦朝.二维数组在俄罗斯方块游戏编程中的应用[J].信息与电脑,2010.4.

[3]蔡莉.基于Flash的教育网络游戏的设计与开发[J].中国电化教育,2009.12.

[4]杜恩宽.基于Flash图形引擎的RTS游戏[J].计算机工程,2007.15.

上一篇:论医保的计算机网络化管理 下一篇:软件工程专业Web程序设计课程群教W改革