Tarjeta de partido de tiro

Clasificaciones en vivo para una competencia de tiro a diana anillada en rifle de ánima estriada, rifle de aire y pequeño calibre. Las divisiones se clasifican por puntuación y conteo de X junto a la hoja de la tarjeta destacada, con cada diana dibujada mostrando los impactos donde cayeron, totales por fila y total de la tarjeta. Las tarjetas puntuadas escritas por el agente del anotador se destacan y celebran cuando son recientes.

Las hojas de objetivos puntuados suministradas aparecen junto a las posiciones de división, conteos X, porcentajes y las posiciones de impacto registradas en la tarjeta destacada. Las posiciones comparten la altura de la pantalla: unas pocas tarjetas son grandes, muchas divisiones se paginan en grupos que siguen a la tarjeta destacada, y cada división mantiene sus filas superiores. Las hojas con más de 25 toros dibujan cada toro en una cuadrícula, y en Primetime se pasan páginas de fichas de hasta 25 toros que mantienen cada impacto registrado, puntuación y total de fila. Durante Primetime, el encabezado y las posiciones animan, las puntuaciones normales aparecen en cian, los corchetes marcan tarjetas nuevas y el confeti contenido celebra hojas perfectas completadas. El movimiento reducido presenta una imagen fija compuesta.

Tarjeta en vivo

Esta tarjeta se dibuja en su navegador con el mismo código que ejecutan los Players, con datos de ejemplo.

Categoría: Deportes. Etiquetas: Marcadores, Clasificaciones y posiciones, Deportes individuales.

Diseños

Esta tarjeta de pantalla completa llena toda la pantalla en modo horizontal o vertical y no se coloca como esquina, chip o tira.

Diseños: completo. Formularios: horizontal, vertical.

Diseños, temas y publicación de tarjetas. Explorar las tarjetas.

Datos y privacidad

Esta tarjeta usa sus propiedades configuradas y datos en vivo de la tarjeta.

Propiedades

Para tema, fondo, acento y posición, consulte Propiedades comunes.

Establezca las propiedades estáticas en los params de la tarjeta al crearla. Su documento de datos solo contiene propiedades dinámicas. Las filas anidadas describen el contenido de su propiedad principal.

Propiedades estáticas

NombreTipoPredeterminadoValores y límitesDescripción
titlestring"Match standings"maxLength: 60La etiqueta sobre el nombre del partido; el encabezado mismo cuando los datos no nombran ningún partido.
subtitlestring""maxLength: 120Una línea debajo del encabezado, antes de la fecha del partido y el conteo de tiradores.
targetobjectadditionalProperties: falseLa hoja objetivo en la que se dispara cada tarjeta.
target.bullsinteger25mínimo: 1; máximo: 100Registre toros en una hoja.
target.rowsinteger5mínimo: 1; máximo: 20Filas en las que se sientan los toros, leídas de izquierda a derecha, de arriba hacia abajo.
target.ringsarray[10,9,8,7,6,5]minItems: 1; maxItems: 12Valores del anillo de puntuación desde el anillo interior hacia afuera. El primero es la puntuación más alta del centro.
target.xRingbooleantrueUn anillo X dentro del anillo interior; X cuenta para desempatar.
target.radiiarray[]maxItems: 12Radios de anillos desde el anillo interior hacia afuera, uno por valor de anillo, en cualquier unidad (la tarjeta escala el anillo exterior a 1). Los espacios vacíos distribuyen los anillos uniformemente.
target.xRadiusnumber0mínimo: 0El radio del anillo X en la unidad de radios, o como una fracción del anillo exterior cuando radios está vacío. 0 es la mitad del anillo interior.
target.blackinteger4mínimo: 0; máximo: 12Cuántos anillos, desde el anillo interior hacia afuera, cubre el objetivo negro.
target.shotSizenumber0.22mínimo: 0; máximo: 1El diámetro de un agujero de disparo como fracción del radio del anillo exterior de puntuación.
showPercentbooleantrueMostrar la puntuación de cada tarjeta como porcentaje del máximo de la hoja.
rankingstring"best""best", "every"mejor clasifica cada tirador una vez por división, en su mejor tarjeta; todos clasifican cada tarjeta.
rotateSecondsinteger12mínimo: 0; máximo: 600Segundos que cada tarjeta clasificada se muestra en la rotación del reloj de pared. 0 mantiene la última tarjeta mostrada.
freshMinutesinteger3mínimo: 0; máximo: 60Una tarjeta enviada recientemente está fresca: destacada antes de la rotación y marcada Como nueva. 0 la desactiva.
backgroundColorcadena, nulonullpatrón: "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$"Sobrescribe el fondo y la placa de la tarjeta con un color plano ordenado por CSS. #RRGGBBAA suministra opacidad. background none tiene prioridad.
textColorcadena, nulonullpatrón: "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$"Sobrescribe los colores de texto principal y secundario. Los colores de acento y estado semántico mantienen sus roles.

