Shooting Match-Karte

Live-Ergebnisse für einen Ringzielschießwettbewerb mit Randfeuer, Luftgewehr und Kleinkaliber. Divisionen werden nach Punktzahl und X-Anzahl neben dem Blatt der hervorgehobenen Karte eingestuft, wobei jeder gezeichnete Bulle Treffer anzeigt, Reihen- und Gesamtsummen. Bewertete Karten, die vom Agenten des Schiedsrichters geschrieben wurden, sind hervorgehoben und werden bei Aktualität gefeiert.

Gelieferte Zielscheiben mit Wertung erscheinen neben Divisionsstandings, X-Zählungen, Prozentsätzen und den aufgezeichneten Trefferpositionen der vorgestellten Karte. Die Standings teilen die Bildschirmhöhe: wenige Karten sind groß, viele Divisionen blättern in Gruppen, die der vorgestellten Karte folgen, und jede Division behält ihre oberen Reihen. Scheiben mit mehr als 25 Bulls zeigen jeden Bull auf einem Raster, und in Primetime wird durch Kacheln mit bis zu 25 Bulls geblättert, die jeden Treffer, jede Punktzahl und jede Reihen-Summe behalten. Während Primetime animieren Überschrift und Standings, normale Punktzahlen erscheinen in Cyan, Klammern markieren frische Karten, und zurückhaltendes Konfetti feiert abgeschlossene perfekte Scheiben. Reduzierte Bewegung zeigt eine ruhige Standbildansicht.

Live-Karte

Diese Karte wird in Ihrem Browser vom gleichen Code gezeichnet, den die Player ausführen, mit Beispieldaten.

Kategorie: Sport. Schlagwörter: Anzeigetafeln, Bestenlisten und Tabellen, Einzelsportarten.

Layouts

Diese Vollbildkarte füllt den gesamten Bildschirm im Quer- oder Hochformat und wird nicht als Ecke, Chip oder Streifen platziert.

Layouts: voll. Formulare: Querformat, Hochformat.

Kartenlayouts, Designs und Veröffentlichung. Karten durchsuchen.

Daten und Datenschutz

Diese Karte verwendet ihre konfigurierten Eigenschaften und Live-Kartendaten.

Eigenschaften

Für Thema, Hintergrund, Akzent und Position siehe Gemeinsame Eigenschaften.

Legen Sie statische Eigenschaften in den params der Karte fest, wenn Sie sie erstellen. Ihr Datendokument enthält nur dynamische Eigenschaften. Verschachtelte Zeilen beschreiben den Inhalt ihrer übergeordneten Eigenschaft.

Statische Eigenschaften

NameTypStandardWerte und GrenzwerteBeschreibung
titlestring"Match standings"maxLength: 60Das Label über dem Spielnamen; die Überschrift selbst, wenn die Daten kein Spiel benennen.
subtitlestring""maxLength: 120Eine Zeile unter der Überschrift, vor dem Spieltermin und der Schützenzahl.
targetobjectadditionalProperties: falseDas Zielblatt, auf dem jede Karte geschossen wird.
target.bullsinteger25Minimum: 1; Maximum: 100Rekordbullen auf einem Blatt erfassen.
target.rowsinteger5Minimum: 1; Maximum: 20Zeilen, in denen die Bullen sitzen, gelesen von links nach rechts, oben nach unten.
target.ringsarray[10,9,8,7,6,5]minItems: 1; maxItems: 12Bewertungsringwerte vom inneren Ring nach außen. Der erste ist der höchste Wert des Bulls.
target.xRingbooleantrueEin X-Ring innerhalb des inneren Rings; X zählt bei Gleichstand.
target.radiiarray[]maxItems: 12Ringradien vom inneren Ring nach außen, einer pro Ringwert, in beliebiger Einheit (die Karte skaliert den äußeren Ring auf 1). Leere Felder verteilen die Ringe gleichmäßig.
target.xRadiusnumber0Minimum: 0Der Radius des X-Rings in Einheiten von Radien oder als Bruchteil des äußeren Rings, wenn Radien leer ist. 0 ist die Hälfte des inneren Rings.
target.blackinteger4Minimum: 0; Maximum: 12Wie viele Ringe, vom inneren Ring nach außen, der Zielschwarze abdeckt.
target.shotSizenumber0.22Minimum: 0; Maximum: 1Der Durchmesser eines Schusslochs als Bruchteil des Radius des äußeren Wertungsrings.
showPercentbooleantruePunktzahl jeder Karte als Prozentsatz des Maximums des Blatts anzeigen.
rankingstring"best""best", "every"Best bewertet jeden Schützen einmal pro Division anhand seiner besten Karte; Every bewertet jede Karte.
rotateSecondsinteger12Minimum: 0; Maximum: 600Sekunden, die jede bewertete Karte in der Rotation an der Wanduhr angezeigt wird. 0 behält die zuletzt angezeigte Karte bei.
freshMinutesinteger3Minimum: 0; Maximum: 60Eine kürzlich eingereichte Karte ist frisch: vor der Rotation hervorgehoben und mit "Gerade eingetroffen" markiert. 0 deaktiviert dies.
backgroundColorString, NullnullMuster: "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$"Überschreibt den Kartenhintergrund und die Platte mit einer flachen, CSS-geordneten Farbe. #RRGGBBAA gibt die Deckkraft an. Hintergrund none hat Vorrang.
textColorString, NullnullMuster: "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$"Überschreibt die Haupt- und Sekundärtextfarben. Akzent- und semantische Statusfarben behalten ihre Funktion.

