Verse verwendet Logik als Typ für boolesche Werte, was bedeutet, dass die Logik nur zwei mögliche Werte kennt: True (wahr) und False (falsch).
Sowohl True als auch False sind logische Literale, wenn du sie im Verse-Code verwendest.
Das folgende Beispiel zeigt, wie du eine logische Variable mit dem Namen TargetLocked erstellst, initialisiert mit dem logischen Literal False:
var TargetLocked : logic = false
Logische Operationen
Der Typ logic unterstützt die Operationen Abfrage und Vergleich.
Anfrage
Abfrageausdrücke verwenden den Operator ? (Abfrage) und prüfen, ob ein logischer Wert True ist. Andernfalls schlägt der Ausdruck fehl, falls der logische Wert false ist.
# Bestimme, ob das Symbol für das gesperrte Ziel angezeigt werden soll, wenn ein Ziel gesperrt ist.
if (TargetLocked?):
ShowTargetLockedIcon()
Mehr über Abfrageoperationen findest du unter Operatoren.
Vergleich
Für Vergleichsoperationen kannst du den fakultativen Operator = verwenden, um zu prüfen, ob zwei logische Werte gleich sind, und den fakultativen Operator <>, um auf Ungleichheit zu prüfen.
Der folgende Beispielcode lässt beispielsweise ein Symbol "Aktion nicht verfügbar" erscheinen, wenn der Spieler mit einer Waffe ausgerüstet ist, aber kein Ziel hat, oder ein Ziel, aber keine Waffe hat. Dies kann durch den Vergleich von logic Werten ausgedrückt werden, die die beiden Faktoren repräsentieren.
- Sind beide „false“, siehst du das Symbol nicht, weil der Spieler nicht versucht, anzugreifen.
- Sind beide „true“, siehst du das Symbol nicht, weil der Spieler nicht in der Lage ist anzugreifen.
# Initialisiere Logikvariable zu Demonstrationszwecken.
var TargetLocked : logic = false
var WeaponEquipped : logic = true
# Bestimme, ob das Symbol "Nicht verfügbare Aktion" erfüllt ist oder nicht.
if (WeaponEquipped <> TargetLocked):
# Das Symbol sollte angezeigt werden, weil der Spieler anscheinend versucht
# anzugreifen, aber es fehlt entweder eine Waffe oder ein Ziel.
ShowUnavailableIcon()
Mehr über Vergleichsoperationen findest du unter Operatoren.
Konvertieren eines fehlbaren Ausdrucks in Logik
Du kannst einen fehlbaren Ausdruck in einen logic-Typ umwandeln, indem du logic{failable-expression} benutzt, wobei failable-expression ein fehlbarer Ausdruck ist.
Im folgenden Beispiel wird der fehlbare Ausdruck GetRandomInt(0, MineFrequency) <> 0 in den logic-Wert false umgewandelt, wenn die Zufallszahl 0 ist, und sonst in true.
IsMined := logic{GetRandomInt(0, MineFrequency) <> 0}
Standard-Bibliothek
Die Standardbibliothek bietet Funktionen, die helfen, logische Werte zu erstellen und zu verwenden. Weitere Details zu diesen Funktionen findest du in der Verse API-Referenz.
Dauerhafte Typen
Logikwerte sind dauerhaft, was bedeutet, dass du sie in deiner modulbereichsbezogenen Variable weak_map verwenden kannst und ihre Werte dann über Spielsitzungen hinweg erhalten bleiben. Weitere Details zum Fortbestand in Verse findest du unter Verwenden dauerhafter Daten in Verse.