Zum Inhalt springen

Inhalt

Eine Textzelle auf dem Timer-Bildschirm enthält keinen festen Text. Sie zeigt auf einen benannten Inhalt, und der entscheidet, was gezeichnet wird und ob überhaupt.

Jeder Inhalt hat drei Teile:

  • Name: wonach du ihn auswählst, etwa clock, blinds, player count
  • Wert: der Text, der auf dem Timer erscheint und laufende Turnierdaten hereinholen kann
  • Bedingung: eine optionale Prüfung; solange sie falsch ist, blendet sich jede Zelle aus, die diesen Inhalt nutzt

Diese drei zu trennen ist das, was ein Layout ein ganzes Turnier lang tragen lässt. Der eingebaute Inhalt ante etwa ist daran geknüpft, dass das Level wirklich ein Standard-Ante hat. Die Ante-Zeile ist in Leveln ohne eines also schlicht nicht da, und du musst nicht für jede Turnierphase einen eigenen Bildschirm bauen.

Aus dem Bearbeitungsmodus:

  • Tippe auf +Inhalt, um eine Textzelle einzufügen und ihren Inhalt in einem Schritt zu wählen.
  • Wähl eine vorhandene Textzelle aus und öffne ihre Einstellung Inhalt, um sie woanders hinzeigen zu lassen, oder tippe auf Bearbeiten, um den Inhalt selbst zu ändern.
  • Inhalt verwalten, aus derselben Einstellung, öffnet die vollständige Liste: jeder Inhalt im Turnier, egal ob der Timer ihn gerade nutzt.
Die Einstellung Inhalt im Bearbeitungs-Panel aufgeklappt, die Inhalte nach Namen mit ihren Werten darunter auflistet, der ausgewählte ist abgehakt und trägt eine Schaltfläche Bearbeiten

Innerhalb von Wert fügen doppelte geschweifte Klammern laufende Turnierdaten ein. Alles außerhalb der Klammern wird unverändert gezeigt, du kannst beides also frei mischen:

Chips im Spiel {{ totalChipsInPlay }}

Was zwischen den Klammern steht, ist ein Ausdruck, kann also rechnen und formatieren und nicht nur einen Wert benennen:

Level {{ blindLevelNumber }} von {{ blindLevelCount }}
{{ (secondsLeftInLevel * 1000).toCompactTimeDurationString }}

Eine Fußzeile unter dem Feld zeigt immer das fertige Ergebnis, du siehst also genau, was der Timer zeichnen wird. Die Sprache steht unter Skripte, alles Referenzierbare unter Turnierdaten.

Zwei Arten von Zeichenfolge werden im fertigen Text als Bild statt als Buchstaben gezeichnet, überall dort, wo sie auf dem Timer-Bildschirm auftauchen:

  • Ein Chipwert gefolgt von einem s25s, 1,000s — wird zu diesem Chip, mit deinen eigenen Farben oder deinem Chipfoto. Der Wert muss exakt zu einem der Chips des Turniers passen, geschrieben so, wie die App ihn schreibt, und er muss für sich stehen: Das 100s in 2,100s ist keine solche Zeichenfolge.
  • Eine KarteA♠, 10♥ — wird zu einer kleinen umrandeten Karte, rot oder schwarz je nach Farbe.

Ein Inhalt mit diesem Wert

Tauscht die {{ colorUpChips.map(func(c) { c.value.toString + "s" }).join(" und die ") }}

zeichnet also echte Chips mitten im Satz. Genau so ist das Widget Chips tauschen! gebaut, und nichts hindert dich daran, es in einer eigenen Zeile zu verwenden.

Das Feld Bedingung nimmt dieselben Ausdrücke, aber ohne die Klammern, und es muss wahr oder falsch ergeben. Lässt du es leer, ist der Inhalt immer zu sehen.

chipLeaders.isNotEmpty
currentLevel.ante > 0 && currentLevel.bigBlind == 0

Beide Felder nutzen denselben Editor: Syntax-Hervorhebung, Zeilen- und Spaltenanzeige und Autovervollständigung. Fang an, einen Namen zu tippen, und passende Turnierwerte werden mit ihren Beschreibungen angeboten.

Der Inhalts-Editor für bb ante: ein Feld Name, über dem Feld Bedingung ein Hinweis mit dem Ergebnis true, ein Hinweis über dem Feld Wert, und unten angeheftet die Ausgabe BB Ante 30

