【问题标题】:Game Inventory - Design Pattern游戏清单 - 设计模式
【发布时间】:2011-08-23 21:52:00
【问题描述】:

我还在研究 OOP 设计,那么为简单的 Flash 游戏实现库存的最佳方法是什么?似乎不止一种设计模式可以提供某种清单,但如果我在没有很好地了解该主题的情况下尝试以某种方式调整它,我会失去灵活性。

为了花钱购买库存中可用的东西,我想到了 Singleton。如果在玩游戏时赚取了足够的现金,那么人们可以购买新技能。

也许装饰器模式可以将许多缩略图作为按钮列出,然后单击它会为角色应用新功能和技能。

我想阅读有关解决此问题的标准建议,因为我觉得我走错了路。谢谢。

【问题讨论】:

  • 多人游戏还是单人游戏?因为在单人游戏中,您可以轻松获得金币计数器和技能列表/哈希图。
  • Daniel Iankov,它将是单人游戏。
  • 所以没有交易感谢上帝。然后,在 hashmap 中返回所有可用技能的单例是很好的解决方案。然后,您删除/禁用/突出显示玩家已经拥有的那些,并创建一个小视图来可视化它们,并在您获得点击时将一些事件冒泡。

标签: actionscript-3 oop design-patterns


【解决方案1】:

尽可能远离单身人士

Singleton 有它的用途,但我相信它在很多情况下都被过度使用了。

单例的最大问题是您使用的是全局状态,这通常被认为是一件坏事,因为当您的软件复杂性增加时,它可能会导致您产生意想不到的副作用。

对象组合可能是更好的方法

对于游戏,您可能想看看使用对象组合而不是传统的 OOD 建模。

软件组件是一个软件元素,它符合 组件模型,可以独立部署和组合,无需 根据成分标准进行修改。

组件模型定义了特定的交互和组合 标准。组件模型实现是一组专用的 支持执行所需的可执行软件元素 符合模型的组件。

软件组件基础架构是一组交互软件 旨在确保软件系统或子系统的组件 使用这些组件和接口构建将清楚地满足 定义的性能规格。

阅读第一个链接中的材料应该会给您一些关于如何为您的库存系统建模并以一种很好的方式进行扩展的绝妙想法。

【讨论】:

猜你喜欢
  • 2010-12-13
  • 2011-06-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-18
  • 2012-09-01
  • 1970-01-01
相关资源
最近更新 更多