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:一些基础界面的构造,排行榜的构造,用文件录入 ...
随机推荐
- IOS中使用百度地图定位后获取城市坐标,城市名称,城市编号信息
IOS中使用百度地图定位后获取城市坐标,城市名称,城市编号信息 /**当获取到定位的坐标后,回调函数*/ - (void)didUpdateBMKUserLocation:(BMKUserLocati ...
- js/jquery 禁用点击事件
前言 工作中经常遇到这种情况:验证邮箱页面的重新发送需要在3分钟后才可以点击触发请求,所以在这之前需要禁用他的点击. 网上查了后有以下几种实现方法 1.css禁用鼠标点击事件 .disabled { ...
- 二进制部署etcd集群
kuberntes 系统使用 etcd 存储所有数据,本文档介绍部署一个三节点高可用 etcd 集群的步骤,这三个节点配置复用 ,我在这里没有做认证,如果有需要也可以做. 下载二进制文件 到 http ...
- flask之请求钩子
from flask import Flask from flask import abort app = Flask(__name__) # 在第一次请求之前调用,可以在此方法内部做一些初始化操作 ...
- Mac mysql安装失败解决方法
在mac终端通过命令安装mysql,提示错误,解决方法如下: (1)安装命令:brew install mysql (2)提示错误: Error:Could not create /usr/local ...
- 如何在linux系统内用openssl 生成 过期的证书
需求:验证过期的证书在系统中不能使用. 问题:如何生成过期的证书呢? 解决方法:1.调整系统时间 2.生成证书 3.验证证书startdate 和 enddate 是否符合你的预期 1.调整系统时间 ...
- es6几个新增语法的使用----数组
//数组的累加方法 let arr=[1,2,3]; let sum=arr.reduce((prev,cur)=>{ return prev+cur; }) console.log(sum)/ ...
- PHP计算翻页
function fanye() { if ($total <= $num) { $list['curTotal'] = $total; } else { $offsetA = $start; ...
- ZooKeeper(1)-入门
一. Zookeeper工作机制 二.Zookeeper特点 三.Zookeeper数据结构 四.Zookeeper应用场景 统一命名服务 统一配置管理 统一集群管理 服务器动态上下线 软负载均衡
- pig分组统计例子
1.选取数据样本 在pig安装目录下有一个文件tutorial/data/excite-small.log,其中的数据分为3列,中间用制表符分隔,第一列为用户ID,第二列为Unix时间戳,第三列为查询 ...