# 供开发者和智能体使用

> 可在你的设备上运行的确定性接口。网页生成器调用的正是这套代码。

[JSON Schema · v1](https://paperoom.yunusemrevurgun.com/api/schema.json) · [JSON examples](https://paperoom.yunusemrevurgun.com/api/examples.json) · [JSON result](https://paperoom.yunusemrevurgun.com/api/sample-word-search.json) · [ES module](https://paperoom.yunusemrevurgun.com/assets/api.mjs)

## 使用方法

在浏览器中导入公开的 ES 模块，或一起下载 api.mjs、generators.mjs 和 locales.mjs，在支持 Intl.Segmenter 的 JavaScript 环境中使用。生成游戏无需密钥、账号、付费人工智能或服务器请求。

```js
import {generate} from '/assets/api.mjs';
const result = generate({
  tool: 'word-search', language: 'en', seed: 'garden-42',
  settings: {text: 'GARDEN\nFLOWER\nTREE', size: 12,
    difficulty: 'easy', includeKey: true}
});
console.log(result.pack.grid, result.pack.placements);
```

## 输入与输出

tool：bingo、tombala、word-search 或 cards。language：en、es、ar、pt、zh 或 fr。seed：1–64 个字符。settings：可选设置，详见模式和示例。数字可使用 JSON 数字；布尔值必须为 true/false。默认内容按语言提供。结果包含设置、固定编号和 pack：cards/caller 或 grid/placements/words。r、c 从零开始；dr、dc 是行列方向步长。GameError 提供 code、data。无效输入会报错，不会悄悄删去词语。

## 可重复性与稳定链接

相同 v1 代码、种子、语言和设置会产生相同结果。请保存版本和输入；未来算法版本可能改变结果。链接只接受 seed 和简单设置。自定义词语无需放入网址，可使用 JSON 设置文件。接口与表单使用相同限制。

[BINGO · seed=paperoom-demo](https://paperoom.yunusemrevurgun.com/zh/bingo/?mode=75&count=8&seed=paperoom-demo)

## 本地导出 PDF

在浏览器中，从 /assets/pdf.mjs 导入 createPDF，从 /assets/locales.mjs 导入 locales。传入 {pack:result.pack, current:{...result.settings,id:result.id}, tool:result.tool,t:locales[result.language]}，再调用 doc.save("games.pdf")。所需代码和字体按需从本站下载，不会发送游戏内容。打印与 PDF 使用同一套数据，分别排版。

## 全部可打印游戏

同一个 generate() 调用涵盖网站上的每一款游戏。tools 列出全部游戏，fields(tool) 返回某款游戏的设置，text(tool, language) 返回其标签。除最初的四个生成器外，所有游戏的 layout(result) 都会以毫米为单位返回矢量页面，toSVG(page) 可将其中一页绘制为 SVG。

所有游戏的机器可读目录，包括分类、地区以及六种语言的页面，位于 /api/games.json。面向语言模型的纯文本指南位于 /llms.txt 和 /llms-full.txt，每个页面的头部都链接到 Markdown 版本（index.md）。

`tool`: `bingo`, `tombala`, `word-search`, `cards`, `alquerque`, `battleship`, `bulls-and-cows`, `checkers`, `crossword`, `dice-scores`, `dominoes`, `dots-and-boxes`, `exquisite-corpse`, `fortune-teller`, `gomoku`, `goose`, `hangman`, `hex`, `letter-grid`, `loteria`, `ludo`, `mancala`, `maze`, `memory`, `nine-mens-morris`, `nonogram`, `paper-dice`, `paper-soccer`, `raffle-tickets`, `royal-ur`, `scavenger-hunt`, `score-sheets`, `secret-code`, `snakes-and-ladders`, `stop`, `sudoku`, `telephone`, `tic-tac-toe`, `word-scramble`, `xiangqi`

```js
import {generate,layout,toSVG} from 'https://paperoom.yunusemrevurgun.com/assets/api.mjs';
const result=generate({tool:'sudoku',language:'zh',seed:'demo',settings:{size:9,difficulty:'easy'}});
const svg=layout(result).map(toSVG); // vector pages, millimetres
```

---
Languages: [English](https://paperoom.yunusemrevurgun.com/developers/index.md) · [Español](https://paperoom.yunusemrevurgun.com/es/developers/index.md) · [العربية](https://paperoom.yunusemrevurgun.com/ar/developers/index.md) · [Português](https://paperoom.yunusemrevurgun.com/pt/developers/index.md) · [中文](https://paperoom.yunusemrevurgun.com/zh/developers/index.md) · [Français](https://paperoom.yunusemrevurgun.com/fr/developers/index.md)
Page: https://paperoom.yunusemrevurgun.com/zh/developers/ · Paperoom by Yunus Emre Vurgun · https://paperoom.yunusemrevurgun.com/llms.txt
