[Unity 학습 C#]2-1 정렬

9181 단어 UnityC#
배열은 여러 데이터를 처리하기에 편리하다.
여러 개의 적 데이터의 관리 상황을 구상하다.

적의 데이터 상황

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

// 敵
public class Enemy{
    public string name;
    public int hp;
    public int attack;

    public Enemy(){
    }

    public Enemy(string name, int hp, int attack){
        this.name = name;
        this.hp = hp;
        this.attack = attack;
    }

    // ステータスをコンソールに表示
    public void DebugStatus(){
        // string.Formatを使うと, + でつなげるよりも見た目わかりやすく文字を連結できる.
        Debug.Log (string.Format ("名前; {0}, HP: {1}, 攻撃; {2}", name, hp, attack));
    }
}

public class ArrayExample : MonoBehaviour {

    void Start(){
        Enemy en1 = new Enemy ("スライム", 5, 3);
        en1.DebugStatus ();
    }

}
이렇게 하면 적의 데이터를 표시할 수 있다.
결과 이미지

그림으로 표시하면,
new Enemy ("スライム", 5, 3);
Enemy 생성,

'en1'이라는 상자에 넣은 것 같아.

적 데이터 3 시(정렬 사용 안함)


적이 세 개라면 Start 함수 중 아래와 같다.
    void Start(){
        Enemy en1 = new Enemy ("スライム1", 5, 3);
        Enemy en2 = new Enemy ("スライム2", 1, 2);
        Enemy en3 = new Enemy ("スライム3", 4, 3);
        en1.DebugStatus ();
        en2.DebugStatus ();
        en3.DebugStatus ();
    }
이미지는 다음과 같다.

각자 독립하다.
그래도 되지만 적의 수가 많으면 기술이 점점 어려워진다.

적 데이터 3 시(정렬 사용)


배열을 사용하면 다음과 같이 쓸 수 있다.
    void Start(){
        Enemy[] enemies = new Enemy[3];

        enemies[0] = new Enemy ("スライム1", 5, 3);
        enemies[1] = new Enemy ("スライム2", 1, 2);
        enemies[2] = new Enemy ("スライム3", 4, 3);

        enemies [0].DebugStatus ();
        enemies [1].DebugStatus ();
        enemies [2].DebugStatus ();
    }
해설하기 전에 먼저 인상을 표시하다.

우선, 이 문장에서.세 구역이 있는 상자를 만들어보자.
Enemy[] enemies = new Enemy[3];
영역마다 0부터 시작하는 숫자가 있는데,
enemies[0]
이렇게 각 분야를 방문할 수 있다.
이것은 0부터 매우 중요하다.
enemies[3]
모기장
enemies[100]
등, 존재하지 않는 영역을 방문하려면 오류가 발생할 수 있으니 주의해야 한다.
배열을 사용하지 않았을 때보다 변수의 수가 세 개에서 하나로 바뀌었고 줄은 한 줄 증가했다.
For 문을 사용하여 보다 지능적으로 작성할 수 있습니다.
길었으니까 헤어져.

좋은 웹페이지 즐겨찾기