LPAI 独立网页游戏 AI 社区指南

状态与数据

属性与状态

把可保存状态、派生结果、规则和表现分开设计。

状态与数据

只保存事实,不保存能重新计算的结果

属性保存金币、体力、章节、次数等权威状态。派生值交给组合属性,规则交给脚本,页面只读取快照。

# 状态契约

创建属性前回答:

问题 示例
它代表什么事实? 当前体力
单位和类型? 整数点数
初始值与范围? 10,范围 0…10
谁能修改? 探索和休息脚本
何时保存? 每次动作后进入玩家存档
玩家如何看到? 顶部状态栏与按钮禁用原因

名称不是充分契约。相同“时间”可能表示 Unix 时间、游戏秒数或倒计时剩余值。

# 四层分工

示例 规则
保存状态 当前体力、章节、当前位置 属性或动态字符串
派生状态 最大体力、战力、完成率 组合属性或只读脚本
状态变化 探索消耗、休息恢复 控件/事件脚本
状态表现 数字、进度条、禁用样式 渲染布局与特效

不要同时保存“当前生命、最大生命、生命百分比”和另一份页面缓存,除非每项都是独立业务事实。

# 纯 AI 实现流程

  1. 让 AI 查询同义属性和引用,先复用。
  2. 给出 ID 语义、初始值、范围和唯一写入入口。
  3. 让规则脚本使用 player.getProsetProaddPro
  4. 让渲染布局只读快照,禁止在渲染时写状态。
  5. 用调试存档测试边界和恢复。

提示词示例:

建立“体力”状态:初始 10,整数,范围 0..10。
只有探索脚本可扣除 2,休息脚本可恢复 4。
页面显示当前值/上限;不足时动作失败且不部分结算。
先查询现有属性和控件,不要猜 ID。

# 传统字段边界

打开传统模式文档后,可维护名称、别名、分类、图标、单位、默认值、上下限、自动增长和传统显示样式。脚本引用稳定 ID;改名、复制、导入和模块迁移后必须检查引用。

自动增长、公式和属性转化是传统配置手段,它们不能与脚本重复结算同一变化。

# 特殊状态

当前时间、真实离线时间、累计时间和随机值有各自读取语义,通常不是可任意覆盖的普通存档属性。需要多份同结构状态时使用类与对象;需要多行记录时使用表格。

# 验收

测试默认值、零值、上下限、非法数值、连续写入、重复动作、刷新、读取旧存档和离线回来。页面显示必须与 player.getPro 的权威值一致。

下一步:组合属性