# GAME
**Repository Path**: solitudes/GAME
## Basic Information
- **Project Name**: GAME
- **Description**: Java Web课程设计
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: http://2048.solitudes.cn/
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-06-29
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# GAME——2048
## 介绍
Java Web课程设计--2048小游戏
这个游戏是要求用户把类似数字的方块结合在一起,以创造出更大数字的新方块,一直到拿到最后包含数字“2048”的方块。期间根据数字的组合获取分数。可以选择上下左右其中一个方向去滑动,每滑动一次,所有的数字方块都会往滑动的方向靠拢,相同数字的方块在这个过程中会碰撞相加变成一个更大数字的方块,完成后系统会在空白的地方随机出现一个数字方块(2或4)。玩家需要不断地滑动,想办法叠加出越来越大的数字,直到达成2048就算成功。
## 日志
6月29日 乱七八糟折腾了好久,系统性的开始完善项目
7月02日 折腾了两天样式,太难了
7月02日 后悔了,上下左右移动合并好像很麻烦
7月03日 心态崩了呀,电脑重装系统了,从头开始
7月05日 基本能操作了,git还没设置,先本地实现功能好了
7月06日 实现了数字的移动
7月08日 改了两天bug,合并貌似也能成功了
7月10日 各个数字颜色区分了一下,马卡龙色系真棒
7月10日 本地能单机跑了,要不也加个排行榜?
7月11日 各种设置弄好了,捋一下过程分部上传gitee
7月11日 完工
## 项目经过从确立方向到逐步完善到暂时完成,期间不管是css样式的布局、还是JDBC、DBCP等连接池的小问题,都无时不刻的影响项目进展。项目重难点关键是需要将逻辑与视图分离。所有的数据更新,都体现在内存中。游戏中的数据变化可能非常多,全部积攒起来,一次性更新到界面上。只是一个格子移动的问题+数字合并刷新颜色的代码耽误了将近一天的时间,通过向前辈的项目借鉴学习从而学习到了舒适的切换效果,感谢前人的项目经验,让我在界面颜色的选择上节省了不少时间,更好的投入到对于格子边界处理的算法中。
## 主要工作节点(1)4x4格子的初始化和定位
(2)随机数字的形成和合并
(3)移动时间的触发和结束时机判断
(4)边界问题和交互逻辑的协调
(5)数据库的连接及分数写入
(6)游戏各组件的css样式编写
## 项目总结截至2020年7月11日,项目在PC端能够实现完整的游戏体验,交互逻辑尚可接受,项目初期设立的基本目标经对照已经符合预期效果。下一步的工作将对项目进行屏幕自适应的完善,使其满足各个用户端的使用。将在键盘控制以外加入按钮触发,适配移动端的使用,有条件的话会借助RX实现手势识别,滑动屏幕进行游戏。在此基础上有意添加回退功能,构思是在确定移动之后,将历史入栈,然后实现“后悔”功能。 最后,感谢JAVA WEB课程设计,让我能够静下来去投入这么一个让自己又开心又有收获的事情中来,不管是为了明年毕业找工作还是考研项目经理,这个小东西激起了我不断学习的念头,星星之火可以燎原。期待自己会更好,感谢 [赵老师](https://github.com/webturing) 的辛勤栽培。