33. 条件分岐

目的

ブループリントで処理を記述する際に,条件によって処理を変更することがある.ここでは条件分岐の方法を学ぶ.

説明

ここでは,最初100あるライフがaキーを押すと5ずつ減っていき,0になると終了する例を通して条件分岐の方法を説明する.

初期値を設定する

まず,Integer型のLifeという名前の変数を作成する.デフォルト値として100を設定してもよいが,ここではプレイ開始後に値100を設定している.

aキーを押すとライフが減る

aキーを押すとライフが5ずつ減るようにするには,整数同士の減算を行う「Integer – Integer」ノードを使用すればよい.具体的には,現在のLifeの値を取得し,5を減算し,減算結果をLifeに設定すればよい.

ライフを表示する

ライフが正しく減っているかどうかを確認するには,aキーが押される度にライフを表示すればよい.

ライフが0になると終了する

ライフが0になると終了するようにするには,条件として整数同士の大小関係を比較する「Integer <= Integer」ノードと条件分岐を行うBranchノードを使用する.具体的には,Lifeの値を取得し,その値が0以下であるどうかを比較する.比較した結果をBranchノードのCondition変数入力ピンに入力すると,条件が満たされる場合にTrue実行出力ピンの内容が,条件が満たされない場合にFalse実行出力ピンの内容が実行される.ここでは,条件が満たされた場合にゲームを終了するようにしている.

課題で使用するノード

整数の加減算を行うノード

  • Integer + Integerノード
    • 整数同士の加算を行う
  • IncrementIntノード(++ノード)
    • 整数の値を1増やす
  • DecrementIntノード(–ノード)
    • 整数の値を1減らす

整数の大小比較を行うノード

  • Integer < Integerノード
  • Integer > Integerノード
  • Integer >= Integerノード
  • Integer == integerノード

課題

以下の新規ブループリントプロジェクトを作り,課題を行え.

  • ファーストパーソン
  • デスクトップ/コンソール
  • ハイエンド
  • スターターコンテンツ有り

課題0

最初100あるライフがaキーを押すと減っていくようにし,ライフを表示せよ.

課題1

bキーを押すとライフが増えていくようにせよ.

課題2

ライフが0になると終了するようにせよ.

課題3

ライフが100を超えないようにせよ.

課題4

ライフが20より小さくなると表示が赤になるようにせよ.

課題5

ライフが40より小さくなると表示がオレンジになるようにせよ.

課題6

ライフが60より小さくなると表示が黄色になるようにせよ.

課題7

ライフが80より小さくなると表示が緑になるようにせよ.

課題8

プレイ回数を3回とし,ライフが0になる度プレイ回数が減るようにせよ.

課題9

プレイ回数,ライフともに0になるとゲームが終了するようにせよ.