You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mjfiefthn 37cad7cd47
ADD file via upload
1 week ago
doc ADD file via upload 1 week ago
log ADD file via upload 1 week ago
model ADD file via upload 1 week ago
src ADD file via upload 1 week ago
README.md Update README.md 1 week ago

README.md

java_game_guessnum 2048小游戏 —

快速开始(组员拉取项目后)

  1. 查看需求模型 cd model 用 Visio / draw.io 打开 软件需求模型.vsd 共3页用例图、活动图、类图

  2. 查看需求文档 cd doc 用 Word / WPS 打开 软件需求构思及描述.docx

  3. 查看工作日志 cd log 每位组员5次日志文件证明参与

  4. 编译运行游戏源码(可选) cd src javac Game2048.java java Game2048

依赖项Java JDK 8+仅运行源码时需要、Visio/draw.io查看模型、Word/WPS查看文档 注意:本作业主要为建模文档,无需运行代码即可评审。源码仅作为实现参考。

游戏功能(与源码对应)

功能 源码实现位置 说明
棋盘初始化 initGame() 清空棋盘,生成两个初始数字
随机生成数字 generateRandomCell() 90%概率生成210%概率生成4
左移合并 moveLeft() 核心合并算法,同时累加分数
右移合并 moveRight() 通过反转+左移实现
上移合并 moveUp() 通过旋转+左移实现
下移合并 moveDown() 通过旋转+左移实现
胜利判定 isWin() 检查是否有2048方块
失败判定 isGameOver() 检查是否无空位且无可合并
界面绘制 paint() Swing绘制棋盘、分数、颜色块
键盘监听 KeyAdapter 监听上下左右方向键

建模内容说明

用例模型第1页

  • 参与者:玩家
  • 用例数10个
    • 开始新游戏、移动数字方块、撤销上一步、保存游戏进度、恢复历史进度
    • 查看当前分数、查看最高分记录、设置游戏难度、重置游戏、退出游戏
  • 关系include移动 → 查看分数、extend开始游戏 → 恢复进度)

活动图第2页 描述游戏主流程:

进入游戏界面 → 选择开始/恢复 → 游戏循环(移动/撤销/保存/重置/退出)→ 胜利/失败判断

类图第3页

类名 职责
GameBoard 棋盘数据 + 移动合并逻辑
GameController 撤销、保存、加载、重置
Player 游戏记录查询

当前源码将所有逻辑集中在 Game2048 类中,类图展示的是理想设计结构,用于需求分析阶段。

使用工具

任务 推荐工具 替代方案
UML建模 PlantUML / draw.io Visio
文档编写 Microsoft Word WPS / 腾讯文档
版本管理 Git + Gitee/GitHub 网页端直接上传

备注

  • 所有建模内容符合 UML 2.x 规范
  • 需求模型与分析模型完整覆盖游戏核心功能
  • 源码可独立编译运行,验证模型正确性
  • 本作业已按要求提交至学习通 + 项目托管平台