Dynamische Eigenschaften

NameTypStandardWerte und GrenzwerteBeschreibung
matchobjectadditionalProperties: falseDas Spiel.
match.namestring""maxLength: 60
match.datestring""maxLength: 10YYYY-MM-DD.
divisionsarray[]maxItems: 8Abteilungen in Anzeigereihenfolge. Eine Abteilung, die ein Eintrag benennt, diese Liste jedoch nicht enthält, wird nach ihnen hinzugefügt.
divisions[].idstringminLength: 1; maxLength: 40; Pflichtfeld
divisions[].namestringmaxLength: 40; Pflichtfeld
entriesarray[]maxItems: 200Bewertete Karten, eine pro Sheet-Shot. Die Bewertungen sind verbindlich: Die Karte summiert und ordnet sie und zeigt jeden Treffer an der Stelle, an der er gelandet ist, bewertet aber nie neu anhand der Treffer.
entries[].idstringminLength: 1; maxLength: 60; PflichtfeldStabil und eindeutig: Der Agent schreibt dieselbe ID um, wenn er eine Karte korrigiert.
entries[].shooterstringminLength: 1; maxLength: 40; PflichtfeldDer Anzeigename des Schützen; Karten mit demselben Namen (Groß-/Kleinschreibung ignoriert) gehören zu einem Schützen.
entries[].divisionstringmaxLength: 40Eine divisions[].id.
entries[].labelstringmaxLength: 80Was diese Karte ist, zum Beispiel 25 m · Blatt 2.
entries[].submittedAtstringmaxLength: 40ISO-8601-Zeitpunkt, zu dem die Karte bewertet wurde. Bestimmt die Aktualität und entscheidet bei Gleichstand (früher gewinnt).
entries[].bullsarraymaxItems: 100; ErforderlichJe eine pro Datensatz, Bulle in Tabellenreihenfolge, von links nach rechts. Bullen über target.bulls werden ignoriert; fehlende gelten als nicht bewertet.
entries[].bulls[].scoreZahl, NullMinimum: 0; Maximum: 100; PflichtfeldDer Punktestand des Bullen; null bedeutet noch nicht bewertet.
entries[].bulls[].xbooleanDer Schuss liegt im X-Ring (seine Punktzahl ist der Wert des inneren Rings).
entries[].bulls[].hitsarraymaxItems: 10Schusszentren in Einheiten des Radius des äußeren Wertungsrings des Ziels: 0,0 ist das Zentrum, +x rechts, +y oben.
entries[].bulls[].hits[].dxnumberMinimum: -2; Maximum: 2; Pflichtfeld
entries[].bulls[].hits[].dynumberMinimum: -2; Maximum: 2; Pflichtfeld
entries[].photostringmaxLength: 512Eine vom Host aufgelöste Medien-URL des Kartenfotos.
featuredstring""maxLength: 60Eine Eintrags-ID, um hervorgehoben zu bleiben. Leer zeigt eine neue Karte, sonst rotiert sie.

Canvas-Beispiel

Speichern Sie die statischen Eigenschaften als params.json und erstellen Sie die Karte. Das Ergebnis enthält ihre crd_ ID.

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

Fügen Sie diesen Eintrag den primitives einer Playlist-Seite hinzu, mit dieser ID anstelle der Beispiel-ID. Veröffentlichen Sie die Playlist und weisen Sie einen Bildschirm zu.

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

Live-Daten schreiben

Schreiben Sie das Dokument nach dem Erstellen in die Karte und ersetzen Sie es dann, um den Bildschirm ohne erneute Veröffentlichung zu aktualisieren. Die Karte prüft jeden Schreibvorgang gegen ihre dynamischen Eigenschaften und lehnt ein Dokument ab, das sie nicht akzeptiert. Verwenden Sie dasselbe Projekt wie die Playlist.

Speichern Sie das Dokument als card-data.json. Die CLI liest das Dokument selbst, ohne Wrapper:

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

Oder rufen Sie die API direkt auf. Die API verpackt dasselbe Dokument in ein document-Feld. Ein Agent-Token benennt bereits sein Projekt, daher wird kein Projekt-Header gesendet; wenn Sie ScreenRig-Project senden, muss es zum Token-Projekt passen. Stellen Sie Ihre API-Autorisierung über die Umgebung bereit; siehe API-Authentifizierung.

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":""}}'