jsp/java俄罗斯方块游戏

以下是资料介绍,如需要完整的请充值下载. 本资料已审核过,确保内容和网页里介绍一致.  
无需注册登录,支付后按照提示操作即可获取该资料.
我要下载该资源
资料介绍:

jsp/java俄罗斯方块游戏

摘要

随着通信技术的发展和电脑的普及,小游戏的开发技术越来越为人们所关注。以J2SE为开发平台,利用Java提供强大工具,不但可以在电脑上实现静态HTML技术所无法实现的计算处理、数据存储、与服务器的通信等功能,而且能够开发各种电脑小游戏。本文在介绍J2SE及其体系结构的基础上,以计算机毕业设计jsp/java俄罗斯方块游戏为实例,描述了借助J2SE的类库开发电脑小游戏的过程。

关键词:游戏; 应用程序 永久性数据

程序设计思想

游戏作为人们日常生活的一个重要的娱乐项目,也带动了巨大的游戏相关产业市场的发展。游戏平台从游戏机、电视游戏,到pc游戏,到电脑游戏,中间经历了很多的技术的变革。随着新技术的发展和人们生活水平的提高,电脑开始逐渐普及,电脑以其小巧便捷,方便的特性成为人们的必备通讯工具。而基于电脑平台的电脑游戏也就拥有了巨大的市场空间,随着3g的开通和应用,电脑游戏必将迎来新的一轮游戏热潮。

游戏是用来给大家娱乐的,所以要能在使用的过程中给大家带来快乐,消除大家的疲劳,所以我们在游戏中添加了漂亮的场景,设置了过关升级的功能,激发大家的娱乐激情。

从游戏的基本玩法出发,主要就是俄罗斯方块的形状和旋转,我们在设计中在一个图片框中构造了一个4*4的网状小块,由这些小块组合成新的形状,每四个小块连接在一起就可以构造出一种造型,因此我们总共设计了7中造型,每种造型又可以通过旋转而变化出2到4种形状,利用随机函数在一个预览窗体中提前展示形状供用户参考,然后将展示的形状复制到游戏窗体中进行摆放,在游戏窗体中用户就可以使用键盘的方向键来控制方块的运动,然后利用递归语句对每一行进行判断,如果有某行的方块是满的,则消除这行的方块,并且使上面的方块自由下落,其中,方块向下的速度是有时钟控件控制的,在游戏中,用户也可以使用向下键加快下落速度,定义一个变量,对消除的函数进行记录,最后就可以得出用户的分数,用if 语句对分数判断,达到一定的积分就可以升级到下一个档次。

俄罗斯方块游戏设计的主要步骤为以下方面:

(1)游戏界面的设计。

(2)俄罗斯方块的造型。

(3)俄罗斯方块的旋转。

(4)俄罗斯方块的运动情况(包括向左,向右和向下)。

(5)俄罗斯方块的自动消行功能。

(6)游戏级别的自由选择。

(7)游戏速度的自由选择。

(8)游戏得分的计算。

(9)游戏菜单选项的设计及功能实现。

主要实现的功能

我们开发的计算机毕业设计jsp/java俄罗斯方块游戏,主要实现了以下几种功能:

1.可以灵活控制方块在图形框中运动。

2.游戏过程中方块可以自由旋转。

3.当某一行的方块排列满时,将自动将这一行方块消除,然后将上面所有方块向下移动,可以支持连续消行。

4.游戏前可以选择游戏的速度和游戏的等级,游戏速度既为方块下落速度,游戏等级为初始游戏时在基层随机生成一定行数的无规律方块,生成的行数由你来选择,每行至少产生5个以上的无规律方块,这样增加了游戏难度,对于游戏高手来说,无疑不是一个新的挑战。

5.游戏的得分支持积分,并且按照公式:

得分 = 原来分数+ 100 * (2 ^ 同时消除的行数-1),这样,你同一时间消除的行数越多,你的得分也就越高,当游戏积分到了一定时可以自动升级,这个升级指速度升级。

6.游戏中提供了一个漂亮的场景,给你带来无限激情。

游戏设计的具体实现

在我们两个人共同努力下,此次设计,终于能够圆满完成。由于时间的紧促,在设计中,也许会有一些考虑不周之处,但其功能已经能够满足大多用户的需求,相信假以时日,一定能做出一个更经典,更完美的俄罗斯方块游戏,下面我们将对每一步的具体如何实现展示给大家。

游戏界面的设计实现

俄罗斯方块游戏主要由两个界面构成,登陆界面和开始游戏界面。

俄罗斯方块的造型

