【Java版俄罗斯方块】
    增加保存配置信息到文件的功能,声音设置、显示设置、关卡选择等配置信息在修改后将会保存在jar包同级目录下(以jar相同的文件名+.cfg后缀保存)

【菜单选项】
    也做了不少菜单选项
    可自定义控制键,可设置单色彩色显示,可设置网格是否显示网格
    关卡有三组选择:
    标准关卡:难度中等,7种基本形状,共分2级,50000分一级,速度递增,下落一格的速度每2000分减少10毫秒
    速度关卡:难度较大,7种基本形状,共分10级,10000分一级,速度快且随着分数的增加而递增
    复杂性关卡:难度较大,共分10级,8000分一级,随着级别越高复杂度越来越大,会出现随机填充的障碍物,以及难以应付的复杂形状,到第4级以后会出现16种基本形状,够你难受的了

【已知Bug】
    1. 偶尔会出在现形状下落的过程中形状的某一块没有被擦除掉,原因不明
    可能原因为,程序在刷新视图时并没有全部擦除重画,只是根据形状在上一次的显示位置将这一小块重画了一个空块以覆盖
    仔细测试过,后台明明执行了这个过程,视图却没有被擦除掉,不知是不是JDK的问题
    2. 一直按住回车键,程序将在开始游戏和结束游戏之间不停切换,偶尔会出现蒙层未盖住形状的问题
    蒙层:程序会在游戏暂停时蒙上一层淡蓝色,而在游戏停止时蒙上一层淡红色

【关于俄罗斯方块游戏】

游戏简介
    俄罗斯方块是一款益智方块类游戏,
    这款游戏最初是由苏联的电脑科学家帕吉特诺夫(Alex Pajitnov)于1985年制作的,
    作者给了他一个源自希腊字4(tetra)的名字Tetris。
    1989年由任天堂于发行GameBoy版,推出后风靡全球,成为益智方块类型游戏中知名度最高的一款。
    它看似简单但却变化无穷,上手极其容易,但是要熟练地掌握其中的操作与摆放技巧,难度却不低。

玩法简介
    游戏具有一个用于摆放小方块的平面虚拟场地,
    一组由几个小方块组成的规则形状(Tetromino),
    游戏每次随机输出一种形状到场地顶部,自动以一定的速度下落,
    用户在形状的过程中可以控制形状的左右移动及旋转以将形状填充到场地中,
    直至形状下落至场地底部或被场地中已有的方块阻挡而不能再下落,
    游戏再次输出一个形状,周而复始。
    如果这次填充将场地的一行或多行完全填满,则组成这些行的所有方块将被消除,
    并且以此来换取一定的积分奖励,
    而未被消除的方块会一直累积,并对后来的形状摆放造成各种影响,
    如果下一个形状的输出位置已经被未消除的方块所占据,则游戏结束。

【项目结构图】

【启动类代码】


import java.util.Enumeration;import javax.swing.UIManager;
import javax.swing.plaf.FontUIResource;import tarzan.game.tetris.view.TetrisFrame;
import tarzan.game.tetris.global.Config;/*** @author tarzan*/
public class Tetris {public static void main(String args[]) {try {// 更改应用程序的默认外观UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());// 更改应用程序的默认字体Enumeration keys = UIManager.getDefaults().keys();while (keys.hasMoreElements()) {Object key = keys.nextElement();Object value = UIManager.get(key);if (value instanceof FontUIResource)UIManager.put(key, new FontUIResource(Config.CURRENT.getDefaultFont()));}TetrisFrame tetris = new TetrisFrame();tetris.setVisible(true);} catch (Exception e) {e.printStackTrace();}}
}

游戏截图

完整代码下载地址

https://download.csdn.net/download/weixin_40986713/21751470

《游戏学习》Java版俄罗斯方块小游戏源码实战相关推荐

  1. 猜歌小游戏多功能组合微信小程序源码下载

    这是一款多功能游戏组合的一款小程序 比如猜歌,摇骰子,真心话大冒险等等 php7.2 mysql5.6 1.上微擎框架 2.将后台两个压缩包上传到addons目录下解压 创建小程序应用 3.后台设置一 ...

  2. Java版KTV预定管理系统源码

