如何用java写俄罗斯方块游戏?
来源:秒知站 本文已影响1.75W人
来源:秒知站 本文已影响1.75W人
和贪吃蛇一样,俄罗斯方块也是一个非常经典的小游戏。之前笔者写过java实现贪吃蛇,这次用差不多的方式来实现俄罗斯方块游戏。我们用swing编程制作游戏界面,定义方块类型,实现方块变换,得分,游戏结束等等功能。
(01)设计界面。设想中的界面应该分为左边的游戏区与右边的控制区。控制区有“开始”“暂停”“停止”按钮,游戏得分信息;游戏区则划分20*10个格子,每个方块就是由不同的格子组合而成。
(02)我们需要定义布局,组件,初始化等操作。设置左右两边的控制区组件大小,定位来实现绝对定位。
(03)主要的功能都在游戏区组件中实现。控制区三个按钮“开始”,“暂停”,“停止”只是调用游戏组件函数。
(04)在游戏区,定义20*10个格子。通过标记不同格子的背景颜色,组成不同的方块。方块移动时候,也是变换组成格子的背景颜色。
(05)然后定义游戏中出现的方块以及它的变幻方块。我们预计定义9中方块,每种方块最多只能变幻为另外一种方块。然后每次我们都是随机获取9中方块中的一种,获取的方块出现在顶部中间,所以获取了方块我们就可以初始化它的定位。
(06)开始游戏后获取第一个方块并开启一个定时器,定时器中每隔一段时间将方块下移一个位置。如果方块下移到最后或者下移到已有方块之上再不能下移了,这时候再判断是否有某一行连成一排的。如果连成一排,累加游戏得分,同时需要消除该行,将上面的方块都挪到下面来。再获取下一个方块,并判断该方块能否安放,如果不能安放,那么游戏就结束。这是游戏的控制逻辑。
(07)定义游戏得分,游戏结束的判断逻辑。
(08)还有一个主要的控制就是方块的左右移动,变形。左右变化控制方块的位置就行。变形则根据不同的方块可变形状变化,其实也是改变方块的位置就行了。
(09)尤其要注意的是,键盘事件和时间事件中都会操作当前方块。键盘事件中改变方块的形状,向左或右移动。时间事件中方块要不停的下移。所以,在两个事件中都需要请求锁、释放锁,以此做到数据同步。
(10)经验也只能写一个大概的设计,游戏主要就是控制方块移动、变形和游戏得分后消除,游戏结束判断等逻辑。想明白这些,实现起来就是界面布局,swing编程等。还要注意并发访问的情况等。如果有任何疑问,获取源码等,欢迎大家留言。
俄罗斯是发达国家吗?
俄罗斯是欧盟国家吗?
俄罗斯方块的游戏规则
10月份去俄罗斯旅游怎么带衣服
俄罗斯化妆品为什么便宜 俄罗斯化妆品必买清单
国庆节去俄罗斯怎么样?
俄罗斯生腌五花肉做法
俄罗斯大列巴的做法
俄罗斯插座是什么标准?
2018俄罗斯世界杯旅游看球攻略
正宗俄罗斯列巴做法
如今俄罗斯还是共产主义吗?
俄罗斯用英语如何说 俄罗斯英语怎么说
俄罗斯旅游攻略 俄罗斯的旅游攻略
俄罗斯签证办理流程
俄罗斯是什么主义国家?
俄罗斯有哪些礼仪习俗
俄罗斯远东有哪些赌场
游戏心理学:俄罗斯方块的心理效应
俄罗斯女性是什么人种?
俄罗斯老奶奶面膜使用方法 价格是多少
乌拉什么意思在俄罗斯?
乌克兰公民可免签证出入俄罗斯 俄罗斯为什么征兵
俄罗斯对中国免签吗 去俄罗斯旅游免签吗
俄罗斯萨马拉有哪些旅游景点
俄罗斯的城市有哪些