Załóżmy, że tworzysz grę, w której pojawiają się magiczne mikstury. Mikstury wywołują różne efekty – mogą leczyć graczy lub zadawać im obrażenia. Musisz zadeklarować i zainicjować kilka stałych i zmiennych do przechowywania zdrowia gracza oraz poziomu obrażeń lub efektu leczenia pod wpływem mikstury.
Ale które z nich powinny być stałymi, a które zmiennymi?
var PlayerHealth: float = 100.0
PotionDamageAmount: float = 20.0
PotionHealAmount: float = 10.0
Zmienne i stałe, które tutaj zmieniasz, nie wpłyną na zdrowie postaci w Fortnite, ale w późniejszej lekcji dowiesz się, jak to zrobić!
Stan zdrowia gracza będzie się zmieniał w trakcie gry w zależności od tego, jakich mikstur użyje. Gdy myślisz o zmianie, pomyśl o zmiennej.
Z drugiej strony nie ma sensu zmieniać ilości zadawanych obrażeń lub poziomu leczenia przez mikstury podczas gry, więc powinny one być zadeklarowane jako stałe.
-
Jeśli teraz napiszesz kod zmieniający zmienną
PlayerHealth, nie będziesz w stanie stwierdzić, czy zadziałał, chyba że wyświetlisz coś w dzienniku. Aby to uprościć, zadeklaruj i zainicjuj stałą typu string i zmienną typu string poniżej. Pamiętaj, aby dodać spację między końcem tekstu a ostatnim cudzysłowem".PlayerStatusText: string = "Obecny stan zdrowia gracza to " var EffectOnPlayerText: string = "obrażenia " -
Teraz możesz zmienić stan zdrowia gracza. Aby zmienić wartość zmiennej, użyj słowa kluczowego
setna początku wyrażenia. WartośćPotionDamageAmountpowinna zostać odjęta odPlayerHealth, więc użyj operatora-.set PlayerHealth = PlayerHealth - PotionDamageAmount -
Po zmianie
PlayerHealthzechcesz zobaczyć dowód! W tym celu wywołaj funkcjęPrint()pokazaną poniżej.Print("Gracz odniósł {EffectOnPlayerText + ToString(PotionDamageAmount)}") Print("{PlayerStatusText + ToString(PlayerHealth)}")Może się wydawać, że wykonujesz działania matematyczne na ciągach tekstowych, ale w rzeczywistości łączysz je za pomocą operatora
+. Nazywane jest to konkatenacją. FunkcjaToString()tworzy wersjęstringzmiennej i stałejfloat, aby można ich było użyć w funkcjiPrint(). -
Gdy uruchomisz teraz ten kod, powinny wyświetlić się dwa nowe wiersze:
Gracz odniósł obrażenia 20.0Obecny stan zdrowia gracza to 80.00
Teraz samodzielnie spróbuj zrobić to samo w odniesieniu do PotionHealAmount.
- Zmień
PlayerHealthza pomocą właściwego słowa kluczowego i operatora. - Musisz też zmienić zmienną
EffectOnPlayerText, tak aby po wyświetleniu miało to sens. -
Na koniec musisz wyświetlić, w jaki sposób efekt wpłynął na zdrowie gracza, a także wyświetlić jego aktualny stan zdrowia. Najpierw spróbuj zrobić to samodzielnie, ale jeśli potrzebujesz pomocy, spójrz na poniższy kod.
set PlayerHealth = PlayerHealth + PotionHealAmount set EffectOnPlayerText = "uleczony o " Print("Gracz został {EffectOnPlayerText + ToString(PotionHealAmount)}") Print("{PlayerStatusText + ToString(PlayerHealth)}")
Kompletny skrypt
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
hello_world_device := class(creative_device):
# Działa po uruchomieniu urządzenia w aktywnej grze
OnBegin<override>()<suspends> : void =
PotionDamageAmount : float = 20.0
PotionHealAmount : float = 10.0
var PlayerHealth : float = 100.0
PlayerStatusText : string = "Obecny stan zdrowia gracza to "
var EffectOnPlayerText: string = "obrażenia "
set PlayerHealth = PlayerHealth - PotionDamageAmount
Print("Gracz odniósł {EffectOnPlayerText + ToString(PotionDamageAmount)}")
Print("{PlayerStatusText + ToString(PlayerHealth)}")
set PlayerHealth = PlayerHealth + PotionHealAmount
set EffectOnPlayerText = "uleczony o "
Print("Gracz został {EffectOnPlayerText + ToString(PotionHealAmount)}")
Print("{PlayerStatusText + ToString(PlayerHealth)}")