我一直在做一些挖掘旧的SO问题,关于固有的邪恶"可变结构,但作为C#noob,我无法判断这是否是c#中结构的预期用途。
所以基本上我通过制作一个简单的基于文本的地下城游戏来学习c#。我有Enemy
,Player
和Attack
类以及Effect
个结构。每个Attack
都可以有Effect
,当Player
对象攻击Enemy
对象时,它会使用自己的Attack
对象计算损坏,然后通过将Attack
的{{1}}结构添加到Effect
,并将其添加到效果列表中。
效果有一个持续时间字段,每次转弯都会减少,直到它通过这种方法达到0:
Enemy
每转一次,public void tick() {
duration--;
}
都会遍历Enemy
列表,调用Effects
并检查tick()
是否已达到0.如果有,则会从中移除结构清单。
现在这是不好的,还是结构的预期用途之一?来自java背景,我常常通过duration
对象来做这件事。这是它应该在c#中完成的方式吗?