見出し画像

C#の復習


この記事の趣旨説明

結構前にはProgram書いてたけど、だいぶ忘れちゃったので、改めて思ひ出しがてら記事にします。
正直、ほんとに殴り書きしてる感じなので、讀み飛ばしていただいて全く問題ありません。

この講座を參考にしてゐます。

Unity ゲーム開発:インディーゲームクリエイターが教える C#の基礎からゲームリリースまで【スタジオしまづ】
初心者OK!C#を使って複雑なGameを自分で開発しよう。コースの終わりにはオリジナルRPGを App Store&Google Playでリリースしよう!!!評価: 4.4(5段階中)1766件のレビュー合計13.5時間レクチャーの数: 122初級現在の価格: ¥27,800

Comment Out

//を文頭に入れることによって、Program言語ではないと判断し、ただの文字列として処理する。要はMemo書きや一時的に命令を無効化したいときに使へる。
/* ~ */と~に文字を入れると、~の部分がComment Outする。

void Start

Methodを宣言してゐる。Methodとは、何かの処理をする特定のPatternで呼び出されるもの。

void Update

これもMethodで、Programを無限に繰り返す。

UnityEngine.Debug.Log

UnityにおいてConsole畫面で處理が實行されたかわかるようにできる。

「變數=文字列の値を變へられるもの」

string

文字列型の變數

   void Start()
    {
        string say; //宣言
        say = " Hello world"; //代入
        UnityEngine.Debug.Log(say);
    }

「定數=文字列の値を變へられないもの」

const string

文字列型の定數

  void Start()
{
const string sayConst = "Hello world2";
UnityEngine.Debug.Log(sayConst);
}

「變數の型」

文字列型=string 整數=int 浮動小數點=float speed 論理値=bool

「數値の演算と演算子」

+は足し算 -は引き算 *は掛け算 /は割り算 %は割り算で餘りを出す +=は數値に特定の數値を加へる ++は+=と同じだけれど、1ずつしか足せない -=は+=の引き算版 --は++の引き算版 &&は〇〇and ||は〇〇or !は否定 >は○○より大きい >=は○○以上 <は〇〇未満 <=は○○以下 ==は等しい !=は違ふ

「Format」

文字列内で特定の形式を指定し、その形式に基づいて變數や値を挿入する。

public class firstprogram : MonoBehaviour
{
    string Name = "入江";
    int hp = 100;

    void Start()
    {
        UnityEngine.Debug.Log(string.Format("{0}のHP:{1}", Name, hp ));
    }

「if」

正しい場合と正しくない場合に別の實行をする

void Start()
{
string characterType = "Player";
    if (characterType == "Player")
    {
        UnityEngine.Debug.Log("味方だよ");
    }
    else if(characterType == "Enemy")
    {
        UnityEngine.Debug.Log("敵だよ");
    }
    else if (characterType == "Friend")
    {
        UnityEngine.Debug.Log("仲間だよ");
    }
    else
    {
        UnityEngine.Debug.Log("その他");
    }
}

「Switch」

ifと同じ。特定できるものに使ふのが良い。

void Start()
{
    string characterType = "Player";

    switch(characterType) //判斷するもの
    {
        case "Player": //比較するもの
            Debug.Log("味方だよ");
        break; //次の處理に移るための文
        case "Enemy":
            UnityEngine.Debug.Log("敵だよ");
        break;
        case "Friend":
            UnityEngine.Debug.Log("仲間だよ");
        break;
        default: //上記以外
            UnityEngine.Debug.Log("その他");
        break;

    }
}

「繰り返し處理 whileとfor」

↓どちらでもOKらしい。

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

「配列」

數字などをまとめる、for文と相性がいい

int[] xList = new int[3]; //Pattern 1
xList[0] = 0;
xList[1] = 2;
xList[2] = -3;
int[] xList = new int[3]{0, 2, -3};

int[] xList = new int[3]{0, 2, -3}; //Pattern 2

「Listとforeach」

要素の追加と削除が可能

void Start()
{
    List<int> numbers = new List<int>() { -1, 21, 23 };
    UnityEngine.Debug.Log(numbers[0]);
    UnityEngine.Debug.Log(numbers[1]);
    UnityEngine.Debug.Log(numbers[2]);
}
void Start()
{
    List<string> nameList = new List<string>() { "入江遜考", "イリエ", "ユヅチカ" };
    foreach(string Name in nameList)
    {
        UnityEngine.Debug.Log(Name);
    }
}

「關數」

處理をまとめた便利道具

void Start()
{
    string name1 = SampleNameFunction("irie");
    UnityEngine.Debug.Log(name1);
}
// Update is called once per frame
string SampleNameFunction(string sampleName)
{
    UnityEngine.Debug.Log(sampleName);
    return sampleName + "さん";
}

「Class」

Programを分割するためのもの。變數と關數を持ってゐる。

public class PlayerModel
{
string name;
int hp;
int at;

public PlayerModel()
{
    name = "irie";
}
public PlayerModel(string name)
{
    this.name = name;
}

public void SayName()
{
    UnityEngine.Debug.Log(name);
}
public class firstprogram : MonoBehaviour{

void Start()
{
    PlayerModel player = new PlayerModel("yudzuchika");
    PlayerModel player2 = new PlayerModel("nanashi");
    player.SayName();
    player2.SayName();
}

「Property」

Class内の變數に對して、直接Accessさせないために制御する仕組み(意味が解らない)

public string Name
{
    get { return Name; }
    set { Name = value; }
}

以上、C#の基礎でした。
これ作るのに3日くらいかかってしまひました!

この記事が気に入ったらサポートをしてみませんか?