僕ログ日記

主にプログラミングと雑記。

Unity備忘 スクリプトの書きかた色々(制御文編)

■if文で条件分岐

 ~書き方~

if(条件式) {

     処理

}

 

下記は薬草の数(herbNum)が、

「1」の時だけHPを回復するスクリプト

    void Start () {
        int herbNum = 1;
        if(herbNum == 1) {
            Debug.Log ("HPが50回復");
        }        
    }

■if-else文で条件分岐

~書き方~

if(条件式)  {

    処理A

}   else  {

    処理B

}

※下記はhpが100以上なら「攻撃」、

それ以外なら(hpが100以下)なら「防御」

という文を吐き出すスクリプト

 

    void Start () {
        int hp = 1;
        if (hp >= 100) {
            Debug.Log ("攻撃!");
        } else {
            Debug.Log ("防御!");
        }
    }

 

■if-else文を複数繋げる

~書き方~

if(条件式a)  {

      処理A

}  else if(条件式b)  {

    処理B

}

else  if(条件式y)  {

      処理Y

}   else  {

     処理Z

}

★ポイント★

上から順番に条件をチェックし、

条件を満たした場合は{}内の処理を実行し、

その後ろにまだif elseやelseが続いていても

条件分岐を終了する。

全ての条件式を満たさない場合は、

最後のelseに続く{}内の処理を

実行する。

 

※下記スクリプトはhpの数値によって

異なる文字を吐き出すスクリプト

 

        int hp = 51;
        if (hp <= 50) {
            Debug.Log ("逃走!");
        } else if (hp >= 200) {
            Debug.Log ("攻撃!");
        } else if (hp == 51) {
            Debug.Log ("待機");
        } else {
            Debug.Log ("防御!");
        }
    }

 

 ■for文で繰り返し

for文は繰り返す回数を指定すれば自動的に

処理を繰り返してくれる

~書き方~

for(変数初期化; ループ条件式; 変数の更新) {   処理

}

※下記は数字が5になるまで1を足し続ける

スクリプト

 

    void Start () {
        for(int i = 0; i < 5; i++) {
            Debug.Log (i);
        }
    }

※偶数だけを表示するスクリプト

    void Start () {
        for(int i = 0; i < 10; i += 2) {
            Debug.Log (i);
        }
    }

※特定の範囲を表示するスクリプト(3~5)

    void Start () {
        for(int i = 3; i <= 5; i++) {
            Debug.Log (i);
        }
    }

※カウントダウンするスクリプト(3~0)

    void Start () {
        for(int i = 3; i >= 0; i--) {
            Debug.Log (i);
        }
    }

※合計値を求めるスクリプト

    void Start () {
        int sum = 0;
        for(int i = 1; i <= 10; i++) {
            sum += i;
        }
        Debug.Log (sum);
    }