码迷,mamicode.com
首页 > 编程语言 > 详细

java课程设计——2048

时间:2019-01-18 15:02:40      阅读:246      评论:0      收藏:0      [点我收藏+]

标签:利用   游戏   录制   game   lock   rand   功能架构   info   关闭   

1.团队介绍

技术分享图片

2.项目git地址

[https://gitee.com/SMTwula/java036.git]

3.项目git提交记录截图

  • 沈梦婷
    技术分享图片
  • 田亚琴
    技术分享图片

4.项目功能架构图与主要功能流程图

技术分享图片
技术分享图片

5.项目运行截图或屏幕录制

  • 经典模式
    技术分享图片

  • 疯狂模式
    技术分享图片

6.项目关键代码

①4*4方格设计:

  • 其中key为4,每个方块是边长为80的正方形。
    技术分享图片

②疯狂模式持续时间:

  • 定义一个网格布局两行一列的标签,第一行为“持续时间”标签,第二行为时间记录,时间通过多线程实现。
    技术分享图片

③随机产生数字2或4:

  • 用Random 产生随机数,随机x,y作为下标产生方块位置。
  • 如果该位置已经有数字存在,则继续调用该函数。
  • 否则,随机产生0或1,如果为1则产生数字4,为0则产生数字2。

技术分享图片

④一秒出现一个数字方块、持续时间:

  • 利用多线程,其中while循环中的flag为线程结束标志,。
  • 利用鼠标监听器监听按钮,如果点击重新开始、返回主界面、关闭窗口,则设置flag为true,关闭线程。
  • 调用判断游戏是否结束的函数crazyCheckGameend()函数,如果游戏未结束,则继续产生数字,持续时间递增并显示在界面上,否则关闭线程。
    技术分享图片

⑤判断游戏是否结束:

  • 遍历所有数字方块,如果有为0的方块则游戏未结束,返回false。
  • 如果游戏结束,判断当前分数是否为历史最高分,如果是则修改文档内容。
    技术分享图片

⑥游戏结束提示窗口:

技术分享图片

⑦数字方块设计:

  • 不同的数字设置不同的颜色,若有方格数字达到2048,则游戏结束,跳出提示框。
    技术分享图片

⑧读取最高分记录的文档:

技术分享图片

⑨移动主要代码截图(其他类似):

  • 通过方向键或英文状态下的wsad键移动,在移动时调用Music,产生移动音效。
    技术分享图片
    技术分享图片

⑩音效:

技术分享图片

7.项目代码扫描结果及改正

①问题:

技术分享图片技术分享图片
方法:
技术分享图片

②问题:

技术分享图片
方法:
技术分享图片

8.尚待改进

①可以添加55、66功能和道具模式
②可以添加上一次未完成的游戏状态功能。
③加入音效后,游戏会有卡顿,不知道什么原因。

java课程设计——2048

标签:利用   游戏   录制   game   lock   rand   功能架构   info   关闭   

原文地址:https://www.cnblogs.com/smtwula/p/10286827.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!