もしもの時の条件分岐

突然流れを切ってしまって申し訳ないのですが、関数の説明とこれからする条件分岐の説明を入れされてもらいました。

『キー入力によってプレイヤーを動かす』とかやりたいですよね!
そのためには事前に知っておいてもらいたいと思っています。

一つ一つの項目が長くならないようにしているため、説明のために多少横道に逸れてしまうかもしれませんがご容赦ください。

if文

「もし~~ならば~~せよ」という、どんなプログラムにもある基本的な構文です。

GMLでは以下のように書きます。

if(true)
{
	// 条件がtrueなら処理される
}
else
{
	// 条件がfalseなら処理される
}

if文には結果としてtrueまたはfalseになる条件を指定します。
GMLの場合そうでなくても動いてしまう事があるため、意識的にtrue/falseであるかを考えて指定しましょう。

比較演算子

むずかしい言葉が出てきました。
むずかしいから他に呼び名があればいいんですが、要するに2つの値を比較する事で、truefalseかを調べるための物です。

演算子説明
等価(A == BABは同じ値の場合にtrue、そうでなければfalseを返します。
不等価(A != BABが違う値の場合にtrue、そうでなければfalseを返します。
より大きい(A > BABより大きい場合にtrue、そうでなければfalseを返します。
以上(A >= BAB以上の場合にtrue、そうでなければfalseを返します。
より小さい(A < BABより小さい場合にtrue、そうでなければfalseを返します。
以下(A <= BAB以下の場合にtrue、そうでなければfalseを返します。

if文ではこれらの比較を使って条件分岐を行います。

論理演算子

もっとむずかしい言葉が出てきました。
もう若干キレ気味です。

これは複数の比較を行いたい時に便利です。たった3つだけなので挫けないでください。

演算子説明
AND(ex1 && ex2ex1ex2が両方trueならtrueを返します。
いずれか、または両方がfalseならfalseを返します。
OR(ex1 || ex2ex1またはex2のいずれかがtrueならtrueを返します。
両方ともfalseならfalseを返します。
理論否定(!ex1ex1trueの時にfalseを返します。
逆にex1falseの時にtrueを返します。

ex1ex2true/falseを評価した結果という意味です。

練習

変数A+12以上かつ変数A+110未満ならA +=1する

A = 1;

if(A+1 >= 2 && A+1 < 10)
{
	A += 1;
}

どうでしょう?意味がわかりましたか?

if文に関しては慣れが必要かもしれません。
ただ、どんなプログラム言語にも存在し、同じ用途で使われるものなので、ばっちり覚えても損にならない構文ですので、是非覚えておきましょう。

もどる