Я делаю консольную RPG и довольно новичок в дженериках. Моя проблема в том, что я хочу, чтобы герой (хранящийся в универсальном Списке героев) атаковал монстра (хранящегося в универсальном Списке врагов). У меня проблема в том, чтобы заставить героя выбрать цель из моего универсального монстра, а затем изменить hpcurrent монстра. Это легко с одним монстром и героем, но по мере расширения игры у меня будет несколько типов монстров и героев; поэтому я хочу использовать кусок кода для моего героя, который может выбрать элемент из общего и изменить его статистику. Причина, по которой существует два дженерика, заключается в том, что мне легче увидеть, все ли герои или монстры мертвы.
Я выложу код для монстра (он идентичен коду героя, цифры просто разные):
class Orc : Character
{
public Orc()
{
this.hpcurrent = 12;
this.hpmax = 12;
this.mpcurrent = 0;
this.mpmax = 0;
this.strength = 6;
this.defense = 4;
this.magicstrength = 0;
this.magicdefense = 2;
this.agility = 4;
this.level = 3;
this.isaliveBool = true;
this.name = "Orc";
this.weakness1 = "fire";
this.weakness2 = "thunder";
this.battlemove = null;
this.typeofcharacter = "monster";
}
Код для Списка монстров:
public List<Character> enemies()
{
List<Character> enemies = new List<Character>();
enemies.Clear();
enemies.Add(new Orc());
return enemies;
}