1、项目介绍
俄罗斯方块游戏设计的核心就是利用一个指定二维数组的的值来表示方块的位置 ,然后通过该值来判断是否在游戏窗口内相应的正方形矩形内画出相应的方块。
把每个小方块抽象成一个类Diamond,该类具有的属性有:位置坐标xy、在主窗口显示的图片名称images、所属方块Diamonds、是否是活动状态activate等。该类还持有Main类的引用,极大的简化的编码的复杂度。
把每个下落的方块抽象成一个接口Diamonds,该接口定义了向左右移动、加速下落、方块变形、绘图、取得Diamond引用等方法。
BaseDiamonds类实现了Diamonds接口,并实现了接口里面的所有方法。该类持有四个Diamond类的引用,通过组合的方式实现了整个的俄罗斯方块(每个俄罗斯方块由四个小方块Diamond组成)。该类还有一个属性用来存储该方块四个Diamond对象的坐标值,该属性在该类的构造函数里面初始化。
考虑到每个方块的形状都不一样,因此如果要设计一个新方块类的时候,继承BaseDiamonds类,直接在构造器里传入四个小方块的相对坐标即可。
由于俄罗斯方块游戏需要自动产生不同的方块并且自动下落,而且需要使用键盘来控制方块的左右移动、加速以及变形等。因此,该游戏的设计需要使用多线程以及swing的消息处理机制。从多线程的角度考虑,主线程控制游戏的启动,另启动两个线程A、B。线程A控制方块的自由下落;线程B控制游戏窗口的实时刷新。
2、技术框架
运行系统:windows
编程语言:java
系统架构:gui界面
系统框架:Swing
数据库:无
Maven项目:否
运行环境:JDK8+idea
3、演示视频
B站演示视频:https://www.bilibili.com/video/BV1YB4y1o7f8/
4、项目截图
5、文档截图
5、安装部署
- 购买之后,如果需要帮忙调试安装部署(免费),直接联系作者即可,包安装包调试包运行,无需担心运行不了
- 你只需要下载一个向日葵远程,所有需要的软件和环境都会帮你远程安装调试
- 调试要求使用idea,没有idea会帮忙安装
6、相关推荐
【课程设计】基于java的坦克大战小游戏,附源码+报告,适合大作业、大实验或者课程设计
java的扫雷小游戏、扫雷游戏设计、扫雷小程序,附源码+文档,适合课程设计
java的雷电飞机小游戏、java基于swing的雷电飞机设计小游戏,java雷电飞机游戏设计,附源码+文档+PPT
基于java+swing的推箱子游戏设计与实现,附源码+论文+PPT,包远程调试安装运行
7、更多源码