    Java版KTV预定管理系统源码 源码免费分享,需要学习可私信我. 主要包括:预定管理模块.员工管理模块.包间管理模块.商品管理模块.歌曲管理模块.前台点歌模块. (一) 预定管理模块(分成ktv订单 ...

  3. JAVA版WMS物流仓储管理系统源码,包含PDA端和Web端

    JAVA版WMS仓储管理系统源码 物流仓库管理系统源码 源码免费分享,需要学习可私信. 一.源码介绍: 基于JAVA开发的物流仓库管理系统(支持自营和第三方),包含PDA端和Web端.WMS在经过多家 ...

  4. Java 并发编程 -- 线程池源码实战

    一.概述 小编在网上看了好多的关于线程池原理.源码分析相关的文章,但是说实话,没有一篇让我觉得读完之后豁然开朗,完完全全的明白线程池,要么写的太简单,只写了一点皮毛,要么就是是晦涩难懂,看完之后几乎都 ...

  5. 近期爬虫学习体会以及爬豆瓣Top250源码实战

    近期爬虫学习体会以及爬豆瓣Top250源码实战 我是在B站https://www.bilibili.com/video/BV12E411A7ZQ?p=25里学习的,至今已经可以手写爬豆瓣Top250代 ...

  6. 蓝色版去水印小程序源码+接口

    介绍: 蓝色版小程序源码+接口 网盘下载地址: http://kekewangLuo.net/edaLtfZJUE40 图片:

  7. 基于java的俄罗斯方块小游戏设计(含源文件)

    欢迎添加微信互相交流学习哦! 项目源码:https://gitee.com/oklongmm/biye 题 目          小游戏开发 摘    要     俄罗斯方块是我们最常见的游戏之一,该 ...

  8. 《游戏学习》| 3d网页小游戏 | 公路赛车 源码

    游戏介绍 基于three.js实现的3d网页游戏,适配移动端和pc端网页,可以选择简单.普通.困难.地狱四个游戏难度等级,通过控制左右,超过其他车辆得分. 游戏截图 游戏主页 游戏界面 结束界面 项目 ...

  9. 《游戏学习》| 微信对话模拟生成器源码分析

    简介 微信对话生成器,是一款在线微信聊天对话制作的工具,它可以设置苹果或安卓状态栏,包括手机电量.手机时间等,还可以设置不同用户的角色,然后发送文字.语音.红包.转账等多种好玩的功能,可谓是一款娱乐制 ...

最新文章

  1. 用深度学习模型,解构并重构人类思维
  2. C# 动态调用WebService
  3. TypeScript学习笔记(七) - 命名空间
  4. camera (19)---Android 相机开发的基本流程
  5. linux服务器查看系统装到哪个盘,查看linux安装了什么服务器地址
  6. CSS中背景图片的坐标之使用说明及css中把所有背景图都放在一张图片上减少图片服务器的请求次数问题(转)...
  7. ajax调用webService
  8. 测试微信好友是否删除软件,微信测试好友是否删除你的方法
  9. 苹果cms播放器html,苹果cms 全局播放器dplayer带后台Dplayer播放器苹果CMSV10插件
  10. 帐户当前被锁定,所以用户 sa 登录失败。系统管理员无法将该帐户解锁 解决方法
  11. android猴子测试,听话的“猴子”安卓app压力测试
  12. leetcode第197场周赛 之 5211概率的最大路径
  13. 向量法计算空间点到线段的距离(python)
  14. 14.Java- Spring
  15. iOS开发-沙盒(sandbox)机制
  16. iOS 开发笔记-获取某个APP素材
  17. shell脚本中计算时间差
  18. 亚马逊云科技 Build On-使用 Amazon KVS 和 Amazon Rekognition 进行实时智能视觉识别
  19. Win2k高级技巧 -----引用至某BLOG.保存了很久了.
  20. git-代码同步至github

热门文章

  1. 随机小姐姐404单页网站源码
  2. [Ubuntu] Ubuntu16.04+win10+联想Y7000+显卡+WIFI 装机成功
  3. 微信开发者工具,出现“当前系统代理不是安全代理,是否信任?”
  4. win10更新不动_Win10更新总失败?学会这三招搞定它
  5. 计算机编号怎么学,英文的一二三四编号电脑怎么打出来
  6. 消息队列(mq)是什么?
  7. ubuntu 18.04+GTX30系列显卡+TensorFlow-gpu1.15
  8. 处理100万条数据 python_仅需1秒!搞定100万行数据:超强Python数据分析利器
  9. 关于本科期间参加人工智能方向竞赛的建议
  10. linux提交任务执行时间,Linux之任务计划