java课程设计——2048
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的更多相关文章
- java(课程设计之记事本界面部分代码公布)
代码:涉及记事本的一些界面......!! /* *java课程设计之记事本(coder @Gxjun) * 编写一个记事本程序 * 要求: * 用图形用户界面实现. * 能实现编辑.保存.另存为.查 ...
- java课程设计(计算器)
JAVA课程 设 计 报 告 1206401-18 瞿杰 一.设计时间 2013年6月 24日-----6月28日 二.设计地点 湖南城市学院实验楼计算机506机房 三.设计目的 1.巩固学习VB ...
- Java课程设计——博客作业教学数据分析系统(201521123084 林正晟)
#课程设计--博客作业教学数据分析系统(201521123084 林正晟) 1.团队课程设计博客链接 博客作业教学数据分析系统 2.个人负责模块或任务说明 学生登陆界面的前端实现和与数据库的连接 学生 ...
- Java课程设计——博客作业教学数据分析系统(201521123082 黄华林)
Java课程设计--博客作业教学数据分析系统(201521123082 黄华林) 一.团队课程设计博客链接 博客作业教学数据分析系统(From:网络五条狗) 二.个人负责模块或任务说明 1.网络爬虫 ...
- java课程设计--We Talk(201521123061)
java课程设计--We Talk(201521123061) 团队博客链接:http://www.cnblogs.com/slickghost/ 数据库 一.通过Dao模式建立与数据库的连接 1.数 ...
- Java 课程设计 "Give it up"小游戏(团队)
JAVA课程设计 "永不言弃"小游戏(From :Niverse) 通过Swing技术创建游戏的登陆注册界面,使用mySQL数据库技术完成用户的各项信息保存和游戏完成后的成绩保存. ...
- Java课程设计----仿Windows标准型计算器
JAVA课程设计 仿Windows标准型计算器(By Yanboooooooo) 一.团队介绍: 连燕波[组长]:网络1513学生. 张文博[组员]:网络1513学生. 二.项目git地址 码云项目地 ...
- Java课程设计—象棋
1. 团队名称.团队成员介绍 团队名称:WY 团队成员: 吴慧婷[组长] 201521123094 网络1514 姚佳希 201521123042 网络1512 2 项目git地址 Java课程设计 ...
- Java课程设计——猜数游戏(201521123111 陈伟泽)
Java课程设计--猜数游戏(201521123111 陈伟泽) 1.团队课程设计博客链接 博客作业--猜数游戏 2.个人负责模块或任务说明 Answer:一些基础界面的构造,排行榜的构造,用文件录入 ...
随机推荐
- Webpack学习笔记九 webpack优化总结
webpack 优化笔记 webpack4 自带的优化包括 swingTree(摇摆树)和作用域提升 swingTree 比如入口文件 index.js引入通用方法 util, 里面有 10个方法, ...
- 搜索框反射型xss问题解决(网站开发)
什么是反射型XSS XSS又叫CSS (Cross Site Script) ,跨站脚本攻击.它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的h ...
- 『ACM C++』 PTA 天梯赛练习集L1 | 016-017
今天开了两个大会,时间都给占掉了,就刷了两道题~ 明天加油!!! ------------------------------------------------L1-016------------- ...
- kali linux (Raspberry Pi 3b) 更新失败 出现上面的问题
Invalid signature for Kali Linux repositories : “The following signatures were invalid: EXPKEYSIG ED ...
- VMware ESXi-6.7——安装
前提条件: 下载ESXi-ISO镜像文件 制作启动文件 将服务器调试为U盘启动 进入U盘启动模式 1. 进入ESXi的安装页面 选择要安装的磁盘 选择USB口驱动 设置一个root密码 保存数据提示 ...
- HTTP头部信息解释分析
HTTP 头部解释 1. Accept:告诉WEB服务器自己接受什么介质类型,*/* 表示任何类型,type/* 表示该类型下的所有子类型,type/sub-type. 2. Accept-Chars ...
- VMware虚拟机下载与安装(内附密钥)
VMware下载与安装 一.虚拟机的下载 1.进入VMware官网,点击左侧导航栏中的下载,再点击图中标记的Workstation Pro,如下图所示. 2.根据操作系统选择合适的产品,在这里以Win ...
- 获取cookie,设置cookie,删除cookie
//获取cookie export const getCookie = (name) => { var arr, reg = new RegExp("(^| )" + nam ...
- JS 控制文本框禁止输入例子
JS 控制不能输入特殊字符 <input type="text"class="domain"onkeyup="this.value=this.v ...
- thinkphp phpmailer邮箱验证
thinkphp 关于phpmailer的邮箱验证 一 . 登陆自己的邮箱,例如:qq邮箱.登陆qq邮箱在账户设置中开启smtp服务: 之后回发送一个授权码 , 这个授权码先保存下来,这个授权码在后 ...