Fortnite UEFN VERSE

【VERSE】「レッスン 7:関数の結果を指定する」をフォートナイトに例えて解説


初心者

結果と戻り値?早期のreturn?むずかしいな...

よくわからない。誰かわかりやすく教えてください

当サイトでは、フォートナイトに例えて発信しています!

とーや


今回は、結果と戻り値や早期のreturnなどの【レッスン 7:関数の結果を指定する】を解説していきます。


アクションを実行


ゲームの中で、キャラクターが特定の動きや技を出すボタンを押すと、そのキャラクターはその動きや技を出しますよね、これが関数のようなものです。

ボタンを押す(関数を呼び出す)と、キャラクターが何かアクションをしてくれるのが結果です。

例えば、ゲーム内で特定のボタンを押すと、キャラクターがランダムなダンスを踊るような機能があったとしましょう。

それは「GetRandomDance()」のような関数と考えられるわけです。

そして、そのダンスの種類もいろいろありますよね。

一部のダンスは、とてもシンプルなもの(intのような整数)で、一部はもっと複雑で変わった動きをするもの(floatのような小数)があるでしょう。

例えば、「SimpleDanceMove() : int」という関数があれば、これはシンプルなダンスの動きをすると予想できる。

「FancyDanceMove() : float」のように型を変えると、もっと変わった複雑なダンスをすることが予想できます。

しかし、約束した動き(型)と違う動きをキャラクターがしてしまったら、ゲームがうまく動かなくなるかもしれません。

それはゲームのバグやエラーのようなものです。


結果と戻り値


関数とは、Fortniteでいうと、特定のボタンを押すことでキャラクターが行うアクションのようなものです。

このアクションを実行すると、キャラクターが何かを「返して」くれることがあります。


例えば、宝箱を開けるアクションをしたら、中から武器やアイテムが「返ってくる」、それが「結果」というわけです。


Fortniteにはたくさんの操作があるけど、プログラムにも「キーワード」という特別な操作があります。

キーワードは、ゲームの中で特定のボタンがもたらす特別なアクションみたいなもの。


例えば、「return」というキーワードは、キャラクターが宝箱を開けて、中から何かアイテムを取り出すようなアクションを表してる。

だから、「return 5」というのは、宝箱を開けたら5つのアイテムが手に入る、というイメージ。

上の例で言うと、MyFunction()っていうアクションをしたら、5つのアイテムが手に入るということ。

実際には「return」というキーワードを使わなくても、アイテムはもらえるますが、使った方がゲームがスムーズに進めます。


早期のreturn


ゲーム内で、特定のアクションを実行したとき、そのアクションは即座に終了することがあります。

例えば、HP(ライフ)がなくなったとき、そのキャラクターはゲームから即座に落ちる。

これは、プログラミングの中の「return」という操作に似ています。

あなたがゲーム内で特定のアイテムを使おうとして、そのアイテムを使うためのV-Bucks(ゲーム内のコイン)が足りなかったら、ゲームは「V-Bucksが足りません」と伝えて、アイテムは使えない、これが「return」の役割。

例のコードでは、ネズミ捕り器を買おうとしますが、V-Bucksが足りないとき、エラーメッセージが出て、ネズミ捕り器は買えません。

注意が必要なのは、早くアクションを終わらせる「return」を使うと、その後の操作やアクションが全部無視されること。

しかし、ゲーム内で、例えばアイテムを使う前に「return」があると、それ以後のアクション、たとえばキャラクターが踊るとか、ジャンプするとかの動きは全部キャンセルされる。

ゲームをするときも、プログラムを書くときも、操作の順番やタイミングはとても大切。

間違った操作をしたり、順番を間違えたりすると、ゲーム内で期待した結果が得られないかもしれないので、注意が必要です。


有益な結果のない関数の Void


ゲームをしていて、特定のアクションやアイテムを使うと、何かが起こることがある。

ですが、毎回何かを得るわけではない、それが「結果が必要ない」ということ。

ゲームの中には、勝つために特定の結果を期待するアクションと、ただ楽しむためのアクションがあります。

アクションやアイテムはいろいろな種類があって、それぞれが異なる結果や効果をもたらす。

例えば、ゲーム内のシールドポーションはHPを増やす効果があるけど、ダンスアクションはただ楽しむためのもので、戦闘には影響しません。


  • logic→ 敵を見つけたか見つけていないかのような、YesかNoの結果を意味する
  • int→ 獲得したV-Bucksの数や、撃退した敵の数のような、具体的な数字を示す
  • float→ ゲーム内での移動速度や、武器の射程のような、少し複雑な数値を示す
  • string→ ゲーム内のチャットやメッセージ

ゲーム内のあるアクションやイベントは、特定の結果や報酬を求めないこともある。

例えば、友達とのダンスバトル。

それはただ楽しむためのもので、V-Bucksやアイテムを得るわけではない、これが「void」という概念。

voidのアクションは、何も返さないけど、ゲームを楽しむためには重要な役割を果たしています。


まとめ


今回の記事の要点をまとめさせていただきます。


  • 結果→ ミッションをクリアしたときにもらえる報酬みたいなもの
  • コードブロックの最後の式→ 行動の一連の手順の中で最後に行われること
  • 関数から得る値の型→ 関数からもらえる報酬の種類を決めるもの
  • 早期return→ ミッションを途中で終わらせる合図だよ
  • void→ 特別な報酬の種類で、実は何ももらえないことを示すもの。


今回は、結果と戻り値や早期のreturnなどを勉強しました。


もし、質問やわからないことがございましたらDMやコメントをお願い致します!


最後までお読みいただきありがとうございました(@^^)/~~~

とーや


-Fortnite, UEFN, VERSE
-, , ,