我正在编写一个简单的角色扮演游戏(学习和娱乐),而我正试图想出一种让游戏对象互相交流的方法.我试图避免两件事.
因此,考虑到这些参数,我需要一个关于游戏对象相互执行操作的好方法的建议.
例如
我想出的是一种PerformAction可以将生物或物品作为参数的方法.像这样
PerformAction(Creature sourceC, Item sourceI, Creature targetC, Item targetI)
// this will usually end up with 2 null params since
// only 1 source and 1 target will be valid
Run Code Online (Sandbox Code Playgroud)
或者我应该这样做吗?
PerformAction(Object source, Object target)
// cast to correct types and continue
Run Code Online (Sandbox Code Playgroud)
或者是否有一种完全不同的方式我应该考虑这个?
这听起来像是多态性的一个例子。不要将 Item 或 Creature 作为参数,而是让它们都从 ActionTarget 或 ActionSource 派生(或实现)。让生物或物品的实现决定从那里走哪条路。
你很少想通过仅使用 Object. 即使有一点信息也比没有好。
| 归档时间: |
|
| 查看次数: |
418 次 |
| 最近记录: |