Я создаю консольную игру на C #, которая, помимо прочего, управляет персонажем и его инвентарем.У меня есть все виды предметов, которые игрок может хранить в своем инвентаре.Один предмет, в частности, доставляет мне неприятности, предмет зелья.Это предмет, который использует игрок и который повышает его характеристики (например, очки здоровья или магические очки).Но повышаемый показатель указывается строковым атрибутом класса зелья.
Вот мой код:
Класс Player, представляющий символ игры
public class Player
{
//Stats of the player
public int HP;
public int MP;
public int Strength;
public int Defence;
public void UseItem(Item item) //The parameter is the Item to be used. A potion in my case
{
//The potion must rise the stat indicated in its attribute "Bonus Type"
}
}
Класс Item, от которого унаследован класс Potion:
public class Item
{
public string Name; //Name of the item
public int Bonus; //The stat bonus that the item give to the Player
}
И, наконец, класс Potion:
public class Potion : Item
{
public string BonusType; //Says which stat is risen by the potion
}
Вот мой вопрос: что я могу написать в методе UseItem () класса Player, чтобы получить атрибут BonusType используемого зелья, и такподнять правильный стат по нему?