java课程设计——2048
2024-09-04 09:40:20
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功能和道具模式
②可以添加上一次未完成的游戏状态功能。
③加入音效后,游戏会有卡顿,不知道什么原因。
最新文章
- JS判断字符串长度(中文长度为2,英文长度为1)
- Hadoop学习笔记(1) 初识Hadoop
- 脚本乐园 Shell中命令行选项和参数的处理
- 在O(1)时间删除链表结点
- Hadoop之RPC
- 使用NPOI操作Excel
- [LA] 3027 - Corporative Network [并查集]
- iOS绘制view
- Pycharm 出现Unresolved reference '' 错误的解决方法
- [NOI2011]道路修建
- php运行出现Call to undefined function curl_init()解决方法
- Hadoop2.7.7_HA高可用部署
- oracle 数据库去重复数据
- linux内存源码分析 - 内存压缩(实现流程)
- lvm磁盘分区
- 深入了解Kubernetes REST API的工作方式
- [svc]为何linux ext4文件系统目录默认大小是4k?
- 阴影锥(shadow volume)原理与展望
- 拼接的html的onclick事件中无法传递对象给js方法的处理办法
- 留言板(初学者使用js实现)