2017-04-03 3 views
1

저는 C#을 처음으로 사용하기 시작했으며 작은 텍스트 기반 RPG 게임을 만들기 위해 아이디어를 얻었습니다. 저는 Visual Studio 2017을 사용하고 있습니다. 나는 다른 모든 파일들을 가지고 싶습니다. 게임에서 적의 유형, 공격 중 얼마나 많은 피해를 입 었는지, 방어력과 얼마나 많은 건강을 가지고 있는지를 보여줍니다. 나는 이것을 지금까지 가지고있다 :C#의 변수 그룹화?

 string rat; 
     int enemyHealth; 
     int enemyAtkDmg; 
     int enemyDef; 

그러나 나는 어떻게하면 "string rat"을 그룹화 할 수 있을지 궁금해했다. 나머지는 함께 표시됩니다. 예 :

쥐 - 10 건강, 2 공격 피해, 0 방어.

어떻게 할 수 있습니까? 감사합니다.

사용자 정의 이름을 가진 클래스를 만든 다음

public class MyClass 
    { 
     public string rat { get; set; } 
     public int enemyHealth { get; set; } 
     public int enemyAtkDmg { get; set; } 
     public int enemyDef { get; set; }   

    } 

안에 속성으로 다음을 추가 할 수 있습니다

+8

입니다 Microsoft.com/ko-kr/library/x9afc042.aspx) :) –

+2

기본 C# 자습서를 살펴보십시오. 사이드 프로젝트로 시작하는 것이 좋습니다 (배울 수있는 가장 빠른 방법 임).하지만 기본 지식을 먼저 습득하는 것이 중요합니다. – SteppingRazor

+1

나는 또한 수업을 추천 할 것이다. 그리고 Sajeetharan이 추천하는 것보다 조금 더 가져 가라. (간단한 접근 임에도 불구하고). "mob"또는 이와 비슷한 저음 계급을 만듭니다. 그런 다음 하위 클래스는 다른 종류의 폭도 (쥐, 거미, 도적)로합니다. 클래스의 속성에 좋은 이름을 사용하면 코드 작성을위한 훌륭한 방법을 찾을 수있게되어 작성 및 이해가 쉬워집니다. –

답변

2

,

또한
 MyClass myObj = new MyClass(); 
     myObj.rat = "sample"; 
     myObj.enemyAtkDmg = 10; 
     .... 
     etc 
+4

이 질문에 답하는 동안, 나는' string rat'은 정말로이 클래스가 의도하는 바에서 기대할 수있는 것입니다. 나는이 질문을 너무 리터럴하게 다루고 있다고 생각한다. (예, 모든 필드는 그룹화되어 있지만 문제에 대한 최선의 해결책은 아닌가?). 이 클래스는 * 적 *, * mob * 또는 * 괴물 * 일종의 의미입니다. 물론 당신은 그것을 'MyClass'라고 부를 수 있고'string rat'을 포함 할 수 있습니다. 그러나 그것은 매우 설명 적이거나 유용하지 않습니다. "Enemy"클래스와 "string"속성 "name"을 더 잘 호출하거나 사용하지 않으면'string' 속성을 제거하십시오. – PJvG

1

당신은 구조체 유형이 structs

사용할 수 있습니다 일반적으로 관련 변수의 작은 그룹 을 캡슐화하는 데 사용되는 값 유형 // MSDN : UCH는 재고 여기

public struct Rat 
{ 
    public int enemyHealth; 
    public int enemyAtkDmg; 
    public int enemyDef 
} 

에서 사각형의 좌표 또는 항목의 특성으로 내가 [클래스] (https를 들여다 좋습니다 "토론"에 대한 structs vs classes

+0

구조체는 값을 수정해야하는 경우 PITA이며 적/쥐가 위치/건강/손상/등을 변경한다고 생각합니다. 구조체는 OP가 필요로하지 않는 _probably_입니다. – Default

+1

구조체는 변경 불가능한 특성으로 인해 이벤트로 작업하는 경우 문제가 될 수 있습니다. 이 경우에는 좋은 제안이 아닙니다. – bradbury9

+1

글쎄, 질문에 따르면 그는 초기 값을 한 번 지정 했으므로 불변의 설정은 문제가되지 않지만 예, 클래스가 더 좋을 것입니다. 그래서 그는 여전히 학습 중이며 어쩌면 그 사실에 대해 알고 싶어합니다. 양자 모두 – Ello