2017-04-03 62 views
1

我是C#的新手,最近剛剛開始創建一個基於小型文本的RPG遊戲,我正在使用Visual Studio 2017.我想要一些不同的文件,其中包括標記所有不同的文件遊戲中的敵人類型,他們的攻擊行爲有多大傷害,他們的防禦以及他們的健康狀況。我有這個到目前爲止:在C#中分組變量?

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

但後來我開始想知道我怎麼可以組「串老鼠;」和其餘的在一起,例如:

大鼠--10生命值,2攻擊傷害,0防禦。

有關我如何做到這一點的任何建議? 謝謝。

+8

我建議看看[類](https://開頭MSDN .microsoft.com/en-us/library/x9afc042.aspx):) –

+2

請查看一些基本的C#教程。你最好從副項目開始(這是最快的學習方式),但首先獲得一些基本知識是必須的。 – SteppingRazor

+1

我也會推薦類......並且比Sajeetharan推薦的更進一步(儘管這是一種簡單的方法)。創建一個名爲「mob」或類似的低音類。然後用你的不同類型的小怪(老鼠,蜘蛛,土匪)分類。爲類的屬性使用良好的名稱,並且它會讓你成爲一個很好的組織代碼的長路,使得它更易於編寫和理解。 –

回答

2

您可以創建一個類使用自定義名稱,並添加這些作爲屬性裏面

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

    } 

然後,

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

儘管這確實回答了這個問題,但我不認爲「字符串老鼠「真的是我期望的課程內容。我認爲你也是這個問題太直接了(是的,所有說明的領域都是分組的,但這真的是解決問題的最佳方案嗎?)。這個類是爲了某種*敵人*,*暴民*或*怪物*。當然你可以稱它爲'MyClass'並且包含一個'串老鼠',但是這不是很具描述性和/或有用的。最好調用類「Enemy」和「string」屬性「name」,或者如果不使用'string'屬性,則將其移除。 – PJvG

1

此外,您可以使用structs

一個結構類型是通常用於封裝相關變量的小組的值類型,s UCH作爲 矩形的庫存

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

這裏的座標或項目的特點是「討論」關於structs vs classes

+0

如果你需要修改這些值,結構是PITA,並且我覺得敵人/老鼠會改變它的位置/健康/傷害等等。結構是_probably_而不是OP所需要的。 – Default

+1

如果由於事件的不可分辨性而使用事件,結構將會有問題。在這種情況下不是一個好的建議。 – bradbury9

+1

嗯,根據問題,他最初分配值的一次,就像一個配置,所以不可改變在這裏沒有問題,但是是的,類會更好,這就是爲什麼有一個「額外」,因爲他仍然在學習,並想知道可能都 – Ello