Nehmen wir an, du erstellst ein Spiel mit Zaubertränken. Jeder Trank hat eine andere Wirkung – er kann Spieler heilen oder verwunden. Daher musst du einige Konstanten und Variablen deklarieren und initialisieren, um zu speichern, welche Gesundheit der Spieler besitzt und wie stark ein Trank schadet oder heilt.
Doch was davon sollten Konstanten und was Variablen sein?
var PlayerHealth: float = 100.0
PotionDamageAmount: float = 20.0
PotionHealAmount: float = 10.0
Die Variablen und Konstanten, die du hier änderst, haben keinen Einfluss auf die Gesundheit deines Fortnite-Charakters, aber du wirst in einer späteren Lektion lernen, wie du genau das machst!
Je nach verwendetem Trank ändert sich die Gesundheit des Spielers während des Spiels. Wenn du an Veränderung denkst, denke an Variable.
Andererseits ist es nicht sonderlich sinnvoll, während eines Spiels das Ausmaß des Schadens bzw. der Heilung, das von einem Trank ausgeht, zu ändern; daher sollten diese als als Konstanten deklariert werden.
-
Wenn du jetzt Code schreibst, um die Variable
PlayerHealthzu ändern, weißt du nicht, ob er funktioniert hat, es sei denn, du gibst etwas ins Log aus. Deklariere und initialisiere dazu die Stringkonstante und die Stringvariable, wie unten angegeben. Vergiss dabei nicht das Leerzeichen zwischen dem Textende und dem letzten".PlayerStatusText: string = "Die Gesundheit des Spielers beträgt aktuell " var EffectOnPlayerText: string = "geschädigt um " -
Jetzt kannst du die Gesundheit des Spielers ändern. Um den Wert einer Variable zu ändern, musst du das Schlüsselwort
setam Anfang des Ausdrucks verwenden. DaPotionDamageAmountvonPlayerHealthsubtrahiert werden soll, verwendest du den Operator-.set PlayerHealth = PlayerHealth - PotionDamageAmount -
Nachdem
PlayerHealthsich geändert hat, willst du den Nachweis sehen! Führe dazu die Aufrufe anPrint()durch, wie unten angegeben.Print("Der Spieler wurde {EffectOnPlayerText + ToString(PotionDamageAmount)}") Print("{PlayerStatusText + ToString(PlayerHealth)}")Das mag so aussehen, als wolltest du mit deinen Strings rechnen; in Wirklichkeit kombinierst du sie über den Operator
+. Das nennt sich Verkettung. Die FunktionToString()erstellt einestring-Version deinerfloat-Variable und -Konstante, damit sie vonPrint()verwendet werden können. -
Wenn du den Code nun ausführst, solltest du sehen, dass zwei neue Zeilen ausgegeben werden:
Der Spieler wurde geschädigt um 20.0Die Gesundheit des Spielers beträgt aktuell 80.00
Probiere es jetzt einmal ganz allein mit PotionHealAmount.
- Ändere
PlayerHealthunter Verwendung des richtigen Schlüsselworts und Operators. - Zudem musst du die Variable
EffectOnPlayerTextändern, damit der ausgegebene Text Sinn ergibt. -
Und schließlich musst du ausgeben, wie sich der Trank auf die Gesundheit des Spielers auswirkt und wie viel seine Gesundheit aktuell beträgt. Versuche es zuerst selbst, aber wenn du Hilfe brauchst, schau dir den Code unten an.
set PlayerHealth = PlayerHealth + PotionHealAmount set EffectOnPlayerText = "geheilt um " Print("Der Spieler wurde {EffectOnPlayerText + ToString(PotionHealAmount)}") Print("{PlayerStatusText + ToString(PlayerHealth)}")
Vollständiges Script
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
hello_world_device := class(creative_device):
# Wird ausgeführt, wenn das Gerät in einem laufenden Spiel gestartet wird
OnBegin<override>()<suspends> : void =
PotionDamageAmount : float = 20.0
PotionHealAmount : float = 10.0
var PlayerHealth : float = 100.0
PlayerStatusText : string = "Die Gesundheit des Spielers beträgt aktuell "
var EffectOnPlayerText: string = "geschädigt um "
set PlayerHealth = PlayerHealth - PotionDamageAmount
Print("Der Spieler wurde {EffectOnPlayerText + ToString(PotionDamageAmount)}")
Print("{PlayerStatusText + ToString(PlayerHealth)}")
set PlayerHealth = PlayerHealth + PotionHealAmount
set EffectOnPlayerText = "geheilt um "
Print("Der Spieler wurde {EffectOnPlayerText + ToString(PotionHealAmount)}")
Print("{PlayerStatusText + ToString(PlayerHealth)}")