Una interfaz reproducible que funciona en tu dispositivo. Los generadores visibles usan el mismo código.
JSON Schema · v1 · JSON examples · JSON result · ES module
Cómo usarla
Importa el módulo ES público en el navegador o descarga juntos api.mjs, generators.mjs y locales.mjs para un entorno JavaScript con Intl.Segmenter. Generar juegos no requiere clave, cuenta, IA de pago ni peticiones al servidor.
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);Entrada y salida
tool: bingo, tombala, word-search o cards. language: en, es, ar, pt, zh o fr. seed: de 1 a 64 caracteres. settings: ajustes opcionales; consulta el esquema y los ejemplos. Los números pueden ser números JSON; los booleanos deben ser true/false. Los valores iniciales están traducidos. El resultado incluye ajustes, identificador y pack: cards/caller o grid/placements/words. r y c empiezan en cero; dr y dc son pasos de fila y columna. GameError expone code y data. Los datos inválidos fallan sin omitir palabras.
Reproducibilidad y enlaces estables
El mismo código v1, semilla, idioma y ajustes producen el mismo resultado. Guarda la versión y las entradas; versiones futuras pueden variar. Los enlaces aceptan seed y controles simples. Las palabras personalizadas no necesitan aparecer en la URL. Usa archivos JSON para el contenido propio. Se aplican los mismos límites que al formulario.
Exportación local de PDF
En el navegador, importa createPDF de /assets/pdf.mjs y locales de /assets/locales.mjs. Pasa {pack:result.pack, current:{...result.settings,id:result.id}, tool:result.tool,t:locales[result.language]} y llama a doc.save("games.pdf"). El código y las fuentes se cargan de este sitio bajo demanda. No se envía contenido del juego. La impresión y el PDF presentan los mismos datos.
Todos los juegos imprimibles
La misma llamada generate() sirve para todos los juegos del sitio. Lee tools para la lista, fields(tool) para los ajustes de un juego y text(tool, language) para sus etiquetas. Para todos los juegos excepto los cuatro generadores originales, layout(result) devuelve páginas vectoriales en milímetros y toSVG(page) dibuja una de ellas como SVG.
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
import {tools, fields, generate, layout, toSVG} from '/assets/api.mjs';
const result = generate({tool: 'sudoku', language: 'fr', seed: 'demo', settings: {size: 9, difficulty: 'hard'}});
const pages = layout(result); // [{w, h, items}] in millimetres
document.body.innerHTML = toSVG(pages[0]);Un catálogo legible por máquinas de todos los juegos, con sus categorías, regiones y páginas en seis idiomas, está en /api/games.json. Las guías en texto plano para modelos de lenguaje están en /llms.txt y /llms-full.txt, y cada página enlaza una versión en Markdown (index.md) desde su cabecera.