Propiedades dinámicas

NombreTipoPredeterminadoValores y límitesDescripción
matchobjectadditionalProperties: falseEl partido.
match.namestring""maxLength: 60
match.datestring""maxLength: 10YYYY-MM-DD.
divisionsarray[]maxItems: 8Divisiones en orden de visualización. Se añade una división que un elemento nombre pero que falta en esta lista después de ellas.
divisions[].idstringminLength: 1; maxLength: 40; Requerido
divisions[].namestringmaxLength: 40; Requerido
entriesarray[]maxItems: 200Tarjetas puntuadas, una por cada toma de hoja. Las puntuaciones son definitivas: la tarjeta las totaliza y las clasifica y dibuja cada acierto donde cayó, pero nunca recalcula desde los aciertos.
entries[].idstringminLength: 1; maxLength: 60; RequeridoEstable y único: el agente reescribe el mismo id cuando corrige una tarjeta.
entries[].shooterstringminLength: 1; maxLength: 40; RequeridoEl nombre para mostrar del tirador; las tarjetas con el mismo nombre (ignorando mayúsculas) son un solo tirador.
entries[].divisionstringmaxLength: 40Un divisions[].id.
entries[].labelstringmaxLength: 80Qué es esta tarjeta, por ejemplo 25 m · Hoja 2.
entries[].submittedAtstringmaxLength: 40Instante ISO 8601 en que se puntuó la tarjeta. Determina la frescura y desempata (gana el más temprano).
entries[].bullsarraymaxItems: 100; RequeridoUn toro por registro en orden de hoja, de izquierda a derecha por fila. Se ignoran toros pasados target.bulls; los que faltan se leen como no puntuados.
entries[].bulls[].scorenúmero, nulomínimo: 0; máximo: 100; RequeridoLa puntuación del toro; null significa que aún no se ha puntuado.
entries[].bulls[].xbooleanEl disparo está en el anillo X (su puntuación es el valor del anillo interior).
entries[].bulls[].hitsarraymaxItems: 10Centros de disparo en unidades del radio del anillo exterior de puntuación del blanco: 0,0 es el centro, +x derecha, +y arriba.
entries[].bulls[].hits[].dxnumbermínimo: -2; máximo: 2; Requerido
entries[].bulls[].hits[].dynumbermínimo: -2; máximo: 2; Requerido
entries[].photostringmaxLength: 512Una URL de medios resuelta por host de la foto de la tarjeta.
featuredstring""maxLength: 60Un ID de entrada para mantener destacado. Vacío presenta una tarjeta nueva, de lo contrario rota.

Ejemplo de lienzo

Guarde las propiedades estáticas como params.json y cree la tarjeta. El resultado incluye su id crd_.

{
  "theme": "neomustard"
}
screenrig card create --type shooting-match --major 1 --file params.json

Agregue este elemento a los primitives de una página de la lista de reproducción, con ese id en lugar del del ejemplo. Publique la lista de reproducción y asigne una pantalla.

{
  "id": "shooting-match",
  "primitive": "card",
  "card": "crd_01EXAMPLECARD000000000",
  "layout": "full",
  "content_fit": "fill"
}

Escribir datos en vivo

Escriba el documento en la tarjeta después de crearla y luego reemplácelo para actualizar la pantalla sin republicar. La tarjeta verifica cada escritura contra sus propiedades dinámicas y rechaza un documento que no acepta. Use el mismo proyecto que la lista de reproducción.

Guarde el documento como card-data.json. La CLI lee el documento en sí, sin envoltorio:

{
  "match": {},
  "divisions": [],
  "entries": [],
  "featured": ""
}
screenrig card data put crd_01EXAMPLECARD000000000 --file card-data.json

O llame a la API directamente. La API envuelve el mismo documento en un campo document. Un token de agente ya nombra su proyecto, por lo que no se envía encabezado de proyecto; si envía ScreenRig-Project, debe coincidir con el proyecto del token. Proporcione su autorización API a través del entorno; vea Autenticación API.

curl --request PUT "https://api.screenrig.ai/api/cards/crd_01EXAMPLECARD000000000/data" \
  --header "Authorization: Bearer $SCREENRIG_TOKEN" \
  --header "Content-Type: application/json" \
  --data '{"document":{"match":{},"divisions":[],"entries":[],"featured":""}}'