Em jogos, muitas vezes existem muitas relações de causa e efeito. Por exemplo:
- Se um jogador marcar 10 pontos, então ele ganha o jogo.
- Se um jogador tiver um power-up, então ele pode correr super rápido.
- Se um jogador disser "Feliz Aniversário" no chat, então confetes cairão.
Scripts usam instruções condicionais para lidar com esses tipos de situações. Instruções condicionais são linhas de código que só são executadas se certas condições forem verdadeiras. Um tipo de instrução condicional é uma instrução if/then. Em Luau, o padrão de sintaxe para instruções if se parece com isto:
if "algo acontece" then
-- Faça algo acontecer
endBlocos de código que usam condicionais são estruturas de controle. Estruturas de controle são como diagramas de fluxo em forma de código e podem ter várias instruções condicionais.
Prática de instrução if
Esses passos mostram como criar um script que muda a cor de uma parte se uma instrução for verdadeira.
No ServerScriptService, crie um novo script e nomeie-o como TruthChecker. Adicione um comentário apropriado ao script.
-- Muda a parte se uma condição for verdadeiraCrie uma nova parte chamada LieDetector.
Formatar instruções if
Condições podem vir em várias formas, mas geralmente são declarações simples, como equações matemáticas. Por exemplo, se 1+1 é igual a 2, então execute algum código. Assim como equações matemáticas comuns, condicionais podem usar operadores como mais (+) ou menor que (<) para avaliar declarações.
Um operador particular a ser observado é ==; ele significa "é igual a." Portanto, a declaração 2 + 2 == 4 pode ser lida como "dois mais dois é igual a quatro". Tenha muito cuidado para não confundi-lo com =, que atribui novos valores a objetos como variáveis.
Configure a condicional vazia. No script, digite if then, e pressione Enter para autocompletar a condicional. A palavra-chave then será sublinhada porque o código está incompleto.
if then-- código vazioendApós a palavra-chave if, digite uma declaração verdadeira, como 3 + 3 == 6.
if 3 + 3 == 6 then-- código vazioendDentro da condicional, faça referência à parte que você nomeou como LieDetector e mude a propriedade Color da parte para verde.
if 3 + 3 == 6 thenworkspace.LieDetector.Color = Color3.fromRGB(0, 255, 0)endTeste seu código. Se três mais três é igual a seis, a parte ficará verde.
Verifique uma condição falsa
Agora, mude propositalmente a declaração para ver o que acontece quando a equação matemática é falsa.
Na instrução if, mude a equação para algo impreciso, como 3 + 3 >= 10.
if 3 + 3 >= 10 thenworkspace.LieDetector.Color = Color3.fromRGB(0, 255, 0)endTeste seu código agora. A parte não deve ficar verde para uma declaração falsa.
Operadores matemáticos
A tabela abaixo lista alguns operadores comuns de Luau. Mais informações sobre operadores podem ser encontradas em Operadores Luau.
| Símbolo | Significado |
|---|---|
| + | Adição |
| - | Subtração |
| * | Multiplicação |
| / | Divisão |
Operadores de comparação
- == : É igual a.
- ~= : Não é igual a.
- < ou > são usados para menor ou maior que, respectivamente.
- <= ou >= são usados para menor/maior que ou igual a, respectivamente.
Variáveis e propriedades
Instruções condicionais também são usadas para avaliar o status de propriedades e variáveis. Os seguintes passos verificam se uma variável foi atribuída com sucesso a um valor.
Exclua todo o código e copie o seguinte trecho para o script. Teste-o, e um novo erro aparecerá na Saída.
local mysteryPart = workspace.MysteryPart-- Avalia como verdadeiro se MysteryPart foi atribuído com sucessoif mysteryPart thenworkspace.LieDetector.Color = Color3.fromRGB(0, 255, 0)endInsira uma nova parte no espaço de trabalho chamada MysteryPart. Teste novamente, e LieDetector deve ficar verde.
Explore como propriedades podem ser avaliadas com condicionais. Mantenha MysteryPart, mas mais uma vez, exclua seu código e copie o bloco de código abaixo.
local mysteryPart = workspace.MysteryPart-- Avalia como verdadeiro se MysteryPart for totalmente opacoif mysteryPart.Transparency == 0 thenworkspace.LieDetector.Color = Color3.fromRGB(0, 255, 0)mysteryPart.Transparency = .2endTeste o código, e se MysteryPart tiver a transparência padrão de 0, ele se tornará fantasmagórico enquanto LieDetector fica verde.
Resumo
Instruções condicionais verificam se uma declaração é precisa e, se sim, executam algum código. Instruções if são um tipo muito comum de instrução condicional. Elas usam o padrão "Se isso é verdade, então faça aquilo."
Blocos de código que usam instruções condicionais são chamados de estruturas de controle. Estruturas de controle podem conter várias instruções condicionais.
Além de avaliar se declarações matemáticas simples são factuais, condicionais também são usadas para verificar o status de variáveis e propriedades.