Barajar una baraja con semilla
Este barajador de cartas con semilla convierte un entero en un orden exacto de las 52 cartas de una baraja estándar.
Ejecutar — gratis
Si utiliza de nuevo la misma semilla, recibirá el mismo orden, lo que facilita revisar y compartir simulaciones, pruebas, ejercicios y partidas reproducibles. El resultado usa códigos compactos de valor y palo, contiene cada carta una sola vez y se genera sin red, hora actual ni aleatoriedad oculta. Semillas distintas producen normalmente órdenes distintos, pero conservan la construcción y el procedimiento documentados.
Cree una mezcla repetible con un solo entero
Indique un entero en el campo <code>seed</code>. La capacidad construye primero una baraja estándar de 52 cartas en un orden canónico fijo: picas, corazones, diamantes y tréboles, y cada palo desde el as hasta el rey. Después aplica una secuencia seudoaleatoria sembrada a una mezcla de Fisher-Yates. Como todas las entradas del proceso son fijas, el orden resultante también lo es. La semilla 42 produce hoy exactamente la misma respuesta que la semilla 42 en otra solicitud, entorno o prueba. Esa repetibilidad es la finalidad principal de la herramienta. Permite incluir una baraja mezclada en una prueba sin guardar 52 valores, distribuir un ejercicio común o registrar la semilla necesaria para reconstruir un reparto inicial. La respuesta también devuelve la semilla para que los resultados guardados se expliquen por sí solos. Solo se aceptan enteros JSON seguros; se rechazan decimales, cadenas numéricas, valores ausentes, infinitos y enteros fuera del rango exacto de JavaScript, sin redondearlos ni reinterpretarlos silenciosamente.
Interprete correctamente el orden devuelto
El arreglo <code>deck</code> contiene exactamente 52 cadenas únicas en orden de extracción. Cada cadena une un valor con un código de palo de una letra. Los valores son <code>A</code>, del <code>2</code> al <code>10</code>, <code>J</code>, <code>Q</code> y <code>K</code>. Los palos son <code>S</code> para picas, <code>H</code> para corazones, <code>D</code> para diamantes y <code>C</code> para tréboles. Por tanto, <code>AS</code> representa el as de picas y <code>10D</code> el diez de diamantes. El primer elemento es la carta superior; después aparecen la segunda carta que se roba y las siguientes. La capacidad no reparte manos, añade comodines, clasifica jugadas de póquer ni modifica el orden tras devolverlo. Esas decisiones corresponden a la aplicación que la llama. Para repartir cinco cartas a cuatro jugadores, por ejemplo, consuma las primeras veinte entradas según el patrón elegido. Una salida primitiva y explícita evita imponer reglas de mesa y permite copiar, comparar, serializar o enviar fácilmente la permutación completa a un simulador.
Utilice la mezcla determinista con responsabilidad
Una mezcla determinista está pensada para reproducirse, no para mantener secretos. Quien conozca la semilla y el algoritmo puede reconstruir la baraja completa; por eso resulta adecuada para pruebas, demostraciones, simulaciones, rompecabezas con semillas publicadas y juegos donde importa más repetir que ocultar. No debe utilizarse para apuestas, premios, decisiones de seguridad ni situaciones en las que anticipar cartas dé ventaja. En esos casos, emplee una fuente aleatoria criptográficamente segura y mantenga su estado confidencial. Dentro del uso previsto, una semilla simplifica mucho la depuración: inclúyala en el informe de una prueba fallida, repita localmente el mismo reparto y compare el comportamiento carta por carta. También puede ejecutar lotes con semillas consecutivas para obtener situaciones estables sin almacenar grandes archivos de datos en el repositorio. La implementación no usa red, reloj, estado global mutable, <code>Math.random</code> ni datos externos. Su definición fija de la baraja y sus 51 intercambios acotados facilitan auditar tanto el tiempo de ejecución como la salida.
Qué puede hacer con ella
Reproducir un fallo de una partida
Guarde la semilla con el informe del fallo y reconstruya la misma baraja inicial al depurar el reparto o la puntuación.
Crear datos de prueba estables
Genere órdenes mezclados realistas que no cambien entre ejecuciones locales y entornos de integración continua.
Compartir una simulación didáctica
Entregue la misma semilla a cada participante para que los ejercicios de probabilidad comiencen con una baraja idéntica.
Preguntas frecuentes
¿Cuánto cuesta una solicitud?
El precio de la API es $0.002 por solicitud; la misma mezcla determinista puede ejecutarse gratis en el navegador.
¿La misma semilla devuelve siempre la misma baraja?
Sí. La construcción, el generador seudoaleatorio y los pasos de mezcla son fijos, por lo que una semilla aceptada reproduce el mismo orden.
¿Qué cartas se incluyen?
El resultado contiene las 52 cartas estándar de picas, corazones, diamantes y tréboles, sin comodines.
¿Por qué se rechazó mi semilla?
Debe ser un entero JSON dentro del rango seguro exacto. Los decimales, cadenas, valores ausentes y enteros excesivamente grandes no son válidos.
¿Sirve esta mezcla para apuestas o seguridad?
No. Es reproducible de forma intencionada y, por tanto, predecible para quien conozca la semilla y el algoritmo.
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/game/card-deck-shuffle-seeded \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"seed":42}'const res = await fetch("https://api.kit.forhosting.com/game/card-deck-shuffle-seeded", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"seed": 42
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/game/card-deck-shuffle-seeded",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"seed": 42
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/game/card-deck-shuffle-seeded", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"seed":42}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"seed":42}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/game/card-deck-shuffle-seeded", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"seed": 42
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "game.card_deck_shuffle_seeded",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |