Verse, Boole değerleri için tür olarak logic kullanır. Dolayısıyla, logic türünün iki olası değeri olabilir: true ve false.
Hem true hem de false, Verse kodunda kullanıldığında mantık değişmez değerleridir.
Aşağıdaki örnekte false mantık değişmez değeriyle başlatılmış TargetLocked adlı bir mantık değişkeninin nasıl oluşturulacağı gösteriliyor:
var TargetLocked : logic = false
Logic İşlemleri
logic türü sorgu işlemlerini ve karşılaştırma işlemlerini destekler.
Sorgu
Sorgu ifadeleri, ? işlecini (sorgu) kullanır ve bir logic değerinin true olup olmadığını kontrol eder. logic değeri false ise ifade başarısız olur.
# Bir hedef kilitliyse hedef kilitli simgesinin gösterilip gösterilmeyeceğini belirle
if (TargetLocked?):
ShowTargetLockedIcon()
Sorgu işlemleri hakkında daha fazla bilgi için İşleçler bölümüne bakabilirsin.
Karşılaştırma
Karşılaştırma işlemleri için = başarısız olabilir işlecini kullanarak iki mantık değerinin eşitliğini ve <> başarısız olabilir işlecini kullanarak eşitsizliğini test edebilirsin.
Örneğin, bir oyuncu silah kuşanmasına rağmen bir hedefi yoksa veya bir hedefi olmasına karşın silahı yoksa aşağıdaki örnek kod bir "kullanılamaz eylem" simgesini görüntüler. Bu durum iki faktörü temsil eden logic değerleri karşılaştırılarak ifade edilebilir.
- Her ikisi de false ise oyuncu saldırmaya çalışmadığı için simgeyi görmezsin.
- Her ikisi de true ise oyuncu saldırabildiği için simgeyi görmezsin.
# Logic değişkenlerini gösterim amacıyla başlat.
var TargetLocked : logic = false
var WeaponEquipped : logic = true
# “Kullanılamaz eylem" simgesinin uygun olup olmadığını belirle.
if (WeaponEquipped <> TargetLocked):
# Simge görünür çünkü görünüşe göre oyuncu saldırmaya çalışıyor
# ancak bir silahı veya hedefi yok.
ShowUnavailableIcon()
Karşılaştırma işlemleri hakkında daha fazla bilgi için İşleçler bölümüne bakabilirsin.
Başarısız Olabilir İfadeyi Logic Türüne Dönüştürme
Başarısız olabilir bir ifadeyi logic{failable-expression} kullanarak bir logic türüne dönüştürebilirsin. Burada failable-expression, başarısız olabilen bir ifadedir.
Aşağıdaki örnekte GetRandomInt(0, MineFrequency) <> 0 başarısız olabilir ifadesi, isteğe bağlı tamsayı 0 ve true ise false logic değerine dönüştürülür.
IsMined := logic{GetRandomInt(0, MineFrequency) <> 0}
Standart Kütüphane
Standart kütüphane, logic türünün değerlerinin oluşturulmasına ve kullanılmasına yardımcı olacak işlevler sağlar. Bu işlevlerle ilgili daha ayrıntılı bilgi için Verse API Başvurusu bölümüne bakabilirsin.
Kalıcı Tür
Mantık değerleri kalıcıdır, yani bu değerleri hem modül kapsamına alınmış weak_map değişkenleriyle kullanabilir hem de değerlerini farklı oyun oturumları arasında devam ettirebilirsin. Verse’te kalıcılık hakkında daha ayrıntılı bilgi için Verse’te Kalıcı Veriler Kullanma bölümüne bakabilirsin.