Skip to content

Releases

v0.5.1 · 亮色主题棋盘与 UI 边界修复

Choose a tag to compare

@JJJACKsong JJJACKsong released this 09 Nov 08:00

亮色模式下棋盘格消失的问题修好了:棋盘和卡片边界不再被宿主的纯白底色吃掉。

  • 棋盘与空格子改用固定暖色,亮色主题下整片棋盘格清晰可辨(暗色视觉不变)
  • 亮色下统计卡、按钮、尺寸菜单、战绩抽屉补暖色描边与浅底,层级不再糊成一片
  • 亮色强调色加深:最高分、状态按钮、标题渐变不再白底淡黄
  • 结算遮罩改为固定暖黑纱,通关 / 终局卡片在亮色下也压得住棋盘

升级方式:remove_bundle → install_bundle,再刷新页面。

v0.5.0 · AUTO 托管(内置 AI)

Choose a tag to compare

@JJJACKsong JJJACKsong released this 07 Nov 03:14

老实手动玩 2048,很枯燥吧?

  • AUTO 托管:工具栏点「AUTO」,内置 expectimax AI 接管当前局,你只负责看。4×4 搜 4 层、5×5 搜 3 层、6×6 及以上搜 2 层,节点预算封顶,每步耗时有界。
  • 手动按方向键或滑动会立刻接管并退出 AUTO;通关弹窗自动继续,无路可走自动停。
  • 托管局不计最高分与成就,保持手动成绩的含义;战绩里标 AUTO。
  • 测试 41 → 47 项:shiftGrid 纯模拟、评分单调性、bestMove 合法性、节点预算有界、AUTO 代打 200 步能做出 64+。

升级:remove_bundle → install_bundle,再刷新页面。

v0.4.0 · 滑动动画重做 + 棋盘 4×4~9×9

Choose a tag to compare

@JJJACKsong JJJACKsong released this 06 Nov 17:26

手感:滑动不再「瞬移」

  • 位移改成显式关键帧动画(不再依赖 CSS transition 插值):每颗棋子从旧格子按 --fx/--fy 飞到 --tx/--ty,连续两次同向滑动也会重播。
  • 时长按距离给:1 格 140ms、2 格 170ms、3 格 200ms —— 滑得远飞得久。
  • 动态模糊:飞行中段 filter: blur() 到 1.35 ~ 2.25px,到站立刻清晰。
  • 落地回弹:到位后越过落点 1.8 ~ 5px 再停稳,配合沿运动方向的拉伸 / 侧向挤压形变(squash & stretch)。
  • 合并 pop、新子出现也换成带挤压的非线性节奏。prefers-reduced-motion 下全部关闭。

棋盘:4×4 ~ 9×9

  • 4×4 / 5×5 常驻按钮,**6×6 ~ 9×9 收在「更多 ▾」**向上弹出的小菜单里;当前是大棋盘时按钮显示具体尺寸。
  • 每个尺寸各留一局:切尺寸 = 停表 + 换槽,切回来棋盘、撤销历史、计时都接着上局;最高分、战绩、每日挑战全部按尺寸分开。
  • 间距随尺寸收窄(10/10/9/8/7/6px),9×9 单格约 50px;16384 以上的数值补了深色配色和 6 位数字号,后期不会出现看不清的透明块。
  • 「更多」按钮上,6~9 有未完成对局时会亮小圆点。

测试

40 项规则/成就(新增 4–9 尺寸、9×9 移动、间距、每尺寸 120 局随机对局不变量)+ 6 项外壳自检,全部通过。

升级:remove_bundle → install_bundle,再刷新页面。旧存档会自动迁移,4/5 的进度不会丢。

v0.3.1 · 4×4 / 5×5 各自保留一局

Choose a tag to compare

@JJJACKsong JJJACKsong released this 06 Nov 17:10

修复:切 4×4 / 5×5 不再丢局

之前切尺寸等于开新局,这一版改成每个尺寸各留一局:

  • 切过去再切回来,棋盘、分数、步数、撤销历史、计时全都接着上局。
  • 停表机制:切走的局不计时(elapsedMs 累计),切回来才重新走秒。
  • 工具栏上,另一尺寸有未完成对局时会亮一个小圆点,悬停提示「这个尺寸还有一局没下完」。
  • 旧存档(0.3.0 及更早的单棋盘 board.v2 / v1)读一次并升级进对应尺寸的槽,不会丢。
  • 顺手修了音效:只在本局「刚结束 / 刚通关」那一下响,切槽或打开一局旧的结束棋局不再补放终局音。