相信朋友们都玩过俄罗斯方块,对这个游戏的玩法和方块形状都比较熟悉。我们这个游戏只选择了最基本的7中造型,包括长条型,正方型,正S型,反S型,正7型,反7型,T型。如果需要我们可以添加更多的造型。将游戏界面的游戏区图片框分割成10*20的小块,每个小块放置一个jbutton控件,预览区图片框按同样比例分割成4*4的小块,同样有jbutton控件构成,我们可以把预览区图片框看作是从游戏区图片框中选取的一个部分,游戏区的小方块编号和预览区编号如下图

 0

1

2

3

4

5

6

7

8

9

90

91

92

93

94

95

96

97

98

99

3

4

5

6

13

14

15

16

23

24

25

26

33

34

35

36

           游戏区编号                 预览区编号                                                          

利用Select将方块的7中造型列出,比如长条型的设计,在欲览区中分别有3.4.5.6和5.15.25.35四个方块构成两中形态,用数组为:                              

m(0) = 3: m(1) = 4: m(2) = 5: m(3) = 6: situation2 = 0

m(0) = 5: m(1) = 15: m(2) = 25: m(3) = 35: situation2 = 1

将它的形状编号为0和1,在后面方便调用,其他的方块造型同样的方法。

俄罗斯方块的旋转

俄罗斯方块的旋转主要将方块的位置加以变换得到的,例如上述范例,长条型有两中样式,根据小方块的编号变动来实现整个造型的旋转,比如:

public final static int[][] STYLES = {// 共28种状态

  {0x0f00, 0x4444, 0x0f00, 0x4444}, // 长条型的四种状态

  {0x04e0, 0x0464, 0x00e4, 0x04c4}, // 'T'型的四种状态

  {0x4620, 0x6c00, 0x4620, 0x6c00}, // 反'Z'型的四种状态

  {0x2640, 0xc600, 0x2640, 0xc600}, // 'Z'型的四种状态

  {0x6220, 0x1700, 0x2230, 0x0740}, // '7'型的四种状态

  {0x6440, 0x0e20, 0x44c0, 0x8e00}, // 反'7'型的四种状态

  {0x0660, 0x0660, 0x0660, 0x0660}, // 方块的四种状态

 };

方块的造型在旋转的时候存在一个公式,当然首先要判断是否满足旋转的要求,以上是一个长条型由横着变成竖立状态的旋转,我们以它的造型中的第三个小方块n(3)为中心旋转,这样,在开始运动的时候,长条形要发生旋转最少要运动到第三行,才能由横着变成竖立状态,游戏区图形框中第三行的第一个方块的编号为20,所以长条造型的第一个小方块的编号n(0)必须要大于20。同样,长条型方块在下落到底部的时候也有限制。如果长条下落到最后一行也将无法由横着变成竖立状态。

3.1.4如何实现方块的运动和自动消除满行的方块

我们的这个计算机毕业设计jsp/java俄罗斯方块游戏主要是利用jbutton控件的visible属性完成效果的,其实在游戏区图形框可以看成是由许多的jbutton小方块组成,方块运动的过程就是造型里方块显示或者隐藏,就像现在的霓虹灯效果一样,由时钟控件控制visible属性改变的速度,上一层的消失,下一层的显示,这样,从视觉效果可以看到方块的下落运动效果。

方块在下落的过程中会自动判断每一行方块的visible属性,如果全部为true时,就会将这一行小方块的visible属性全部变成false,在将上面的小方块向下移动,利用for语句进行循环判断,将所有这样情况的行改变小方块visible属性。当有多行同时出现这样情况时使用递归调用,实现连续消行。

游戏功能的介绍

文件F------开始F1:开始游戏。

          继续F2:继续游戏。

          暂停F3:暂时停止游戏,点击继续的时候可以继续游戏。

          退出Ctrl+Q:退出游戏。

设置-------选择游戏级别。

         选择游戏速度。

考验-------显示F5:显示欲览区方块。

         隐藏F6:隐藏欲览区方块。

帮助-------操作提示以及版本信息和作者资料。

 

用户界面具体如图:

 未命名   未命名

           图—登陆界面                            图—游戏界面 

未命名  未命名

         图—菜单编辑界面                        图—游戏英雄榜界面 

 

总结

但是由于课程设计时间较短,所以该游戏还有许多不尽如人意的地方,比如方块类型太少,退出游戏不能存储进度等多方面问题。这些都有待进一步改善,我们在游戏中还可以更换背景音乐,以适合不同的玩家,在每通过一关可以给玩家播放一段flash,吸引玩家去挑战极限,不断提高玩家的兴趣,相信在以后的制作过程中我们将给大家带来一个更新功能更全面的游戏。