Une interface reproductible exécutée sur votre appareil. Les outils visibles utilisent le même code.
JSON Schema · v1 · JSON examples · JSON result · ES module
Utilisation
Importez le module ES public dans le navigateur, ou téléchargez api.mjs, generators.mjs et locales.mjs ensemble pour un environnement JavaScript avec Intl.Segmenter. Aucune clé, aucun compte, aucune IA payante ni requête serveur ne sont nécessaires pour générer un jeu.
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);Entrées et sortie
tool : bingo, tombala, word-search ou cards. language : en, es, ar, pt, zh ou fr. seed : 1 à 64 caractères. settings : réglages facultatifs ; voir le schéma et les exemples. Les nombres peuvent être des nombres JSON ; les booléens doivent être true/false. Les valeurs initiales sont traduites. La sortie contient réglages, identifiant et pack : cards/caller ou grid/placements/words. r et c commencent à zéro ; dr et dc sont les déplacements de ligne et colonne. GameError expose code et data. Une entrée invalide échoue sans omettre de mots.
Reproductibilité et liens stables
Le même code v1, la même graine, langue et les mêmes réglages donnent le même résultat. Conservez la version et les entrées ; une version future peut différer. Les liens acceptent seed et les réglages simples. Les mots personnels ne doivent pas figurer dans l’URL. Utilisez un fichier JSON pour le contenu personnel. Les limites sont celles du formulaire.
Export PDF local
Dans le navigateur, importez createPDF de /assets/pdf.mjs et locales de /assets/locales.mjs. Passez {pack:result.pack, current:{...result.settings,id:result.id}, tool:result.tool,t:locales[result.language]}, puis appelez doc.save("games.pdf"). Le code et les polices sont chargés depuis ce site à la demande. Aucun contenu du jeu n’est envoyé. L’impression et le PDF présentent les mêmes données.
Tous les jeux à imprimer
Le même appel generate() couvre tous les jeux du site. Lisez tools pour la liste, fields(tool) pour les réglages d’un jeu et text(tool, language) pour ses libellés. Pour tous les jeux sauf les quatre générateurs d’origine, layout(result) renvoie des pages vectorielles en millimètres et toSVG(page) en dessine une au format 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 catalogue lisible par machine de tous les jeux, avec leurs catégories, régions et pages en six langues, se trouve à /api/games.json. Les guides en texte brut destinés aux modèles de langage sont disponibles à /llms.txt et /llms-full.txt, et chaque page renvoie, dans son en-tête, vers une version Markdown (index.md).