仍有一个明确的边界:同一尺寸同一时间只有一局 —— 进出每日挑战(或点「新局」)会替换掉该尺寸的槽,被替换那局会先记进战绩。

测试:35 项规则/成就 + 6 项外壳自检,全部通过。

v0.3.0 · 连击 / 音效 / 5×5 / 每日挑战 / 成就战绩 + 会话提示

Choose a tag to compare

@JJJACKsong JJJACKsong released this 06 Nov 17:06

玩法变多了

  • 连击:一手合并 ≥2 对时棋盘中央闪「连击 ×N」,另给本次合并得分 25%×(N-1) 的奖励分。
  • 音效:WebAudio 现场合成(移动 / 合并 / 连击 / 通关 / 终局),默认开、一键静音、选择记忆,不引入任何音频文件。
  • 4×4 / 5×5:随时可切,最高分与战绩按尺寸分开记。
  • 每日挑战:按本地日期 + 尺寸做种子的固定发牌,同一天同一副牌;标题旁显示日期徽章,通关后标记「今日已完成」。
  • 战报:结算或工具栏输出一段纯文本(分数 · 最大块 · 步数 · 用时 · 尺寸),可直接贴群里。
  • 战绩:最近 10 局落在本地,换局前也会先记一笔。
  • 成就:10 个本地解锁项(首块 128/512/1024/2048、单步三连击、零撤销到 2048、1 万/5 万分、5×5 到 2048、每日通关),解锁时右下角弹 toast。

会话联动:这局不用一直盯会话面板

游戏页顶部会出现一条不打断游戏的提示:

  • 有会话 在等你批准 / 回答 → 「「XX」在等你批准 / 回答」
  • 有会话 跑完了但你没在看 → 「「XX」跑完了」

点「去看看」直接跳到那个会话,也可以「关闭」。信号来自宿主注入的 useSessionStatus(pendingInteraction / completionUnread),插件只读不写:不碰会话日志、不订阅事件、不发 RPC。

内核与存档

  • 棋盘尺寸参数化;mulberry32 随机状态随存档持久化 —— 关掉再开继续下,和一口气下完是同一盘棋(每日挑战靠它做到同一天同一副牌)。
  • 存档升级到 v2,并兼容读取 0.2.x 的 v1(旧最高分并入 4×4)。
  • 测试:规则/成就 31 项 + 外壳自检 6 项(模块加载、双槽位注册、中英文案对齐、清单字段)。

升级提示:remove_bundle → install_bundle,再刷新页面。旧棋盘会被升级读取,不会丢。

v0.2.1

Choose a tag to compare

@JJJACKsong JJJACKsong released this 05 Nov 09:03

Publish to npm as dsh-plugin-2048.

  • Install: dsh plugin --profile <profile> add dsh-plugin-2048
  • No code changes from 0.2.0; README install docs now lead with npm.

v0.2.0 · 结算小菜单(注意力惊人 / 注意力涣散)

Choose a tag to compare

@JJJACKsong JJJACKsong released this 03 Nov 18:27

新增:结算小菜单

  • 合出 2048 → 棋盘上弹卡片小菜单,大字「注意力惊人!」,给出本局得分与步数,
    按钮「继续玩」(接着往 4096 堆)与「开新局」。
  • 走到无路 → 弹「注意力涣散!」宣告这局结束,附本局得分 / 步数 / 最高分,
    按钮「再来一局」与「撤销」(把最后一手退回来接着救)。
  • 同一手既凑到 2048 又走不动时先报喜,菜单按终局给按钮。
  • 撤销回到尚未达成 2048 的状态后,再次达成会重新弹菜单。
  • 只覆盖棋盘的卡片式进出场,不是全屏弹窗;文案中英双语。

v0.1.0 · 侧边栏 2048

Choose a tag to compare

@JJJACKsong JJJACKsong released this 03 Nov 18:19

首个公开版本。

  • 侧边栏图标 sidebar.panellist + 主区整页棋盘 main(id/key 同为 dsh-2048)
  • 方向键 / WASD / HJKL / 触屏滑动;撤销 30 步;通关与终局浮层
  • 棋盘、分数、步数、最高分存 localStorage
  • 容器用 --dsw-alias-* 主题变量,跟随亮/暗色;棋子为固定暖色美术
  • Host 半空壳 apply():无 Service / Tool / 会话写入
  • 规则内核 24 项单测(含 600 局随机对局不变量)