if文の使い方

AイベントをクリアするとBイベントが発生するが、AイベントをクリアできなければCイベントに巻き込まれる、みたいに良く使われる条件式がif文です。

if文の定義です。

if ([条件式1]):
    [処理1]
else if([条件式2]):
    [処理2]
else:
    [処理3]

if文の例です。たたき台となるスクリプトを以下に掲載します。


using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /Verse.org/Colors/NamedColors }

Loop_Manage := class(creative_device):

    @editable
    button : button_device = button_device{}

    @editable
    teleporter : teleporter_device = teleporter_device{}

    var count : int = 0

    OnBegin<override>()<suspends>:void=
       button.InteractedWithEvent.Subscribe(OnInteractedWithEvent)

    OnInteractedWithEvent(Agent : agent):void =
        set count = count + 1 #set count += 1
        Print("Round{count}", ?Duration:=10.0, ?Color:=Green)
        Print("黄色くて強そうなクリーチャーを倒すと次に進めるよ", ?Duration:=10.0, ?Color:=Yellow)
       

こちらのスクリプトはループゲーム制作で活用したものです。動画で詳細を確認できます。

このスクリプトだと永遠にラウンド数をカウントするだけのゲームで味気ないので、if文を使って変化させたいと思います。

ラウンド数をカウントしますが、これが3になった場合、つまり変数count=3という条件を満たした場合に特別なイベントを発生させます。

 OnInteractedWithEvent(Agent : agent):void =
        set count = count + 1 #set count += 1
        Print("Round{count}", ?Duration:=10.0, ?Color:=Green)
        Print("黄色くて強そうなクリーチャーを倒すと次に進めるよ", ?Duration:=10.0, ?Color:=Yellow)
    if(count=3):
            teleporter.Enable()

OnInteractedWithEvent関数の中に、if~を追記しています。今回では仕掛けデバイスのテレポーターの力を借りて、count=3を満たしたらば新規テレポーターが出現する(Enable())と記述します。そのため、テレポーターの記述をスクリプト前半部に追記してあげます。以下が新しいスクリプトの全文です。


using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /Verse.org/Colors/NamedColors }

Loop_Manage := class(creative_device):

    @editable
    button : button_device = button_device{}

    
    #テレポーターを定義してあげる
    @editable
    teleporter : teleporter_device = teleporter_device{}

    var count : int = 0

    OnBegin<override>()<suspends>:void=
       button.InteractedWithEvent.Subscribe(OnInteractedWithEvent)

    OnInteractedWithEvent(Agent : agent):void =
        set count = count + 1 #set count += 1
        Print("Round{count}", ?Duration:=10.0, ?Color:=Green)
        Print("黄色くて強そうなクリーチャーを倒すと次に進めるよ", ?Duration:=10.0, ?Color:=Yellow)
        if(count=3): #if文を使って、
            teleporter.Enable() #変数count=3になったらば、新規テレポーターが登場すると記載

こちらを参考に、countの数値を変更し、また違うイベントが発生するようにアレンジするとverseがどんどん面白くなりますよ!!!

お疲れさまでした!!!

ご質問やご感想はお気軽にコメント欄まで!

コメントする