【5】if/then文を使用する

ゲームを作っていると、次のような因果関係を作りたくなります。

  • もし、プレイヤーが10ポイント獲得したら、勝利する。
  • もし、プレイヤーがスピードアップアイテムを使用したら、速く走れる。
  • もし、プレイヤーがチャットで「Happy Birthday」と入力したら スパークルが現れる。

これらは「もし、OOOOならば、XXXXしなさい」という命令文に相当します。そのときに使用するものが、「if / then文」です。

条件文の練習

このコードの例では、文が true の場合にパーツの透明度を変化させます。練習では「3+3=6」のように明らかに true の文を使用します。文が true なので、次の行のコードが実行されます。

パーツとスクリプトを設定する

  1. ServerScriptService で、IfThenScript という名前の新しいスクリプトを作成します。
  2. IfThenPart という名前の新しいパーツを作成します。
  3. スクリプトで Hello World を削除し、上部にコメントを入力します。

条件をコーディングする

ここでの条件は、「3+3」が「6」に等しい場合であり、この条件が満たされると何かが起こります。この条件を作成するには次の手順を踏みます。

  1. 小文字で「if 3+3」と入力します。
  1. 3+3」の後に「==」と入力します。

==と=との違い
・== は値を比較します。if文で使用されます。
・= は変数の値を設定します。

  1. ==」の後に「6」と入力します。これは、確認の際に照合されるものです。他の数字を使用する場合、10 – 4 == 6のように条件がtrueであることを確認します。

文をコーディングする

条件を作成した後、条件がtrueの場合に実行される文をスクリプトに含める必要があります。ここでは、条件がtrueであれば、パーツの透明度が変化します。

  1. if 3+3 == 6」の後に「then」と入力します。
  1. [Enter] を押して、if文をendでオートコンプリートさせます。
  1. thenendの間に「game.Workspace.BrickName.Transparency = .5」と入力します。
  1. コードをテストします。パーツの透明度が変更されていることを確認します。

コードのトラブルシューティング
・if、then、end が小文字であることを確認します。
・ひとつの = ではなく、ふたつの == を使用します。
・パーツの透明度を変化させるコードが if ~ end 内にあることを確認します。これができていなくても動作しますが、if/then文の一部ではなくなります。

false条件を確認する

ここで、数式がfalseの場合に何が起こるかを確認するために、意図的に文を変更します。

  1. if 3+3 == 6 then」 を 「if 3+3 == 10 then」に変更します。
  2. コードをテストします。
    明らかに文が true ではないため、パーツの透明度は変更されなくなります。

その他の比較を行う

2つの数値が等しいか確認する代わりに、乗算、加算、減算、その他の比較を行うこともできます。作成するゲームによって、最適なものは異なります。

オプションチャレンジ:様々な演算子を使用する
・myNumberが10より小さい:
   if myNumber < 10
myNumberが200以上:
    if myNumber >= 200

演算子意味
+足し算
引き算
*掛け算
/割り算
数学演算子
記号意味
==等しい
~=等しくない
<=小さいか同じ
>=大きいか同じ
<小さい
>大きい
比較演算子

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です