Skip to content

feat: 为 2048 增加单步撤销功能 #1

Open

Description

@Doumy666

需求背景

当前 2048 游戏可以使用方向键移动和合并数字方块,但没有撤销上一步的功能。

希望在本 Fork 中增加一个简单的 Undo(撤销一步) 按钮,让玩家能够纠正最近一次操作。

这是针对原版 2048 的独立功能扩展,不是原项目的 Bug 修复。

功能要求

  1. 在游戏页面增加一个清楚可见的 Undo 按钮。
  2. 玩家完成一次有效移动后,点击 Undo,可以恢复到该次移动之前的棋盘状态。
  3. 恢复时应同时恢复本局分数,并移除该步新生成的数字方块。
  4. 每次只允许撤销最近一次有效移动,不能连续倒退多步。
  5. 无效移动不能覆盖已有的撤销记录。
  6. 点击 New Game 后,应清除旧游戏的撤销记录。
  7. 保持原有游戏规则、页面风格和正常操作不变。

验收标准

  • 完成一次有效移动后,Undo 可以正确恢复棋盘和本局分数。
  • 合并数字方块后撤销,合并结果能够正确还原。
  • 没有可撤销操作时,Undo 不会造成异常。
  • 新游戏不会恢复上一局状态。
  • 提供适当的自动化测试,并通过项目配置的验证检查。

实现范围

请尽量复用现有 HTML、CSS 和 JavaScript,不引入不必要的大型依赖。

这是一个范围明确的小功能扩展,暂不增加排行榜、云端同步、多步历史等额外功能。

Activity

  1. Doumy666 commented on Oct 29, 2026

    @Doumy666
    OwnerAuthor

    @dsh implement

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions