Verse utiliza logic como tipo para los valores booleanos, lo que significa que logic sólo tiene dos valores posibles: true y false.
Tanto true como false son literales lógicos cuando los usas en el código de Verse.
El siguiente es un ejemplo de cómo crear una lógica variable llamada TargetLocked, inicializada con la lógica literal false:
var TargetLocked : logic = false
Operaciones de lógica
El tipo logic admite operaciones de consulta y operaciones de comparación.
Consulta
Las expresiones de consulta utilizan el operador ? (consulta) y comprueban si un valor logic es true. En caso contrario, la expresión falla si el valor logic es false.
# Determina si se muestra el ícono de objetivo bloqueado si un objetivo está bloqueado
if (TargetLocked?):
ShowTargetLockedIcon()
Para más información sobre las operaciones de consulta, véase Operadores.
Comparación
Para operaciones de comparación, puedes usar el operador falible = para probar si dos valores lógicos son iguales, y el operador falible <> para probar la desigualdad.
Por ejemplo, el código de ejemplo siguiente hará que aparezca un ícono de "acción no disponible" si el jugador ha equipado un arma pero no tiene un objetivo, o tiene un objetivo pero no un arma. Esto puede expresarse comparando los valores logic que representan los dos factores.
- Si ambos son falsos, no verás el ícono porque el jugador no está intentando atacar.
- Si ambos son verdaderos, no verás el ícono porque el jugador está intentando atacar.
# Inicializa las variables lógicas para fines de demostración.
var TargetLocked : logic = false
var WeaponEquipped : logic = true
# Determina si el ícono de "acción no disponible" es apropiado o no.
if (WeaponEquipped <> TargetLocked):
# El ícono debería aparecer, porque el jugador parece estar intentando
# atacar, pero falta o bien un arma o un objetivo.
ShowUnavailableIcon()
Para más información sobre las operaciones de comparación, véase Operadores.
Convertir una expresión falible en lógica
Puedes convertir una expresión falible a un tipo logic usando logic{failable-expression}, donde failable-expression es una expresión falible.
En el siguiente ejemplo, la expresión falible GetRandomInt(0, MineFrequency) <> 0 se convierte al valor logic false si el entero aleatorio es 0 y true en caso contrario.
IsMined := logic{GetRandomInt(0, MineFrequency) <> 0}
Biblioteca estándar
La biblioteca estándar proporciona funciones para ayudar a crear y utilizar valores lógicos. Consulta la referencia de la API de Verse para obtener más detalles sobre estas funciones.
Tipos persistentes
Los valores lógicos son persistentes. Esto quiere decir que lo puedes usar en tus variables weak_map del módulo y hacer que sus valores persistan a lo largo de las sesiones de juego. Para más información sobre la persistencia en Verse, consulta Cómo usar datos persistentes en Verse.