# 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) 的辛勤栽培。