2014-02-28 3 views
-2

하나의 부모와 하나의 상속 된 두 개의 다른 클래스에서 두 세트의 데이터 멤버 목록을 만드는 데 대한 지식을 찾고 싶습니다.데이터 멤버 그룹을 사용하여 목록을 채우는 방법

문맥에 이것을 넣으려면 미리 설정된 정보로 목록을 채우려고합니다. 첫 번째 질문은 "이 작업을 수행하는 가장 좋은 방법은 무엇입니까?"적 "에 대한 정보가 들어있는 목록을 만들고 싶습니다. 예를 들어"이름 ","설명 "및"능력 "은 데이터 멤버입니다. ENEMY 클래스의 "hp", "mana"및 "ap"데이터 멤버는 부모 클래스 "PERSON"에서 상속받습니다. 부모 클래스에 설정된 원래 값을 덮어 쓰고 세 데이터와 함께 적용해야합니다 멤버를 목록에 추가하여 특정 인덱스를 호출하고 적의 인덱스를 기반으로 필요한 데이터 멤버를 검색 할 수 있습니다.이 목록을 런타임에 만들 수있는 유일한 방법은 각 데이터 멤버와 루핑을 통해 10 개의 이름, 10 개의 hp가 나온다. 그런 다음이 모든 것을 반복하여 목록의 관련 인덱스에 적용 할 수 있습니까? 내 질문은 "목록에 숫자를 채우려면 어떻게해야합니까? 데이터 멤버 중 6 개를 적용 정보의 조각을 목록의 하나의 색인으로 먹었습니까? " 내 코드는 아래 링크되어 있습니다. 부모 클래스 이용시

public int hp; 
    public int mana; 
    public int ap; 

    public PERSON() 
    { 
     hp = 100; 
     mana = 100; 
     ap = 100; 
    } 

내가있어 무엇의 예에서

public string Name; 
    public string description; 
    public string abilities; 
    PERSON P2 = new PERSON(); 

    public void populateList() 
    { 

     ENEMY [] name = new ENEMY[10]; 


      name[0] = "goblin"; 
      name[1] = "orc"; 
      name[2] = "Troll"; 
      name[3] = "hydra"; 
      name[4] = "dragon"; 

      for (int i = 0; i < 10; i++)/

       Enemies.Add(name[i]); 

      } 

    } 

데이터 멤버는 이후이 같은 것입니다 :

적 = 새 목록();

""

< 0> 고블린 파울 생물 클로 (100) (HP), 50 (마나), (50) (AP) "를 다음과 같이 목록은 내측". < 1> 오크, 높이 끔찍한 생물 베기, 500 (HP), 50 (마나), (50) (AP) 등 등

목록의 각 요소는 모든 데이터 멤버 내가 호출하면 그 방법이 :

Enemies.name 등 내가 캔트 아주 완벽하게 당신이 당신의 코드에서 원수의 목록을 만들려면, 제대로 이해하면 목록

+0

결과를 어떻게 보이게 할 수 있습니까? – MikeH

+0

도움이된다면 어떤 형태의 예제를 포함시키기 위해 약간의 질문을 편집했습니다. – user3366235

+0

[email protected] "@"기호를 사용하고 내 이름으로 내가 귀하의 의견을 게시했다는 통지를받을 것입니다. – MikeH

답변

0

에서 특정 인덱스를 호출하는 방법을 기억합니다. 너 Enemy이라는 클래스가 있다고 가정하고있다. 이렇게하는 방법은 다음과 같습니다.

List<Enemy> Enemies = new List<Enemy>(); 
Enemies.Add(new Enemy() { name = "Goblin", hp = 50, mana = 50, description = "A foul Creature" }); 
Enemies.Add(new Enemy() { name = "Orc", hp = 500, mana = 50, description = "A tall horrible creature" }); 

그런 다음 다른 목록과 마찬가지로 액세스 할 수 있습니다. 내가 잘못 이해 한 경우 의견을 남기십시오.

관련 문제