UnityをC#で超入門してみる #3 計算の章

UnityをC#で超入門してみる #2 ゲームオブジェクトの章
http://qiita.com/hiroyuki_hon/items/5211a1853647eee38d51
の続きです。

#目次　超入門#3　計算の章
演算・制御・配列・ランダム・比較

###C#の文法

　演算、制御してみよう
　　値が同じかを調べる
　配列を試してみよう
　　配列からランダムに取りだそう
　時間を表示しよう

###mathfクラス

　ランダムを生成しよう
　べき乗（指数）を計算しよう
　円周率をもとめよう
　大きい方を返す、小さい方を返す


## C#の文法

#演算、制御してみよう
スクリプト内はもちろん、Debug.Log内でも四則演算が可能です。

+ 足し算
- 引き算
* かけ算
/ 割り算
% 余りを出します

このように書きます。
![スクリーンショット 2014-01-03 2.02.13.png](https://qiita-image-store.s3.amazonaws.com/0/26030/43e7de9b-6425-64a6-7d0f-a58a5fbcb36c.png)
計算結果で返されます。
![スクリーンショット 2014-01-03 2.11.26.png](https://qiita-image-store.s3.amazonaws.com/0/26030/9c5a2ca2-c5cf-76ba-b4eb-8b4086dd86b7.png)

##値が同じかを調べる
![スクリーンショット 2014-01-03 2.15.38.png](https://qiita-image-store.s3.amazonaws.com/0/26030/d12b1115-2f7d-e60f-176a-0d6e1c9cc9bd.png)
こちらは比較の結果が返されます。
![スクリーンショット 2014-01-03 2.18.11.png](https://qiita-image-store.s3.amazonaws.com/0/26030/a22d0c8b-c1c8-3e17-36d9-81ecb234c237.png)
このように演算子を使うことが可能です。

if文なりを書くことも出来ます。

```csharp
	int i = 10;
	int j = 20;
	int k;

	void Start () {
		k = i + j;
		print(k);

		if(k == 30)
			print("Kは30");
		else
			print("それはない。");
	}
```

こうすると kは30 がコンソールに出ます。

for文なりなんなりも当然に効きます。

```csharp
for (int m = 0 ; m < 5 ; m++)
			print(m + 1);
```


#配列を試してみよう
C#の配列は以下のようになります。
型名[] 配列名 = new 型名[要素数];

```csharp
	void Start () {

		int[] arr = new int[3];

		arr[0] = 1;
		arr[1] = 2;
		arr[2] = 3;

		Debug.Log(arr[0]);
		Debug.Log(arr[1]);
		Debug.Log(arr[2]);
	}
```


```csharp

public class ListTest : MonoBehaviour 
{
//リストの生成
    public System.Collections.Generic.List<string> ListNameString;
    public System.Collections.Generic.List<int> ListNameInt;
 
    //Inspectorに名前がListNameXのリストが現れる。
    //サイズを指定して、中もインスペクターで生成できる。
   
    //例：Size3として　1,2,3と入れた場合。
    //例：Size2として、test1,test2と入れた場合。
    
    void Start ()
    {
    	ListNameInt.ForEach(text => print(text));
 	//出力：　0,1,2
 
 	ListNameString.ForEach(text => print(text));
 	//出力：　test1,test2
    }
 
}

```

##配列からランダムに取りだそう

```csharp
for (int i = 0 ; i < 5 ; i++)
	{
		int seisuu = Random.Range(0, 3);

		  	int[] arr = new int[3];

			arr[0] = 1;
			arr[1] = 2;
			arr[2] = 3;

			Debug.Log(arr[seisuu]);
	}
```

#時間を表示しよう
単純に経過時間を出す。 Time.time

```sharp

print(Time.time);

```


##mathfクラス

#ランダムを生成しよう
Random.value;
Random.Range(x, y);　を用いる。

```csharp
//乱数を生成する

	void Start () {

       for (int i=0 ; i<5 ; i++)
        {
            float x = Random.value;
            Debug.Log(x);
        }

//レンジをきめて乱数を生成する

        for (int i=0 ; i<5 ; i++)
        {
            float y = Random.Range(2.0f, 3.0f);
            Debug.Log(y);
        }

//整数の乱数を生成する
			
		for (int i=0 ; i<5 ; i++)
        {
            int seisuu = Random.Range(0, 9);
            Debug.Log(seisuu);
        }
    }
```

#べき乗（指数）を計算しよう
Mathf.Pow　を用いる。

```csharp
print(
              Mathf.Pow(3, 2));
//出力:9
```




#円周率をもとめよう

Mathf　Namespace: UnityEngine から
Mathf.PI　を使います。
参考　http://docs-jp.unity3d.com/Documentation/ScriptReference/Mathf.PI.html

```csharp

float pi = Mathf.PI;
Debug.Log(pi);

```

で、コンソールに

```csharp

3.14159274101257
UnityEngine.Debug:Log(Object)

```

となります。


#大きい方を返す、小さい方を返す

大きい方を返す　Mathf.Max();

```csharp
print(
           Mathf.Max(1.2F, 2.4F)); 
//出力:2.4
```

小さい方を返す Mathf.Max();

```csharp
 print(
              Mathf.Min(1.2F, 2.4F));
//出力:1.2
```


#つづきます
UnityをC#で超入門してみる #4　GUIの章
http://qiita.com/hiroyuki_hon/items/af0a52c1cb9e856f32b2