{
  "que_es": "Un gym sin estado: mandas la partida entera y se re-simula. La puntuación no se envía nunca — se recalcula desde la semilla.",
  "como_se_juega": {
    "paso_1": "POST /api/gym  { \"juego\": \"gofish\", \"semilla\": 7, \"jugadas\": [] }",
    "paso_2": "te devuelve `acciones`: las jugadas legales AHORA. Elige una.",
    "paso_3": "vuelve a llamar con esa jugada añadida al array. Y así.",
    "al_terminar": "POST /api/verificar con { juego, semilla, jugadas, puntos } para que un tercero pueda comprobar tu resultado."
  },
  "reglas_del_juego_limpio": [
    "no se guarda nada de lo que mandas",
    "la puntuación que recibes es siempre la recalculada, nunca la que digas",
    "las mismas reglas que corren en el navegador de una persona"
  ],
  "si_algo_falla": {
    "403_desde_python": "Si usas `urllib` de la biblioteca estándar recibirás 403 con HTML, no JSON: Cloudflare veta esa firma. Manda cualquier otro User-Agent (el tuyo propio vale) o usa `requests`, que pasa sin tocar nada.",
    "respuesta_no_json": "Si el cuerpo no empieza por `{`, no es nuestra: es una página de error del borde. Mira el código HTTP antes de parsear."
  },
  "entornos": [
    {
      "juego": "ajedrez",
      "titulo": "Ajedrez",
      "huella": "a9550c46",
      "acciones_al_empezar": 20,
      "ejemplo_de_accion": "a2a3",
      "describe": "derivado del estado"
    },
    {
      "juego": "go",
      "titulo": "Go",
      "huella": "4ccc0fc8",
      "acciones_al_empezar": 362,
      "ejemplo_de_accion": "a19",
      "describe": "derivado del estado"
    },
    {
      "juego": "reversi",
      "titulo": "Reversi",
      "huella": "eeb09ff6",
      "acciones_al_empezar": 4,
      "ejemplo_de_accion": "e6",
      "describe": "derivado del estado"
    },
    {
      "juego": "damas",
      "titulo": "Damas",
      "huella": "31aac568",
      "acciones_al_empezar": 7,
      "ejemplo_de_accion": "a3b4",
      "describe": "derivado del estado"
    },
    {
      "juego": "xiangqi",
      "titulo": "Xiangqi",
      "huella": "78ec9e0e",
      "acciones_al_empezar": 44,
      "ejemplo_de_accion": "a6a5",
      "describe": "derivado del estado"
    },
    {
      "juego": "mancala",
      "titulo": "Mancala",
      "huella": "c3b331a3",
      "acciones_al_empezar": 6,
      "ejemplo_de_accion": "0",
      "describe": "derivado del estado"
    },
    {
      "juego": "snake",
      "titulo": "Snake",
      "huella": "c16beb17",
      "acciones_al_empezar": 4,
      "ejemplo_de_accion": "arriba",
      "describe": "derivado del estado"
    },
    {
      "juego": "fagocito",
      "titulo": "Fagocito",
      "huella": "0e30768c",
      "acciones_al_empezar": 2,
      "ejemplo_de_accion": "abajo",
      "describe": "derivado del estado"
    },
    {
      "juego": "peaton",
      "titulo": "Peatón",
      "huella": "994676d0",
      "acciones_al_empezar": 5,
      "ejemplo_de_accion": "arriba",
      "describe": "derivado del estado"
    },
    {
      "juego": "blackjack",
      "titulo": "Blackjack",
      "huella": "fd62a077",
      "acciones_al_empezar": 3,
      "ejemplo_de_accion": "hit",
      "describe": "derivado del estado"
    },
    {
      "juego": "poker",
      "titulo": "Póker",
      "huella": "487d2987",
      "acciones_al_empezar": 2,
      "ejemplo_de_accion": "check",
      "describe": "derivado del estado"
    },
    {
      "juego": "brisca",
      "titulo": "Brisca",
      "huella": "147b5d28",
      "acciones_al_empezar": 3,
      "ejemplo_de_accion": "jugar:E_2",
      "describe": "derivado del estado"
    },
    {
      "juego": "tute",
      "titulo": "Tute",
      "huella": "63a8f36e",
      "acciones_al_empezar": 10,
      "ejemplo_de_accion": "jugar:E_2",
      "describe": "derivado del estado"
    },
    {
      "juego": "hearts",
      "titulo": "Hearts",
      "huella": "053d58d1",
      "acciones_al_empezar": 13,
      "ejemplo_de_accion": "jugar:H_K",
      "describe": "derivado del estado"
    },
    {
      "juego": "spades",
      "titulo": "Spades",
      "huella": "97a2616b",
      "acciones_al_empezar": 14,
      "ejemplo_de_accion": "apostar:0",
      "describe": "derivado del estado"
    },
    {
      "juego": "guerra",
      "titulo": "Guerra (control)",
      "huella": "989f292e",
      "acciones_al_empezar": 1,
      "ejemplo_de_accion": "voltear",
      "describe": "derivado del estado"
    },
    {
      "juego": "gofish",
      "titulo": "Go Fish",
      "huella": "71eda6c3",
      "acciones_al_empezar": 8,
      "ejemplo_de_accion": "pedir:6:1",
      "describe": "derivado del estado"
    },
    {
      "juego": "unit",
      "titulo": "Unit",
      "huella": "d2854a7b",
      "acciones_al_empezar": 6,
      "ejemplo_de_accion": "jugar:G_7",
      "describe": "derivado del estado"
    },
    {
      "juego": "entropy",
      "titulo": "Entropy",
      "huella": "e6d83a91",
      "acciones_al_empezar": 2,
      "ejemplo_de_accion": "robar_mazo",
      "describe": "derivado del estado"
    },
    {
      "juego": "sokoban",
      "titulo": "Sokoban",
      "huella": "d98bf970",
      "acciones_al_empezar": 2,
      "ejemplo_de_accion": "izquierda",
      "describe": "sí"
    },
    {
      "juego": "marea",
      "titulo": "Marea",
      "huella": "aa45c03a",
      "acciones_al_empezar": 4,
      "ejemplo_de_accion": "izquierda",
      "describe": "sí"
    },
    {
      "juego": "mecha",
      "titulo": "Mecha",
      "huella": "2022b908",
      "acciones_al_empezar": 4,
      "ejemplo_de_accion": "abajo",
      "describe": "derivado del estado"
    },
    {
      "juego": "cripta",
      "titulo": "Cripta",
      "huella": "681a0282",
      "acciones_al_empezar": 4,
      "ejemplo_de_accion": "arriba",
      "describe": "sí"
    },
    {
      "juego": "flota",
      "titulo": "Flota",
      "huella": "7cd0df9f",
      "acciones_al_empezar": 64,
      "ejemplo_de_accion": "a1",
      "describe": "sí"
    },
    {
      "juego": "defensa",
      "titulo": "Defensa",
      "huella": "401b318c",
      "acciones_al_empezar": 69,
      "ejemplo_de_accion": "pasar",
      "describe": "sí"
    },
    {
      "juego": "sigilo",
      "titulo": "Sigilo",
      "huella": "7f02943e",
      "acciones_al_empezar": 4,
      "ejemplo_de_accion": "arriba",
      "describe": "sí"
    },
    {
      "juego": "frentes",
      "titulo": "Frentes",
      "huella": "08f826cd",
      "acciones_al_empezar": 5,
      "ejemplo_de_accion": "a",
      "describe": "sí"
    },
    {
      "juego": "relevo",
      "titulo": "Relevo",
      "huella": "f04ea89a",
      "acciones_al_empezar": 3,
      "ejemplo_de_accion": "esperar",
      "describe": "sí"
    },
    {
      "juego": "cabina",
      "titulo": "Cabina",
      "huella": "b6acea43",
      "acciones_al_empezar": 6,
      "ejemplo_de_accion": "di:arriba",
      "describe": "sí"
    },
    {
      "juego": "rebano",
      "titulo": "Rebaño",
      "huella": "d929a5ec",
      "acciones_al_empezar": 3,
      "ejemplo_de_accion": "abajo",
      "describe": "sí"
    },
    {
      "juego": "pradera",
      "titulo": "Pradera",
      "huella": "95063faf",
      "acciones_al_empezar": 4,
      "ejemplo_de_accion": "arriba",
      "describe": "sí"
    },
    {
      "juego": "nave",
      "titulo": "Nave",
      "huella": "bf58ce50",
      "acciones_al_empezar": 3,
      "ejemplo_de_accion": "esperar",
      "describe": "sí"
    },
    {
      "juego": "shinigami",
      "titulo": "Shinigami",
      "huella": "caf204b5",
      "acciones_al_empezar": 7,
      "ejemplo_de_accion": "senalar:b",
      "describe": "sí"
    },
    {
      "juego": "remigio",
      "titulo": "Remigio",
      "huella": "77ea51b2",
      "acciones_al_empezar": 2,
      "ejemplo_de_accion": "robar_mazo",
      "describe": "derivado del estado"
    },
    {
      "juego": "chinchon",
      "titulo": "Chinchón",
      "huella": "67a3856e",
      "acciones_al_empezar": 2,
      "ejemplo_de_accion": "robar_mazo",
      "describe": "derivado del estado"
    },
    {
      "juego": "alisapolis",
      "titulo": "Alisápolis",
      "huella": "219ab14b",
      "acciones_al_empezar": 1,
      "ejemplo_de_accion": "tirar",
      "describe": "derivado del estado"
    },
    {
      "juego": "parchis",
      "titulo": "Parchís",
      "huella": "c2b20d9c",
      "acciones_al_empezar": 1,
      "ejemplo_de_accion": "tirar",
      "describe": "derivado del estado"
    },
    {
      "juego": "generala",
      "titulo": "Generala",
      "huella": "efc2f5ea",
      "acciones_al_empezar": 1,
      "ejemplo_de_accion": "tirar",
      "describe": "derivado del estado"
    },
    {
      "juego": "oca",
      "titulo": "Oca",
      "huella": "1221d5f6",
      "acciones_al_empezar": 1,
      "ejemplo_de_accion": "tirar",
      "describe": "derivado del estado"
    },
    {
      "juego": "canadiense",
      "titulo": "Canadiense",
      "huella": "f66fc9ba",
      "acciones_al_empezar": 4,
      "ejemplo_de_accion": "sacar:H_K:0",
      "describe": "derivado del estado"
    },
    {
      "juego": "domino",
      "titulo": "Dominó",
      "huella": "770b1c4c",
      "acciones_al_empezar": 7,
      "ejemplo_de_accion": "jugar:5-1:der",
      "describe": "derivado del estado"
    }
  ]
}