Interprete el control de tiempo de ajedrez y su duración
Los controles de tiempo como 90+30 reúnen dos ajustes esenciales del reloj: los minutos iniciales de cada jugador y los segundos añadidos tras cada jugada.
Ejecutar — gratis
Esta calculadora separa ambos valores y estima el tiempo máximo disponible entre los dos jugadores para un número indicado de jugadas completas. Puede usarla para planificar rondas, comparar ritmos, documentar un torneo o comprobar la notación antes de introducirla en un programa de emparejamientos o en un horario publicado.
Lea correctamente la notación de base más incremento
Un control escrito como 90+30 significa que cada jugador comienza con 90 minutos y recibe 30 segundos adicionales al completar cada jugada. Aquí, el valor anterior al signo más siempre se interpreta como minutos enteros y el posterior como segundos enteros. Introduzca la notación sin espacios, palabras, decimales ni fases adicionales. La herramienta admite deliberadamente una única forma inequívoca en vez de adivinar el significado de una entrada imprecisa. Así, 5+3, 15+10 y 90+30 tienen un sentido definido, mientras que una etiqueta como «rápidas 15» o un control por fases exige reglas que la cadena no contiene. La respuesta repite la notación y expone por separado base_minutes e increment_seconds, lo que facilita validar, guardar o reutilizar los datos. Si la cadena está mal formada, recibirá un error de entrada y no una interpretación aparentemente válida pero incorrecta.
Comprenda el cálculo de la duración máxima
La estimación considera ambos relojes. Primero se duplica el tiempo inicial, porque tanto las blancas como las negras reciben los minutos indicados. Después, el incremento se multiplica por el número de jugadas solicitado y vuelve a duplicarse, pues una jugada completa incluye un movimiento de cada jugador. Con 40 jugadas, un control 90+30 incluye dos asignaciones iniciales y hasta 80 incrementos. El resultado se entrega en segundos, para cálculos exactos, y en minutos, para una lectura cómoda. Es un máximo basado en el tiempo asignado, no una predicción de la permanencia real ante el tablero. La partida puede terminar antes, los jugadores pueden mover sin agotar su tiempo y las pausas organizativas pueden alargar el evento. También se presupone que cada movimiento contado obtiene el incremento; no se modelan demoras, sanciones, derrotas por tiempo ni incrementos activados después de una jugada concreta.
Aplique el resultado a la planificación y la validación
La organización de un torneo puede tomar el máximo como referencia conservadora para separar rondas, pero debe añadir márgenes para recolocar piezas, publicar emparejamientos, desplazar a los participantes, resolver incidencias arbitrales y hacer descansos. Quien desarrolla software puede interpretar la notación al recibirla y guardar sus dos componentes numéricos, evitando dividir la misma cadena en distintos puntos de la aplicación. También puede comprobarse si el número de jugadas anunciado encaja con el horario. move_count representa jugadas completas de cada jugador, no medios movimientos: 40 modela hasta 40 movimientos de blancas y 40 de negras. Los valores deben ser enteros dentro de los límites publicados y debe existir exactamente un signo más. Se admite base o incremento cero cuando el otro valor es positivo, por lo que 0+1 y 10+0 son válidos. Se rechaza 0+0 porque no concede tiempo jugable.
Qué puede hacer con ella
Planifique los intervalos entre rondas
Estime el máximo tiempo de reloj disponible para ambos jugadores y añada después los márgenes operativos del torneo.
Valide datos para programas de emparejamiento
Rechace cadenas mal formadas antes de guardarlas o de enviar sus componentes al software del evento.
Compare ritmos de juego
Calcule distintos controles con el mismo número de jugadas y compare el tiempo máximo asignado con un criterio uniforme.
Preguntas frecuentes
¿Qué significa 90+30 en ajedrez?
Cada jugador empieza con 90 minutos y recibe 30 segundos adicionales después de completar cada jugada.
¿move_count son medios movimientos o jugadas completas?
Son jugadas completas por jugador. Un valor de 40 representa 40 movimientos de blancas y 40 de negras, con hasta 80 incrementos.
¿El resultado es la duración prevista de la ronda?
No. Es el máximo asignado en ambos relojes según las condiciones indicadas; los márgenes y las demoras externas se calculan aparte.
¿Pueden valer cero el tiempo base o el incremento?
Sí, si el otro componente es positivo. 0+1 y 10+0 son válidos; 0+0 se rechaza.
¿Se admiten controles por fases?
No. El analizador acepta una sola fase de base más incremento; añadir tiempo tras una jugada determinada requiere otro formato.
¿Cuánto cuesta una solicitud API?
Cada solicitud API cuesta $0.002. El mismo cálculo determinista puede ejecutarse en el navegador cuando esté disponible.
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/misc2/chess-clock-time-control \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"time_control":"90+30","move_count":40}'const res = await fetch("https://api.kit.forhosting.com/misc2/chess-clock-time-control", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"time_control": "90+30",
"move_count": 40
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/misc2/chess-clock-time-control",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"time_control": "90+30",
"move_count": 40
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/misc2/chess-clock-time-control", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"time_control":"90+30","move_count":40}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"time_control":"90+30","move_count":40}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/misc2/chess-clock-time-control", 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
{
"time_control": "90+30",
"move_count": 40
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "misc2.chess_clock_time_control",
"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. |