gpt4 book ai didi

objective-c - 实现预定义类的最常用方法。

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:49:40 26 4
gpt4 key购买 nike

我正在开发一款包含大量怪物的 iPhone 游戏。每个怪物都有一个名字,最多 4 种不同的攻击,以及一些代表其状态的 Sprite 。我设置了一个怪物类并且效果很好。我已经设法让两个怪物大战,所有的爵士乐都奏效了。我的游戏虽然将有一组预定义的怪物,它们都有不同的统计数据,但我正在努力想出实现这一目标的最佳方法。到目前为止,我有两个想法。

想法:

  • 创建一个类,其唯一目的是使用 Monster 类定义游戏中所有可用的怪物。
  • 为我需要的每一个怪物创建怪物类的子类。尽管它们都不会真正为怪物类添加任何东西。

第二种方法的好处是可以更容易地在两个不同的怪物之间建立联系(比如进化树)。

你们认为最好的方法是什么?我倾向于第二种方法。我缺少另一种方法吗?

最佳答案

此类问题的常见模式是创建一个 factory class ,这与您的第一个想法很接近。您创建一个单独的类,可能称为 MonsterFactory,其工作是制造 Monster 类的实例以供其他地方使用。如果您正确构建工厂,它甚至可以很好地处理进化树之类的事情。

工厂的另一个好处是它抽象出存储怪物信息的细节。例如,您可以将前五个或十个怪物的信息硬编码到程序中以对其进行测试,但稍后重新实现工厂以使用磁盘上的数据库或文件来处理更大数量的怪物。只要您的工厂 API 保持不变,您的 Monster 类就不必关心这些细节;都在工厂里。

关于objective-c - 实现预定义类的最常用方法。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11906836/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com