Verse utilise logic comme type pour les valeurs booléennes, ce qui signifie que logic n'a que deux valeurs possibles : true et false.
Les mots true et false sont des littéraux de logic lorsque vous les utilisez dans du code Verse.
Voici un exemple de création d'une variable logic nommée TargetLocked, initialisée avec le littéral logic false :
var TargetLocked : logic = false
Opérations de logic
Le type logic prend en charge les opérations de requête, et de comparaison.
Requête
Les expressions de requête utilisent l'opérateur ? (requête) et vérifient si une valeur logic est true. Autrement, l'expression échoue si la valeur logic est false.
# Déterminer s'il faut montrer l'icône de cible verrouillée lorsqu'une cible est verrouillée
if (TargetLocked?):
ShowTargetLockedIcon()
Pour plus d'informations sur les opérations de requête, voir Opérateurs.
Comparaison
Pour les opérations de comparaison, vous pouvez utiliser l'opérateur faillible = pour tester si deux valeurs logic sont égales, et l'opérateur faillible <> pour tester l'inégalité.
Par exemple, l'échantillon de code ci-dessous fera apparaître une icône « action indisponible » si le joueur s'est équipé d'une arme, mais n'a pas de cible ou a une cible, mais pas d'arme. Cela peut être exprimé en comparant les valeurs logic qui représentent les deux facteurs.
- Si les deux sont false, vous ne verrez pas l'icône, car le joueur n'essaie pas d'attaquer.
- Si les deux sont true, vous ne verrez pas l'icône, car le joueur est capable d'attaquer.
# Initialiser les variables de logic à des fins de démonstration.
var TargetLocked : logic = false
var WeaponEquipped : logic = true
# Déterminer si l'icône « action non disponible » est appropriée ou non.
if (WeaponEquipped <> TargetLocked):
# L'icône devrait s'afficher, car le joueur semble essayer d'
# attaquer, mais il lui manque une arme ou une cible.
ShowUnavailableIcon()
Pour plus d'informations sur les opérations de comparaison, voir Opérateurs.
Convertir les expressions faillibles en Logic
Vous pouvez convertir une expression faillible en un type logic en utilisant logic{failable-expression}, où failable-expression est une [expression susceptible d'échouer] (verse-glossary#failable-expression).
Dans l'exemple suivant, l'expression faillible GetRandomInt(0, MineFrequency) <> 0 est convertie en valeur logic false si l'entier aléatoire est 0, et true dans le cas contraire.
IsMined := logic{GetRandomInt(0, MineFrequency) <> 0}
Bibliothèque standard
La bibliothèque standard fournit des fonctions qui aident à créer et à utiliser des valeurs logic. Consultez la référence à l'API Verse pour en savoir plus sur ces fonctions.
Type persistant
Les valeurs Logic sont persistantes, ce qui signifie que vous pouvez l'utiliser dans vos variables weak_map à étendue de module et faire persister leurs valeurs d'une session de jeu à une autre. Pour en savoir plus sur la persistance dans Verse, consultez Utiliser des données persistantes dans Verse.