Sihirli iksirlerin olduğu bir oyun yapmakta olduğunu varsayalım. İksirlerin farklı etkileri var; oyuncuları iyileştirebilir veya onlara zarar verebilirler. Oyuncu canını ve bir iksirin neden olduğu hasar veya iyileştirme miktarını depolamak için bazı sabit ve değişkenleri bildirmen ve başlatman gerekir.
Fakat hangileri sabit, hangileri değişken olmalı?
var PlayerHealth: float = 100.0
PotionDamageAmount: float = 20.0
PotionHealAmount: float = 10.0
Burada değiştirdiğin değişken ve sabitler, Fortnite karakterinin canını etkilemeyecektir, ancak ilerleyen derslerde bunu nasıl yapacağını da öğreneceksin!
Oyuncunun canı, oyun sırasında kullandığı iksirlere bağlı olarak değişecek. Değişmek dendiğinde aklına değişken gelsin.
Öte yandan, iksirlerin verdiği hasar veya iyileştirme miktarını oyun sırasında değiştirmek pek mantıklı olmaz, bu yüzden bunlar sabit olarak bildirilmeli.
-
PlayerHealthdeğişkenini değiştirmek için şu anda kod yazarsan günlüğe bir şey yazdırmadıkça bunun işe yarayıp yaramadığını anlayamazsın. Bu sorunu çözmek için aşağıdaki dize sabitini ve dize değişkenini bildir ve başlat. Metnin sonu ile son"arasına boşluk eklemeyi unutma.PlayerStatusText: string = "Player health now " var EffectOnPlayerText: string = "damaged " -
Artık oyuncunun canını değiştirmeye hazırsın. Bir değişkenin değerini değiştirmek için ifadenin başında
setanahtar sözcüğünü kullanman gerekir.PotionDamageAmount,PlayerHealthten çıkarılmalıdır; dolayısıyla-işlecini kullanmalısın.set PlayerHealth = PlayerHealth - PotionDamageAmount -
PlayerHealthdeğiştikten sonra bunun kanıtını görmek isteyeceksin! Bunun için aşağıda gösterildiği gibiPrint()çağrıları yap.Print("Oyuncuya {ToString(PotionDamageAmount) + EffectOnPlayerText}") Print("{PlayerStatusText + ToString(PlayerHealth)}")Bu kodu yazarken dizelerinle matematik işlemleri yapmaya çalışıyormuşsun gibi görünebilir, ancak aslında yaptığın şey
+işleciyle dizeleri birlikte kullanmak. Buna birleştirme denir. Buna birleştirme (concatenation) denir.ToString()fonksiyonu,floatdeğişkeninin ve sabitininstringsürümünü oluşturur; böylece bunlar,Print()tarafından kullanılabilir. -
Şimdi bu kodu çalıştır. İki yeni satırın yazdırıldığını göreceksin:
The Player was damaged 20.0Player health now 80.00
Şimdi kendi başına aynı şeyi PotionHealAmount için yapmayı dene.
- Doğru anahtar sözcüğü ve işleci kullanarak
PlayerHealthdeğerini değiştir. - Yazdırıldığında anlamlı olması için
EffectOnPlayerTextdeğişkenini de değiştirmen gerekecek. -
Son olarak, oyuncunun canının nasıl etkilendiğini ve mevcut canını yazdırman gerekir. Bunu önce kendin dene ancak yardıma ihtiyacın olursa aşağıdaki koda bak.
set PlayerHealth = PlayerHealth + PotionHealAmount set EffectOnPlayerText = "can verildi" Print("The Player was {EffectOnPlayerText + ToString(PotionHealAmount)}") Print("{PlayerStatusText + ToString(PlayerHealth)}")
Tam Kod
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
hello_world_device := class(creative_device):
# Cihaz, çalışmakta olan bir oyunda başlatıldığında çalışır
OnBegin<override>()<suspends> : void =
PotionDamageAmount : float = 20.0
PotionHealAmount : float = 10.0
var PlayerHealth : float = 100.0
PlayerStatusText : string = "Oyuncu canı şimdi "
var EffectOnPlayerText: string = "damaged "
set PlayerHealth = PlayerHealth - PotionDamageAmount
Print("Oyuncuya {ToString(PotionDamageAmount) + EffectOnPlayerText}")
Print("{PlayerStatusText + ToString(PlayerHealth)}")
set PlayerHealth = PlayerHealth + PotionHealAmount
set EffectOnPlayerText = "can verildi"
Print("The Player was {EffectOnPlayerText + ToString(PotionHealAmount)}")
Print("{PlayerStatusText + ToString(PlayerHealth)}")