文章来源:淘论文网   发布者: 毕业设计   浏览量: 488
适用:本科,大专,自考
更新时间:2024年

Q: 1052602713

评分:5.0




还可以点击去查询以下关键词:
[Swing]    [俄罗斯]    [方块]    [游戏]    [源码]    [java Swing开发俄罗斯方块游戏源码]   

代码量:1800行,简单易懂

                 

基本规则:  

 1、一个用于摆放小型正方形的平面虚拟场地,其标准大小:行宽为20,列高为25,以每个小正方形为单位。做为装饰的俄罗斯方块

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

3、通过设计者预先设置的随机发生器不断地输出单个方块到场地顶部,以一定的规则进行移动、旋转、下落和摆放,锁定并填充到场地中。每次摆放如果将场地的一行或多行完全填满,则组成这些行的所有小正方形将被消除,并且以此来换取一定的积分或者其他形式的奖励。而未被消除的方块会一直累积,并对后来的方块摆放造成各种影响。   

4、如果未被消除的方块堆放的高度超过场地所规定的最大高度(并不一定是25或者玩家所能见到的高度),则游戏结束。

操作方法:

 1. 按游戏界面的'开始'按钮来开始游戏。

2. 键盘操作:系统缺省设置使用右边的窗口,用光标操作,'←'左移一格;'→'右移一格;'↑'旋转方块;↓ 下落方块。

3. 计分牌显示的内容:“分数”为本局的分数,计分标准为下落一个块10分,一次消一行100分、2行400分、3行900分、4行1600分。“等级”为双方的游戏设置等级,当分数达到一定的值,等级就会提升、速度加快。

代码分析:

1.model部分:里面包含了本项目的一些model,这里有三个类,Board,Cell,MyModel。首先,Board是游戏的活动区域,是一个由n*m的方块区域。然后Cell只有两个属性,x,y。他们可以指定该方块在Board的位置,它是该游戏最基本的单元。四个Cell组成一个MyModel,MyModel共有7种,分别以S、Z、L、J、I、O、T。俄罗斯方块与其他游戏有点不同,整个游戏的难点部分在model这块。一开始,我也想了很对方法去实现model的实现,方法都是非常繁琐的,最后发现,把7*4个方块model都列出来倒是最简单的。

2.界面部分是用swing完成的,整个游戏有一个Jframe构成。欢迎界面也被嵌在这个Jframe中,当点击欢迎界面或者按任意键就使欢迎界面消失,进行游戏。在游戏界面中,有一个方块活动主区域,下一方块显示区域,记分牌,控制区域构成。

3.控制器当然是整个项目的核心部分,在里面开始,暂停等一些简单的的方法就不做详细解释了。去操作一下timer线程就可以实现了。

在这里移动的方法以下为例,先让model下移一格,判定当前位置是否能够移动,如果不能移动,就让model上移一格,在界面上显示当前model。判断是否能移动的方式是:根据model上四个坐标到board上面去判定,如果坐标的超出底线,或超出左右线,或者当前坐标在board上面有cell存在都表示不能移动。

判断是否能消行的方法是遍历model四个点中的不重复的x值,利用这个x值到model中从左到右去判断那行,是否都有cell存在。如果都存在cell,那么表示能够消行。

消行的方法为,将上面能消行的行值用一个list记录下来,遍历这个list,取出里面的行值,将该行上面的所有行下移一格,已达到消行效果。

4.在该游戏中,加入了背景音和音效,组要用Applet接口实现。

 

gif动图

 

java Swing开发俄罗斯方块游戏源码


这里还有:


还可以点击去查询:
[Swing]    [俄罗斯]    [方块]    [游戏]    [源码]    [java Swing开发俄罗斯方块游戏源码]   

请扫码加微信 微信号:sj52abcd


下载地址: http://www.taolw.com/down/11463.docx
  • 上一篇:基于JAVA的网络教学辅助平台的设计与实现
  • 下一篇:SSH下的投票系统