page contents

Java教程——基于java俄罗斯方块教学

本文讲述了Java教程——基于java俄罗斯方块教学!具有很好的参考价值,希望对大家有所帮助。一起跟随六星小编过来看看吧,具体如下:

attachments-2023-10-3Wfvcnvy6523572d8ab4c.jpg

本文讲述了Java教程——基于java俄罗斯方块教学!具有很好的参考价值,希望对大家有所帮助。一起跟随六星小编过来看看吧,具体如下:

开发工具eclipse


jdk1.8


俄罗斯方块的基本规则: 


 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接口实现。

attachments-2023-10-pabWTeRI652356eba8f6c.jpg

更多相关技术内容咨询欢迎前往并持续关注六星社区了解详情。

想高效系统的学习Java编程语言,推荐大家关注一个微信公众号:Java圈子。每天分享行业资讯、技术干货供大家阅读,关注即可免费领取整套Java入门到进阶的学习资料以及教程,感兴趣的小伙伴赶紧行动起来吧。

attachments-2023-03-2AoKIjPQ64014b4ad30a3.jpg

  • 发表于 2023-10-09 09:28
  • 阅读 ( 294 )
  • 分类:Java开发

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
小柒
小柒

1316 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1316 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章