这个解决方案在我看来是一种非常懒惰和廉价的方式,我想知道是否有更好或更多未来证明的方法来做到这一点,如果我想添加新的'技巧'在未来可以这么说。
我在这里要做的就是列表中属性的具体添加级别,我知道哪个列表索引属于哪个级别。示例:索引0包含强度,防御是索引2.但这可能在将来发生变化。
public class SkillLogic
{
RpgRepository _skillRpgRepository = new RpgRepository(new DatabaseSkillContext());
public List<Skill> ProcessSkills(int strength, int constitution, int defense, int dexterity, int intelligence, int charisma, int willpower, int perception, int luck)
{
List<Skill> skills = _skillPotionSmashersRepository.GetSkills();
skills[0].Level = strength;
skills[1].Level = constitution;
skills[2].Level = defense;
skills[3].Level = dexterity;
skills[4].Level = intelligence;
skills[5].Level = charisma;
skills[6].Level = willpower;
skills[7].Level = perception;
skills[8].Level = luck;
return skills;
}
}
答案 0 :(得分:0)
我建议创建一个Enum(也许是StatsType?),其中包含强度,体质等条目。然后你的代码可以更自我记录。
更好的是,将GetSkills更改为返回Dictionary而不是List - 字典Key的类型为StatsType。