Verse utilizza logic
come tipo per i valori booleani, il che significa che logic
ha solo due valori possibili: true
e false
.
Sia true
che false
sono letterali logici quando li utilizzi nel codice di Verse.
Di seguito è riportato un esempio di come creare una variabile logica denominata TargetLocked
, inizializzata con il letterale logico false
:
var TargetLocked : logic = false
Operazioni logiche
Il tipo logic
supporta le operazioni di query e di confronto.
Query
Le espressioni di query utilizzano l'operatore ?
(query) e controllano se un valore logico
è true
. In caso contrario, l'espressione non riesce se il valore logic
è false
.
# Determina se mostrare l'icona del bersaglio bloccato se un bersaglio è bloccato
if (TargetLocked?):
ShowTargetLockedIcon()
Per ulteriori informazioni sulle operazioni di query, vedi Operatori.
Confronto
Per le operazioni di confronto, puoi utilizzare l'operatore fallibile =
per verificare se due valori logici sono uguali e l'operatore fallibile <>
per verificare la disuguaglianza.
Ad esempio, il codice di esempio riportato di seguito fa apparire l'icona "azione non disponibile", se il giocatore ha equipaggiato un'arma ma non ha un bersaglio, oppure se ha un bersaglio ma non possiede un'arma. Ciò può essere espresso confrontando i valori logic
che rappresentano i due fattori.
- Se entrambi sono false, non vedrai l'icona perché il giocatore non sta cercando di attaccare.
- Se entrambi sono true, non vedrai l'icona perché il giocatore è in grado di attaccare.
# Inizializza le variabili logiche a scopo dimostrativo.
var TargetLocked : logic = false
var WeaponEquipped : logic = true
# Determina se l'icona "azione non disponibile" è appropriata o meno.
if (WeaponEquipped <> TargetLocked):
# L'icona deve essere visualizzata, perché il giocatore sembra che stia cercando di
# attaccare, ma gli manca un'arma o un bersaglio.
ShowUnavailableIcon()
Per ulteriori informazioni sulle operazioni di confronto, vedi Operatori.
Convertire un'espressione fallibile in logica
Puoi trasformare un'espressione fallibile in un tipo logic
utilizzando logic{failable-expression}
, dove failable-expression
è un'espressione che può fallire.
Nell'esempio seguente, l'espressione fallibile GetRandomInt(0, MineFrequency) <> 0
è convertita nel valore logic
false
se l'intero casuale è 0 e altrimenti true
.
IsMined := logic{GetRandomInt(0, MineFrequency) <> 0}
Libreria standard
La libreria standard fornisce funzioni che aiutano a creare e utilizzare i valori logici. Per maggiori dettagli su queste funzioni, consulta la guida API di Verse.
Tipo persistente
I valori logici sono persistenti, il che significa che è possibile utilizzarli nelle variabili weak_map
con ambito modulo e fare in modo che i relativi valori vengano mantenuti tra le sessioni di gioco. Per maggiori dettagli sulla persistenza in Verse, consulta Utilizzo dei dati persistenti in Verse.