Nei giochi, ci sono spesso molte relazioni di causa ed effetto. Ad esempio:
- Se un giocatore segna 10 punti, allora vince la partita.
- Se un giocatore ha un potenziamento, allora può correre super veloce.
- Se un giocatore dice "Buon Compleanno" in chat, allora piovono coriandoli.
Gli script utilizzano le istruzioni condizionali per gestire questi tipi di situazioni. Le istruzioni condizionali sono righe di codice che vengono eseguite solo se determinate condizioni sono vere. Un tipo di istruzione condizionale è un'istruzione if/then. In Luau, il modello di sintassi per le istruzioni if appare così:
if "qualcosa accade" then
-- Fai accadere qualcos'altro
endI blocchi di codice che utilizzano le condizioni sono strutture di controllo. Le strutture di controllo sono come diagrammi di flusso in forma di codice e possono contenere diverse istruzioni condizionali.
Pratica con le istruzioni if
Questi passaggi mostrano come creare uno script che cambia il colore di una parte se un'istruzione è vera.
In ServerScriptService, crea un nuovo script e chiamalo TruthChecker. Aggiungi un commento appropriato allo script.
-- Cambia la parte se una condizione è veraCrea una nuova parte chiamata LieDetector.
Formattare le istruzioni if
Le condizioni possono presentarsi in varie forme, ma spesso sono semplici affermazioni come equazioni matematiche. Ad esempio, se 1+1 è uguale a 2, allora esegui del codice. Come le normali equazioni matematiche, le condizioni possono utilizzare operatori come più (+) o minore di (<) per valutare le affermazioni.
Un operatore particolare di cui essere consapevoli è ==; significa "è uguale a." Quindi l'affermazione 2 + 2 == 4 può essere letta come "due più due è uguale a quattro". Fai molta attenzione a non confonderlo con =, che assegna nuovi valori a oggetti come le variabili.
Imposta la condizione vuota. Nello script, digita if then, e premi Enter per completare automaticamente la condizione. La parola chiave then sarà sottolineata perché il codice è incompleto.
if then-- codice vuotoendDopo la parola chiave if, digita un'affermazione vera come 3 + 3 == 6.
if 3 + 3 == 6 then-- codice vuotoendAll'interno della condizione, fai riferimento alla parte che hai chiamato LieDetector e cambia la proprietà Color della parte in verde.
if 3 + 3 == 6 thenworkspace.LieDetector.Color = Color3.fromRGB(0, 255, 0)endTesta il tuo codice. Se tre più tre è uguale a sei, la parte diventerà verde.
Controlla una condizione falsa
Ora, cambia intenzionalmente l'affermazione per vedere cosa succede quando l'equazione matematica è falsa.
Nell'istruzione if, cambia l'equazione in qualcosa di inaccurato, come 3 + 3 >= 10.
if 3 + 3 >= 10 thenworkspace.LieDetector.Color = Color3.fromRGB(0, 255, 0)endTesta di nuovo il tuo codice. La parte non dovrebbe diventare verde per un'affermazione falsa.
Operatori matematici
La tabella qui sotto elenca alcuni operatori comuni di Luau. Maggiori informazioni sugli operatori possono essere trovate in Operatori Luau.
| Simbolo | Significato |
|---|---|
| + | Somma |
| - | Sottrazione |
| * | Moltiplicazione |
| / | Divisione |
Operatori di confronto
- == : È uguale a.
- ~= : Non è uguale a.
- < o > sono usati per minore o maggiore, rispettivamente.
- <= o >= sono usati per minore/maggiore o uguale a, rispettivamente.
Variabili e proprietà
Le istruzioni condizionali sono utilizzate anche per valutare lo stato delle proprietà e delle variabili. I seguenti passaggi controllano se una variabile è stata assegnata con successo a un valore.
Elimina tutto il codice e copia il seguente frammento nello script. Testalo, e un nuovo errore apparirà in Output.
local mysteryPart = workspace.MysteryPart-- Valuta come vero se MysteryPart è stato assegnato con successoif mysteryPart thenworkspace.LieDetector.Color = Color3.fromRGB(0, 255, 0)endInserisci una nuova parte nello spazio di lavoro chiamata MysteryPart. Testa di nuovo, e LieDetector dovrebbe diventare verde.
Esplora come le proprietà possono essere valutate con le condizioni. Mantieni MysteryPart, ma ancora una volta, elimina il tuo codice e copia il blocco di codice qui sotto.
local mysteryPart = workspace.MysteryPart-- Valuta come vero se MysteryPart è completamente opacoif mysteryPart.Transparency == 0 thenworkspace.LieDetector.Color = Color3.fromRGB(0, 255, 0)mysteryPart.Transparency = .2endTesta il codice, e se MysteryPart ha la trasparenza predefinita di 0, diventerà spettrale mentre LieDetector diventa verde.
Riepilogo
Le istruzioni condizionali controllano se un'affermazione è accurata, e se sì, eseguono del codice. Le istruzioni if sono un tipo molto comune di istruzione condizionale. Usano il modello "Se questo è vero, allora fai quello."
I blocchi di codice che utilizzano le istruzioni condizionali sono chiamati strutture di controllo. Le strutture di controllo possono contenere più istruzioni condizionali.
Oltre a valutare se semplici affermazioni matematiche sono fattuali, le condizioni vengono utilizzate anche per controllare lo stato delle variabili e delle proprietà.