SuperAPI AI 工具集

game-rules-engine

编程与开发

查看项目

更新于 10-18 19:02

技能介绍

Game Rules Engine 是一个用于构建游戏规则引擎的技能,其核心目标是将游戏规则实现为纯函数、确定性的 TypeScript 模块,遵循统一的游戏契约。相同种子与移动序列在 iOS、Android、Jest 和 Node 上产生完全相同的状态,从而使机器人、求解器、存档、撤销、回放和每日关卡都能信任该引擎。

主要能力包括:提供核心工具包(契约类型、难度刻度、测试辅助),一个完整的示例游戏(Lights Out)以及一个运行规则检查的校验脚本。引擎函数采用纯函数设计,位于 src/games/<game-id>/rules/ 下,每个文件对应一个函数(create、listMoves、applyMove、outcome 等),只允许导入 src/core 和该游戏自身的 rules、levels、geom 目录,避免引入 React Native、store 或应用层依赖。

确定性策略要求规则仅使用 + - * /、%、位运算及 Math.sqrt/imul/floor/round/abs/min/max/PI,禁止使用 Math.random、Date、performance.now、Intl 等,以保证跨平台回放一致。所有随机性来自 src/core/rng/sfc32.ts,以 RngState 形式在状态中传递;种子与黄金值固定不变,例如 seedRng(1) 依次产生 1828152527、3394835397、2967886022、2251045104、4148684523,hashSeed('tasks:2026-09-26') 为 2847463752。难度统一为 0..100 的整数刻度,100 表示无尽模式。

使用方式上,技能提供详细的工作流程:先分类并规划游戏规则,安装工具包(需在根 devDependencies 中精确锁定 fast-check 版本,例如 npm install -D -E fast-check@4.10.2),复制规则模板并替换占位符,将模板中命名的国际化键添加到所有语言目录,采用测试先行的方式编写规则测试,组装引擎与模块,最后运行格式、lint、类型检查和覆盖率达到 95/95/95/90 的测试,并使用 checker 脚本验证直至输出 RESULT: PASS。

适用场景包括开发回合制、模拟后回放或实时类游戏规则,实现撤销、提示、继续、无尽模式、每日关卡和排行榜计分等功能。限制方面,资料未提供该技能的具体安装方式、依赖环境版本、平台兼容性细节或收费信息,这些内容暂未提供。