3-1 if ステートメントの概要

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

  • プレーヤーが 10 ポイントを獲得した場合、そのプレーヤーが勝利となります。
  • プレイヤーがパワーアップを持っている場合、彼らは超高速で走ることができます.
  • プレイヤーがチャットで「ハッピーバースデー」と言うと、輝きが現れます。

これらの関係にはすべて、特定の条件が true(真)になっている場合にのみ実行される条件文が必要です。条件ステートメントの 1 つのタイプは、if~then ステートメントです。「if」は日本語で「もし」に相当し、「then」は「だったら」という意味になります。『もし〇〇が△△だったら、××をする』という感じになります。

ステートメントとは?

プログラムの構成単位となる、一つ一つの手続きや命令、宣言などのことをステートメントあるいは「文」と言います。

if文の練習

if 文を使ったプログラムを作成してみましょう。プログラムでは、3 + 3 = 6 などの条件が真の場合、パーツの色が変わります。

パーツとスクリプトの設定

BaseplateまたはClassic Baseplateを開きます。

  1. ServerScriptServiceで、 IfThenScriptという名前の新しいスクリプトを作成します。いつものように1行目のprint文を削除し、説明的文をコメントで入れておきます。
  2. 「IfThenPart」という名前の新しいパーツを作成します。

if ステートメントの開始

if 文はキーワード「if」で始まります。日本語で「もし」です。その後に条件式が続きます。条件にはさまざまな形式がありますが、多くの場合、数式のような単純なステートメントです。その条件が true の場合、コードは引き続き実行されます。

  1. IfThenScript で、キーワードifを入力します。
-- ある条件が成立した場合に、その部分を変更する
if

2.キーワードの直後に、「3+3 == 6」など、「真」になるステートメントを入力します。この部分を「条件式」と言います。3+3は6になりますから「真」になりますね。常に真になるものをif文にすることはないのですが、今回はあくまで練習ということでこのようにしています。

-- ある条件が成立した場合に、その部分を変更する
if 3 + 3 == 6
if ステートメントで比較を行うときは常に「==」を使用して、2つの値が等しいかどうかを確認できます。「=」を1つにすると「代入」という意味になり比較することができません。

ステートメントのコーディング

条件が真になった場合に実行するプログラムが必要になります。

  1. 「if 3 + 3 == 6」まで入力し、Enterキーを押すと自動的に「then」と「end」が入ります。
-- ある条件が成立した場合に、その部分を変更する
if 3 + 3 == 6 then

end
  1. 真になった場合に実行するプログラムは、この「then」から「end」の間に記述します。今回は、「game.Workspace.BrickName.Transparency = 0.5」とパーツ半透明にするプログラムを入力します。
-- ある条件が成立した場合に、その部分を変更する
if 3 + 3 == 6 then
    game.Workspace.IfThenPart.Transparency = 0.5
end
  1. テスト実行してみます。パーツが半透明になったら成功です。
https://prod.docsiteassets.roblox.com/assets/education/coding-3/ifStatements-correctConditional.mp4

トラブルシューティング

パーツが半透明にならなかった場合は、次の項目を確認してください。

  • if、then、およびendのキーワードが半角の小文字になっていますか?
  • 「=」ではなく、「==」になっていますか?

偽の状態をチェックする

条件が一致しない、つまり「偽」にした場合はどうなるのかを確認してみましょう。

  1. if ステートメントで、「3+3==10」などと、条件が不一致(偽)するような式を入れてみましょう。
-- ある条件が成立した場合に、その部分を変更する
if 3 + 3 == 10 then
    game.Workspace.IfThenPart.Transparency = 0.5
end
  1. テスト実行してみましょう。今度は半透明にならないはずです。
    条件式が「偽」になる場合「 game.Workspace.IfThenPart.Transparency = 0.5」が実行されないからです。
https://prod.docsiteassets.roblox.com/assets/education/coding-3/ifStatements-falseCondition.mp4

その他の比較

すべての if ステートメントの条件が単純な加算になるわけではありません。2つの数値が等しいかどうかを確認する代わりに、乗算、加算、減算、またはその他の比較を行うこともできます。

以下は、可能な数学および比較演算子のいくつかの例です。これらは、次のオプションの課題に使用できます。

数学演算子

記号意味
+加算
減算
*乗算
/除算

比較演算子

記号意味
== 等しい
~=等しくない
<それより小さい
>それより大きい
<=それ以下
>=それ以上

条件式の例

次のような文章を条件式で記述するとこのようになります。

  1. 数値が 10より小さい場合
    myNumber < 10
  2. 数値が 200 より大きいか同じの場合
    myNumber >= 200
  3. 数値が10 でない場合
    myNumber ~= 10

返信を残す コメントをキャンセル