我正在做一個小型RPG(角色扮演遊戲),在對話中有影響玩家某些變量的決定。我在想,如果你知道比我更有效的方式:作爲函數參數變量?
public string Name, Nickname;
public int Age;
public void Decision(string Var, string Input)
{
if (Var == "Name")
Name = Input;
else if (Var == "Nickname")
Nickname = Input;
else if (Var == "Age")
Age = Convert.ToInt32(Input);
}
正如你可以看到,這是相當長僅3個變量,但也有更多...有沒有辦法做到這一點更快?事情是這樣的:
public void Decision(Variable Var, string Input)
{
Player.Var = input;
}
編輯:我會用兩個答案的混合:
public string Nom, Prenom;
public int Age;
public void Decision(InfoType type, string Input)
{
switch (type)
{
case InfoType.Name:
Nom = Input;
break;
case InfoType.Prenom:
Prenom = Input;
break;
}
}
public void Decision(InfoType type, int Input)
{
switch (type)
{
case InfoType.Age:
Age = Convert.ToInt32(Input);
break;
}
}
傳遞一個'object'? – melancia
''int age''永遠不會'==字符串var'試試用這個代替'if(Age == Convert.ToInt32(Var){Age = Convert.ToInt32(Input);}' –
爲什麼不直接把變量賦給你想要影響?假設你能夠傳遞一個「Var」的值,你就知道你想改變哪個變量。 –