O Verse usa logic como o tipo para valores booleanos, o que significa que logic só tem dois valores possíveis: true e false.
Tanto true quanto false são literais logic quando você os usa no código do Verse.
Veja a seguir um exemplo de como criar uma variável logic denominada TargetLocked, inicializada com o literal logic false:
var TargetLocked : logic = falseOperações com logic
O tipo logic oferece suporte para operações de consulta e operações de comparação.
Consulta
Expressões de consulta usam o operador ? Faça uma consulta e verifique se um valor logic é true. Caso contrário, a expressão falhará se o valor logic for false.
# Determine whether to show the target-locked icon if a target is locked
if (TargetLocked?):
ShowTargetLockedIcon()Consulte mais informações sobre operações de consulta em Operadores.
Comparação
Para operações de comparação, você pode usar o operador falível = para testar se dois valores lógicos são iguais e o operador falível <> para testar a desigualdade.
Por exemplo, o código de exemplo abaixo fará com que um ícone de "ação indisponível" apareça se o jogador tiver equipado uma arma, mas não tiver um alvo, ou tiver um alvo, mas não tiver uma arma. Isso pode ser expresso comparando valores logic que representam os dois fatores.
Se ambos forem "false", você não verá o ícone, porque o jogador não está tentando atacar.
Se ambos forem "true", você não verá o ícone, porque o jogador é capaz de atacar.
Verse# Initialize logic variables for demonstration purposes. var TargetLocked : logic = false var WeaponEquipped : logic = true # Determine whether or not the "unavailable action" icon is appropriate. if (WeaponEquipped <> TargetLocked): # The icon should show up, because the player appears to be trying to # attack, but is missing either a weapon or a target. ShowUnavailableIcon()
Para saber mais sobre operações de comparação, consulte Operadores.
Converter expressão falível em lógica
Você pode converter uma expressão com falha em um tipo logic usando logic{failable-expression}, em que failable-expression é uma expressão que pode falhar.
No exemplo a seguir, a expressão falível GetRandomInt(0, MineFrequency) <> 0 é convertida no valor logic false quando o inteiro aleatório é 0; caso contrário, ela é convertida em true.
IsMined := logic{GetRandomInt(0, MineFrequency) <> 0}Biblioteca padrão
A biblioteca padrão fornece funções para ajudar na criação e no uso de valores logic. Consulte a referência de APIs do Verse para obter mais detalhes sobre essas funções.
Tipo persistente
Os valores lógicos são persistentes, ou seja, você pode usá-lo nas variáveis weak_map com escopo de módulo e fazer com que seus valores persistam entre as sessões de jogo. Consulte mais detalhes sobre a persistência em Verse em Como usar dados persistentes em Verse.