player README

The project's README from github.com/lili0926/player. As one markdown file: README.md.

飞行棋 · 和机一起玩

九个版本的双人飞行棋。功能页选版本、总览棋盘;聊天弹窗里掷骰走格;可最小化成浮窗。


文件

文件 对应什么 说明
index.html 功能页 选版本、看整盘、看进度、保存;点「在聊天里玩」进入弹窗
flight-chess-popup.html 聊天弹窗 掷骰、事件提示、保存 / — 最小化 / × 关闭
float-window.js 浮窗模块 弹窗最小化后的可拖动胶囊,点一下恢复弹窗
README.md 说明 本文件

预览时三个文件放同一目录。功能页看棋盘请打开 index.html;测最小化请打开 flight-chess-popup.html(不要只开 index 找浮窗)。


九个版本

key 名称
foreplay 前戏版
maid 女仆版
couple 情侣版
private_adv 私密进阶版
sm SM版
butler 男仆版
love 恋爱版
private 私密版
advanced 高级版

规则

  1. 停下才生效:只有棋子停在格子上才触发内容;路过不触发。
  2. 后进 / 退回:停在「后进 X 格」会实际后退;「退回到 N 格」会跳到第 N 格。
  3. 谁接受格子内容:
    • 女仆版 / SM版:无论谁停 → **你(女方)**接受
    • 男仆版:无论谁停 → **小机(男方)**接受
    • 其他版本:谁停谁接受
  4. 互相 / 一起 / 双方:按字面双方一起完成,不要理解成「两个人各受一次惩罚」。
  5. 回合:你的回合在弹窗点「我投掷」;小机回合点「到你了」,或对机说「到你了」后由前端调用 API 自动掷骰并注入提示词。

使用流程(预览)

打开 index.html
  → 选版本、看棋盘
  → 保存进度(可选)
  → 点「在聊天里玩」
       ↓
flight-chess-popup.html
  → 掷骰 / 看事件
  → 点「—」最小化 → 右下角浮窗「飞行棋进行中」
  → 点浮窗 → 恢复弹窗
  → 点「×」关闭(预览会回功能页)

进度读写共用 localStorage:


给前端 / 机的接口

在已加载游戏脚本的页面里:

推荐:用户说「到你了」时只调一个方法

const result = window.flightChessHandleYourTurn()
if (result.ok) {
  // result.dice
  // result.event         { lander, receiver, pos, text, roundsLeft, ... }
  // result.injectPrompt  直接塞进系统提示词
  sendToAI({ systemAppend: result.injectPrompt })
}

injectPrompt 会标明:骰子已掷完、谁停的、谁接受(或互相格)、格子原文;并禁止模型再讨论掷骰。

其他 API

window.flightChessAiRoll()              // 仅机回合掷骰,返回 event
window.flightChessGetLastEvent()        // 取事件(每取一次 roundsLeft-1,最多约 2 轮)
window.flightChessBuildInjectPrompt(ev) // 手动生成注入文本

机提示词可加一句

当系统提示中出现【飞行棋事件 · 已自动掷完】时:视为骰子已掷完、格子已生效,直接按格子内容完成,禁止再提出掷骰或写掷骰代码。格子含「互相/一起」时双方一起做,不要改成双份单人惩罚。


浮窗模块(float-window.js)

仅聊天弹窗需要。功能页不显示浮窗。

<script src="float-window.js"></script>
<div class="float-bar" id="floatBar" style="display:none">
  <span data-float-restore>飞行棋进行中</span>
  <span data-float-pos></span>
</div>
<script>
  FlightFloat.init({ onRestore: function () { /* 恢复弹窗 */ } })
  FlightFloat.show()
  FlightFloat.hide()
  FlightFloat.setPosText('你2 · 机1')
</script>

初始化时会强制 inline-flex + 横向排布,避免被全局 button { flex:1 } 拉成竖条。


接入 App(beilyes)时的对应关系

Player 文件 App 内
index.html 功能区 → 飞行棋子页(总览)
flight-chess-popup.html 聊天层 flightChessOpen 弹窗
float-window.js 弹窗最小化胶囊

App 内逻辑以 beilyes 前端为准;本仓库是可单独预览、可分享的轻量实现。


快速打开

浏览器直接打开 index.html 即可。
若弹窗最小化后浮窗不出现:确认 float-window.js 与 flight-chess-popup.html 同目录,并硬刷新清缓存。

player (lili0926/player)

Searching Database…

180 ·GitHub
这是什么?这是一个双人飞行棋(Ludo 类)桌游,包含九个成人主题版本(女仆、情侣、SM、管家等),既可以作为独立网页游玩,也可以在聊天式弹窗中与能自动掷骰子并对棋盘做出反应的 AI 伴侣(「机」)一起玩。
它是独立网页,还是需要某个应用才能运行?这是一个由三个文件组成的纯 HTML/CSS/JavaScript 网页应用——一个棋盘总览页、一个聊天弹窗版游戏和一个悬浮气泡辅助脚本——无需构建步骤。
这个怎么运行?把三个文件下载到同一文件夹,直接在浏览器中打开 index.html 即可查看完整棋盘并选择版本;或打开 flight-chess-popup.html,以聊天弹窗方式游玩并使用最小化为气泡的功能。
使用它需要 Node、服务器或任何构建工具吗?不需要。它是纯 HTML、CSS 和 JavaScript,直接在浏览器中运行,不需要 package.json、构建工具或服务器。
如果最小化后悬浮气泡没有出现,是哪里出了问题?最小化后的悬浮气泡只会出现在 flight-chess-popup.html 中,不会出现在 index.html 中,而且需要 float-window.js 位于同一目录;否则需要进行强制刷新以清除缓存。
棋子落在「后退」格上时会发生什么?只有落在格子上才会触发效果,经过不算:「后退 X 格」格子会真的把棋子往回移 X 格,而「返回第 N 格」格子会把棋子直接跳到第 N 格。
在女仆、管家这类版本中,谁要照做格子上的内容?这取决于版本:女仆版和 SM 版的内容总是落在女方身上,管家版总是落在男方(「机」)身上,其余六个版本则由落在该格子的人执行。
九个可玩版本分别是哪些?前戏、女仆、情侣、私密进阶、SM、管家、恋爱、私密和进阶——每个版本都在同一张棋盘上换用不同的主题棋盘事件。
它和「beilyes」应用是什么关系?这个仓库是 beilyes 应用内所用棋盘的独立可分享副本:index.html 对应它的总览页,flight-chess-popup.html 对应它的聊天层对话框,float-window.js 对应它的最小化聊天气泡。
Creator
lili0926
Size
0.2 MB
Stars
180
Updated
CommitAug 20
Age
2mo
Commits · 90 Days