我是C#的初学者,我想在C#中开始一个类似于口袋妖怪的小项目。在创建我的课程时,我遇到了一些攻击问题,因为并非所有的口袋妖怪动作都会造成伤害。我的班级现在看起来像这样:
private string Name
private int Power
private int Accuracy
private TypePokemon Type //like water,fire,grass,etc
private int PP
我需要改变什么,因为一些攻击不会造成伤害而是治疗,提供更多攻击等等?与物品相同的东西,有些会给惠普,有些会给宠物小精灵增益,有些会让PP动作等等......
非口袋妖怪玩家的一些术语......
答案 0 :(得分:2)
其中一个选项可能对您有用,但我建议深入探讨每个选项的范例。关键字传入的链接。
Power
为0 - 因为一些破坏性移动也会造成状态或影响其他结果,所以所有移动都必须存在该框架。正如BradleyDotNET所建议的那样,这可以通过每次使用攻击时调用的Action
委托来完成。int
是可选的,请考虑将其设为int?
/Nullable<int>
(允许它为null
)。Damage
都不包含在您的基类中 - 而是创建abstract
类,而DamageMove
继承自Move
并添加{ {1}} property。