梨起司-胡闹象棋 · 独立离线版
====================

一、这个包是什么

解压后用完整浏览器打开 li-qisi-offline.html。棋子、棋盘、棋规、动画和电脑搜索都在这一个文件里，不需要安装 Godot、Python、Node，也不需要连接 Ubuntu。不要只打开聊天软件中的文件预览。

可选择：人机对弈、双人同屏、双机直连。人机对手名为“三文鱼”，默认思考预算1.5秒，也可选0.5秒或3秒。实际速度和完成搜索深度取决于设备；它是浏览器本地搜索，并非云端AI。后台计算不占用界面线程。

二、两台设备怎样互联

两边先下载并打开同一版文件，然后连同一个可互通的Wi-Fi；也可一台设备开热点，另一台连接。Wi-Fi/热点不必能访问互联网。路由器/热点必须允许设备之间通信；访客网络、AP隔离或浏览器的局域网限制可能阻止连接。

一方选择“双机直连”并创建连接码，把连接码复制或保存成文件传给对方。另一方导入连接码，生成回应码，再把回应码传回创建方。创建方导入回应码，等双方显示连接成功后走棋。连接码不是服务器房间ID，也不是需要背下来的短密码，必须完整复制；可以用本地文件分享工具传递。

棋局数据随后在两台设备间直接发送。软件未配置STUN/TURN服务器，不请求摄像头或麦克风权限。连接码可能包含设备网络地址和临时连接信息，只发送给一起对弈的人。

完全关闭所有网络接口后，两台设备没有通信路径，无法继续直连；保持Wi-Fi或热点打开即可。不同家庭Wi-Fi、蜂窝网络等跨网环境不能保证无需中转直连，远程对弈仍使用网页版服务器房间。

三、手机与电脑打开方式

电脑：解压，使用Chrome或Edge等完整浏览器打开HTML。文件移到另一文件夹后仍可运行。

安卓：解压并选择“用浏览器打开”，实际可用性取决于浏览器是否允许本地HTML执行JavaScript和创建WebRTC连接。聊天软件预览、系统HTML预览器不等同于浏览器；看到静态页面但按钮不动时，换用完整浏览器打开。

iPhone/iPad：当前交付是HTML文件，不是已签名的iOS安装包。不能保证“文件”里的预览能运行游戏，也不能把手机尺寸仿真当成实体Safari验收。手机系统确定后需要选择适合的本地打开或安装方式；本包不声称已经解决所有iOS文件预览限制。

四、棋局和动画

双方都有非王棋子的八邻格交换及八方向王车易位。王不能参与相邻交换，先选王或先选伙伴都不行；其他棋子的交换、王的普通移动和王车易位保留。王朝车方向到第二格，车到第一格；第一格可吃敌方非王棋子，第二格必须原本为空，最终王要安全。合法目标仍用原绿色四角三角标；普通走法保留圆点和吃子环。

普通走子、交换交叉弧线、车整圈旋转、吃子、升变以及棋谱正反回看沿用手机版界面。回看不改变对方的实际棋局。双机模式悔棋/和棋/再来一局需要对方同意；人机悔棋退回上一次由你选择的局面。连接中断时暂不允许走棋，不自动判负。

落子后原有的黄色扩散光圈已去掉，上一步格子标记仍保留；将军时显示更明显的红光。落子声默认开启，首页和对局下方均可关闭。声音由浏览器本地合成，无需下载音频；第一次点击后解锁，确认落子或单步回放结束时响一次。手机静音、设备音量及浏览器的声音策略可能影响听感。

本地棋局可使用界面中的导出/导入保存为文件。浏览器是否允许localStorage各不相同，重要棋局请手工导出。移动HTML文件或清理浏览器数据可能影响浏览器自动保存，但不会删除另存的棋谱文件。

当前棋规为v3“王不参与交换”。旧v2棋谱会按原规则校验后尝试迁移；包含王交换或其他新规冲突的记录不能继续，导入失败不会覆盖当前棋局，请保留原文件。双机直连时双方都应使用这一版离线文件，旧连接码需要重新生成。

五、交付与验证

manifest.json记录HTML与源码、美术的SHA-256。程序源码在原项目 web/li_qisi/static/；导出器为 web/li_qisi/deploy/build_offline.py。离线包不包含服务器数据库、账户或SSH连接配置。

本次实际验证：Edge浏览器直接打开file://单HTML，在阻止HTTP/WebSocket请求时完成人机、思考中取消、悔棋、同屏、棋局文件导入/导出；两个独立浏览器会话使用真实WebRTC数据通道完成连接码向导、双方走棋、交换、协商悔棋与断连锁定，双方候选类型均为host，未使用中继。移动布局检查覆盖320/390/430像素宽度。这是浏览器真实执行和触屏仿真，不是两台实体手机或Safari/iOS认证。

本次v3规则与Godot对照480个局面、10705个走子后继、115个索和后继；本地AI有13项专项检查，会话、原生规则适配和旧棋谱迁移有114项检查。新版单HTML额外通过7组真实点选检查，确认双方王的两个选择顺序均不能交换、其他棋子交换及两类王车易位保留。详细结果保存在原项目web/li_qisi/tests、tests/li_qisi/king_swap_results及.tmp_validation/li_qisi_no_king_swap中。此前双机RTC与声音检查的范围仍按相应历史记录，不把本次点选回归当作实体手机认证。
