使用Java Swing开发的2048小游戏

完整工程源码:https://github.com/Melonl/Swing2048

使用idea开发,用了Java swing组件来实现ui,源码里有很详细的注释。

实际运行效果:

使用Java Swing开发的2048小游戏_第1张图片使用Java Swing开发的2048小游戏_第2张图片

最初是为了应付课程设计而写的,在写的时候想找些源码参考发现网上没几个用swing实现的2048源码,有几份还是要钱的,现特将此源码无偿分享出来给后来有需求的朋友参考。下面说下大体的实现思路。

 

首先,抛开简陋的开始界面不谈,直接说游戏界面,我使用了4x4的GridLayout作为布局,然后使用16个JLabel作为方块ui。数据上则是使用一个长度为16的int数组储存方块的数值,通过监听上下左右的按键进行相应的数据处理,最后通过刷新函数将数据显示出来并设置颜色。这里提一下胜负判定的实现,胜的判定很简单,就是玩家凑出了至少一个2048的方块即为胜利,而失败的判定思路略复杂,主要是通过模拟用户分别按下上、下、左、右键后,判断格子里是否还有空位,如分别向四个方向移动后都无法产生空位,则判负。具体的代码实现请参考源码,有疑问可在评论区提出,不定时回复。

你可能感兴趣的:(我的项目)