单文件离线2048小游戏,含键盘、触屏、撤销、胜利状态分支和8组独立回归测试。无外部依赖,不上传游戏数据。
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 22 天前 | ||
| 22 天前 | ||
| 22 天前 |
2048 单文件闯关
一份可直接用浏览器打开的 2048 小游戏,用于验证合并规则、输入交互和胜利后的状态转换,也作为华为云开放能力闯关活动的待部署作品。
使用
打开 index.html,无需安装依赖或联网。支持方向键、WASD、触屏滑动及触摸设备上的方向按钮。相邻同值方块每次移动最多合并一次;有效移动后才生成一个新方块。
- 新游戏:清零本局分数,生成两个初始方块。
- 撤销:回退最近一步的棋盘、分数及胜利状态,最多保留20步。
- 继续挑战:达成2048后保持棋盘和分数,继续合并。
- 新开一局:达成2048后重新开始,和继续挑战含义不同。
- 最高分保存在当前浏览器的本地存储,清除站点数据会重置;不上传游戏数据。
验证
使用已安装的 Node.js:
node --test independent.test.cjs
独立的8组测试直接执行实际 HTML 内联脚本,覆盖单次合并、得分、四方向、无效移动不随机生成、撤销、胜利后的继续与新开、触屏与方向按钮事件,以及625种单行棋盘在四方向上的数值守恒。测试夹具只在 Node VM 中注入,不写进发布网页。
胜利弹窗的备选按钮曾错误地执行继续游戏;回归测试先得到 2048 !== 0,修正为新开一局后8组测试全部通过。另已在真实浏览器完成键盘移动、计分和撤销检查。Node VM 测试不等于所有手机实机验收。
实现与活动状态
游戏由 CodeArts 网页版辅助生成,随后进行了独立代码检查、回归修正和实际浏览器验收。生产文件只有 index.html,CSS和JavaScript内联,无外部图片、字体、分析服务或网络请求。
截至2026-10-22,本项目尚未创建活动沙箱或ECS,也未提交部署奖励;本地可玩与测试通过不代表活动审核通过。部署条件以官方规则和账号实际权限为准,不能将活动积分或代金券面值当作现金收入。