Die Schaltfläche { } Skript-Explorer in der Symbolleiste ist der schnellste Weg, etwas zu finden. Sie listet jeden verfügbaren Wert mit Beschreibung und aktuellem Stand auf, lässt dich in Objekte wie einen Spieler oder ein Level hineingehen und kopiert einen Namen mit einem Tipp in die Zwischenablage.

Ist ein Ausdruck falsch, sagt der Editor es rot darunter, statt still zu scheitern. Eine Bedingung, die etwas anderes als wahr oder falsch liefert, wird mit Die Bedingung muss als wahr oder falsch bewertet werden. zurückgewiesen.

Die Liste mischt zwei Arten, und die, von denen dieses Turnier eine eigene Fassung hat, stehen fett da, egal ob du sie von Grund auf angelegt oder einen eingebauten bearbeitet hast.

Der Bildschirm Inhalt verwalten listet jeden Inhalt alphabetisch mit seinem Wert darunter auf, der bearbeitete Inhalt bb ante steht fett

Fett heißt: Dieses Turnier hat eine eigene Kopie, und nur die kannst du in Inhalt verwalten nach links wischen, um sie zu löschen. Nutzt der Timer den Inhalt gerade, warnt dich die App und nennt ihn, bevor sie ihn entfernt.

  • Inhalte, die du anlegst, sind von Anfang an fett.
  • Eingebaute Inhalte stehen zunächst normal da und lassen sich in diesem Zustand nicht löschen. Bearbeite einen, und er wird fett: Das Turnier hat jetzt eine eigene Fassung, die die mitgelieferte überdeckt.

Namen müssen innerhalb eines Turniers eindeutig sein und werden auch gegen die eingebauten Namen geprüft. Du kannst also keinen zweiten clock anlegen. Bearbeite entweder clock selbst oder leg einen unter einem anderen Namen wie clock big an und richte die Zelle darauf.

Inhalte gehören zu dem Turnier, in dem sie entstanden sind. Zwei Dinge tragen sie anderswohin: Anpassungen importieren, das ein ganzes Aussehen überträgt, und das Speichern eines Widgets, das die Inhalte seiner Zellen mitbündelt, damit das Widget überall funktioniert, wo du es einsetzt.

Das sind ganz normale Inhalte. Öffne einen davon, um zu sehen, wie er aufgebaut ist, oder übernimm den Ansatz für eigene.

NameWertBedingung
tournament title{{ title }}immer
title{{ currentLevel.title }}immer
break titlePauseisBreakLevel && currentLevel.title.isEmpty
level numberLevel {{ blindLevelNumber }} von {{ blindLevelCount }}isBlindsLevel
clock{{ (secondsLeftInLevel * 1000).toCompactTimeDurationString }}immer
blindsSmall / Big Blind, kompakt formatiertcurrentLevel.bigBlind > 0
anteAnte {{ (currentLevel.ante).toCompactDecimalString }}nur Standard-Antes
bb anteBB Ante {{ … }}nur Big-Blind-Antes
next level blindsdie Blinds des nächsten LevelsnextLevel.bigBlind > 0
next break time, Pause in {{ (secondsUntilNextBreak / 60).round }} Min.eine Pause steht an
player count{{ currentPlayerCount }} von {{ totalPlayerCount }} Spielernimmer
chips per playerDurchschnittlicher Stack {{ averageChipsPerPlayer.round.toCompactDecimalString }}immer
BBs in playdurchschnittliche und gesamte Stapel in Big BlindsactiveBigBlind > 0
current time{{ now().toTimeString }}immer
chip leadersdie drei größten Stapel, Namen und SummenchipLeaders.isNotEmpty
high handBesitzer, Name und Karten der HandhasHighHand
rebuy countdownRebuys enden in {{ (secondsUntilRebuysEnd * 1000).toApproximateDurationString }}!eine Rebuy-Phase läuft
rebuy countdown pausedRebuys enden nach Level {{ rebuyEndLevel }}!dasselbe, aber der Timer ist pausiert
color up titleChips tauschen!Pause ist und ein Chip entbehrlich geworden ist
color upsdie abzuräumenden Chips, gezeichnet als Chipsdasselbe
separatorimmer

Pausen sind auch Level, levelIndex zählt sie also mit: Mit einer Pause dazwischen folgt auf Level 4 das Level 6. Um nur die Blind-Level zu nummerieren, nimmst du blindLevelNumber und blindLevelCount, so wie es der eingebaute Inhalt level number macht. Seine Bedingung ist isBlindsLevel, die Zelle blendet sich in Pausen also aus, statt auf dem gerade beendeten Level stehen zu bleiben.