# Juicy Journey · 杯子泡泡射击

参考：Tasty Travels_ Merge Game-720 X 1280-2026-10-02-2f12e84002c4d7d464f8554f1892afef.mp4，720 × 1280，约 60.07 秒。

这是新增的独立样本，原有九个试玩保持独立。打开 index.html 即可离线游玩。

## 操作

- 在木桥上按住并拖动瞄准，松开发射。瞄准线显示落点与墙壁反弹路径。
- 点击底部发射圈或 SWAP，在当前杯子与另外两杯之间循环切换；只换杯子，不发射。
- 每次消除与悬空掉落后，立即自动舍弃当前杯子和两杯备选中已从盘面消失的颜色，保留有效杯子的先后顺序，再补入盘面仍有的颜色。正在掉落的杯子不算在场杯子，不需要浪费一次射击来清理无效颜色。全部清空后，发射杯和备选杯也一并清空。
- 同色杯子通过六边形邻接连成至少三个时，整组消除。只有一杯或两杯时保留在盘面。
- 被消除组断开连接的杯子会掉落，弹起、滚动并沿木桥向画面前方散落；仍与远端相连的杯子保留。
- 近处清空后，后方盘面沿桥向前移动，可继续处理后面的图案。
- 错色杯子会留在盘面。堆到发射区域时出现 Bridge Full!，点击 RETRY 重试。
- HINT 提示目前三杯中的射击位置，不直接消除；没有现成同色落点时，会提示先放置杯子来形成匹配。AUTO PLAY 优先匹配消除，当前三杯颜色被挡住时选择合法且空间较足的落点继续发射，不会悄悄停止。后续补杯优先采用沿实际射击路线能接触到的盘面颜色。再次点击 AUTO PLAY 可停止，拖动可接管。
- 全部杯子清空后显示 Good Job!，保持最终画面，只有手动 RETRY 才重开。没有其他试玩的跳转。
- 电脑支持左右方向键调整角度，空格或回车发射，S 切换杯子。

## 画面

木桥、海水、斜撑栏杆和杯子通过 Canvas 重新绘制。杯子采用带渐变、杯口内壁、亮边和地面阴影的 2.5D 图形，所有颜色共用相同尺寸，并随桥面距离连续缩放。

盘面包含 24 列、94 排，共 2,256 个初始杯子，采用红心、粉色轮廓、黄色外围，以及蓝白菱形/折线图案。图案和长盘面参考视频重新设计，未提取原作杯子模型或广告结尾图；盘面不保证逐格与原片完全相同。

视频能看到同色成组消除、悬空掉落、切换杯子和连续射击。至少三杯、远端连接判定、射击速度与推进距离是本试玩的实现参数，无法仅从视频读取原作内部数值。

## 音乐与体积

- 沿用用户提供的 Ever So Blue - Onthou，前 30 秒，MP3 128 kbps，循环播放。
- 默认关闭声音。声音开关同时控制配乐与射击反馈；重试不叠加配乐，页面隐藏时暂停。
- 图片商标已压缩；杯子与场景由代码绘制，不需要大量外部图片。
- 配乐、商标、绘制与玩法代码全部内嵌单个 HTML，离线可用，严格低于 5,000,000 字节。具体体积见合集清单。

## 验证

- 390 × 844、320 × 568 竖屏和 1280 × 720、667 × 375 横屏：按钮、画布和状态栏在屏幕内。
- 实际触摸拖动、松开射击、取消操作与点击切换通过。
- 最后一种颜色消失后，发射位和全部备选立即去除该颜色，不增加射击次数；切换与发射也会拦截过期颜色。
- 两杯不会误消除；第三杯加入后才消除同色相连组。
- 蓝色连接被切断时，仅三杯已失去支撑的白杯掉落，仍连接远端的红色列保留。
- 正常射击缩放、杯子向前散落、杯子数量守恒与失败重试通过。
- 复现橙色被其他杯子挡住、三杯备选全为橙色的情况：没有现成同色落点时仍会实际发射，并继续清空。12 组确定的随机出杯序列均完整清空，自动演示没有无提示停顿。
- 自动演示清空完整盘面；Good Job! 不自行重试，最终画布保持不变。
- 声音开关、真实音频波形与重试不重复播放检查通过。

## 文件

- index.html：单文件试玩。
- assets/onthou-loop.mp3：内嵌配乐备份。
- source/：模板、玩法、构建、检查与打包来源。
- checks.json：玩法与声音检查结果。
- ASSET-NOTES.md：美术来源与实现说明。
- preview-mobile.png、preview-landscape.png：横竖屏预览。

[返回试玩合集](../index.html)
