Deneyimlerde, genellikle birçok neden-sonuç ilişkisi vardır. Örnek olarak:
- Bir oyuncu 10 puan alırsa, oyunu kazanır.
- Bir oyuncunun bir güç artırıcısı varsa, süper hızlı koşabilir.
- Bir oyuncu sohbetten "Mutlu Doğum Günü" derse, konfetiler yağar.
Betikler, bu tür durumlarla başa çıkmak için koşullu ifadeler kullanır. Koşullu ifadeler, yalnızca belirli koşullar doğru olduğunda çalışan kod satırlarıdır. Koşullu ifadelerden biri if/then ifadesidir. Luau'da, if ifadeleri için sözdizimi örneği şu şekildedir:
if then sözdizimiif "bir şey olursa" then-- Başka bir şey olsunend
Koşulları kullanan kod parçaları kontrol yapılarıdır. Kontrol yapıları, kod formundaki akış diyagramları gibidir ve birden fazla koşullu ifade içerebilir.
If ifadesi uygulaması
Bu adımlar, bir ifadenin doğru olması durumunda bir parçanın rengini değiştiren bir betik oluşturmayı gösterir.
ServerScriptService içinde, yeni bir betik oluşturun ve adını TruthChecker olarak belirleyin. Betiğe uygun bir yorum ekleyin.
-- Bir koşul doğruysa parçayı değiştirirLieDetector adında yeni bir parça oluşturun.
If ifadelerini biçimlendirme
Koşullar, çeşitli biçimlerde olabilir, ancak genellikle matematiksel denklemler gibi basit ifadelerdir. Örneğin, eğer 1+1 2'ye eşitse, o zaman bazı kodlar çalıştırılır. Sıradan matematik denklemlerinde olduğu gibi, koşullu ifadeler operatörler kullanabilir; artı (+) veya küçüktür (<) gibi.
Dikkat edilmesi gereken bir operatör ==; "eşittir" anlamına gelir. Yani 2 + 2 == 4 ifadesi "iki artı iki dörde eşittir" şeklinde okunabilir. Bunu, değişkenler gibi nesnelere yeni değerler atayan = ile karıştırmamaya dikkat edin.
Boş bir koşulu ayarlayın. Betikte if then yazın ve koşulu tamamlamak için Enter tuşuna basın. then anahtar kelimesi altı çizili olacaktır çünkü kod eksiktir.
if then-- boş kodendif anahtar kelimesinden sonra, 3 + 3 == 6 gibi doğru bir ifade yazın.
if 3 + 3 == 6 then-- boş kodendKoşul içinde, LieDetector olarak adlandırdığınız parçayı referans verin ve parçanın Color özelliğini yeşil olarak değiştirin.
if 3 + 3 == 6 thenworkspace.LieDetector.Color = Color3.fromRGB(0, 255, 0)endKodunuzu test edin. Eğer üç artı üç altıya eşitse, parça yeşil olacak.
Yanlış bir durumu kontrol etme
Şimdi, matematik denklemi yanlış olduğunda ne olacağını görmek için ifadeyi kasten değiştirin.
If ifadesinde, denklemi 3 + 3 >= 10 gibi yanlış bir durumda değiştirin.
if 3 + 3 >= 10 thenworkspace.LieDetector.Color = Color3.fromRGB(0, 255, 0)endŞimdi kodunuzu test edin. Parça, yanlış bir ifade için yeşil olmamalıdır.
Matematik operatörleri
Aşağıdaki tablo, bazı ortak Luau operatörlerini listelemektedir. Operatörler hakkında daha fazla bilgi Luau Operatörleri sayfasında bulunabilir.
| Sembol | Anlamı |
|---|---|
| + | Toplama |
| - | Çıkarma |
| * | Çarpma |
| / | Bölme |
Karşılaştırma operatörleri
- == : Eşittir.
- ~= : Eşit değildir.
- < veya > sırasıyla küçüktür veya büyüktür.
- <= veya >= sırasıyla küçüktür/büyüktür veya eşittir.
Değişkenler ve özellikler
Koşullu ifadeler aynı zamanda özelliklerin ve değişkenlerin durumunu değerlendirmek için de kullanılır. Aşağıdaki adımlar, bir değişkenin başarılı bir şekilde bir değer atayıp atamadığını kontrol eder.
Tüm kodu silin ve aşağıdaki kod parçacığını betiğe kopyalayın. Test edin ve Çıktıda yeni bir hata görünecektir.
local mysteryPart = workspace.MysteryPart-- MysteryPart başarılı bir şekilde atanmışsa doğru olarak değerlendiririf mysteryPart thenworkspace.LieDetector.Color = Color3.fromRGB(0, 255, 0)endWorkspace'e MysteryPart adında yeni bir parça ekleyin. Tekrar test edin, ve LieDetector yeşil olmalıdır.
Özelliklerin koşullarla nasıl değerlendirilebileceğini keşfedin. MysteryPart'ı saklayın, ancak bir kez daha kodunuzu silin ve aşağıdaki kod kutusunu kopyalayın.
local mysteryPart = workspace.MysteryPart-- MysteryPart tamamen opak ise doğru olarak değerlendiririf mysteryPart.Transparency == 0 thenworkspace.LieDetector.Color = Color3.fromRGB(0, 255, 0)mysteryPart.Transparency = .2endKodu test edin, ve eğer MysteryPart'ın varsayılan saydamlığı 0 ise, hayaletleşecek ve LieDetector yeşil olacaktır.
Özet
Koşullu ifadeler, bir ifadenin doğru olup olmadığını kontrol eder ve eğer öyleyse, bazı kodları çalıştırır. If ifadeleri, çok yaygın bir koşullu ifade türüdür. "Eğer bu doğruysa, o zaman şunu yap" kalıbını kullanır.
Koşullu ifadeleri kullanan kod parçaları kontrol yapıları olarak adlandırılır. Kontrol yapıları, birden fazla koşullu ifade tutabilir.
Basit matematik ifadelerinin gerçek olup olmadığını değerlendirmeye ek olarak, koşullu ifadeler değişkenlerin ve özelliklerin durumunu kontrol etmek için de kullanılır.