見出し画像

UEFN:Verseの学習記録

今日からVerseの学習をはじめます!

学習①初めての Verse プログラムを変更して実行する

進捗:1/1 完了
理解:ログの出力方法

学習②Verse でのコードの書き方の基本を学ぶ

進捗:4/9 完了
理解:データの格納(定数、変数の書き方)

メモ

「完全なスクリプト」と書いてあるのにエラーになってたので、修正したソースを貼り付け。
「# add」の箇所を追加しているだけ。

using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }

hello_world_device := class(creative_device):

    # 実行中のゲームで仕掛けが開始されたときに実行します
    OnBegin<override>()<suspends> : void =

        MaxHealth : float = 100.0
        MinHealth : float = 1.0

        # add
        PotionHealAmount: float = 10.0
        PotionDamageAmount: float = 20.0
        var PlayerHealth: float = 0.0
        # add

        var PotionType: string = "heal"

        set PlayerHealth = 80.0
        
        # プレイヤーが回復ポーションを飲んだときに実行するコード
        # 回復時にプレイヤーのヘルス値が MaxHealth の値を超えないのであれば、
        # 全量を回復させます
        if (PotionType = "heal"):
            if ((PlayerHealth + PotionHealAmount) < MaxHealth):
                set PlayerHealth = PlayerHealth + PotionHealAmount
                Print ("Full heal")
            else:
                # else の場合は PlayerHealth を MaxHealth に設定します
                set PlayerHealth = MaxHealth
                Print("PlayerHealth too high for full heal")

        # プレイヤーがダメージ ポーションを飲んだときに実行するコード
        # プレイヤーのヘルス値が MinHealth より大きく、PotionDamageAmount よりも小さい場合はプレイヤーを倒しません
        # ヘルス値がすでに MinHealth 以下の場合はプレイヤーを倒します
        if (PotionType = "damage"):
            if ((PlayerHealth > PotionDamageAmount)):
                set PlayerHealth = PlayerHealth - PotionDamageAmount
                Print("Full damage")
            else if (PlayerHealth > MinHealth):
                # プレイヤーのヘルス値が低い場合は、もう一度チャンスを与えます
                set PlayerHealth = 1.0
                Print("PlayerHealth set to 1.0")
            else:
                set PlayerHealth = 0.0
                Print("Player eliminated!")

        Print("PlayerHealth now {PlayerHealth}")


この記事が気に入ったらサポートをしてみませんか?