【问题标题】:Assigning a lot of variable on a convenient way以方便的方式分配大量变量
【发布时间】:2013-04-24 21:08:42
【问题描述】:

我正在开发一款游戏。进展顺利,现在我正在创造比赛场地。显然,程序必须存储在那个字段上可以看到的对象的坐标。这意味着很多对象。

目前,我在 main(){} 函数中执行这些任务。问题是,如果我想制作很多关卡,就需要做很多作业。在这种情况下,main(){} 会过长。我想避免这种情况。

我唯一的想法是创建这样的对象数组:

ClassName ObjectArrayName[NumberOfObjects]

...这使它们更容易处理。但它仍然没有帮助存储坐标。

有什么想法吗?

【问题讨论】:

  • 你是手动分配每个位置吗??为什么不为每个级别制作一个配置文件和一个 LevelManager 类来加载它们?
  • 您可以使用函数来构建您的代码。
  • "...我会感到困惑。我想避免这种情况。" : 太晚了。也许你的编程方法的一些结构会是有益的。目的驱动的函数、数据类型等。
  • :O 你的整个程序都在 main 中吗?

标签: c++ class object optimization variable-assignment


【解决方案1】:

关于 main() 中应该有的唯一行是 Game myGame; myGame.Start(); :) 如上所述,加载 XML 文件来初始化对象是一种解决方案。但与其手动操作,不如尝试使用CodeSynthesis。我已经取得了很好的结果。

【讨论】:

    【解决方案2】:

    您应该从文件中加载关卡数据。建议您使用某种标记语言,而不仅仅是阅读纯文本文件。例如,您可以将关卡数据保存为 XML 或 YAML 文件。有很多库可以读取这些格式。

    【讨论】:

    • 如果 XML 文件包含 C++ 语言的代码就足够了吗?那么图书馆可以阅读它们吗?
    • 嗯,不。您不应将代码写入标记语言文件。它应该包含类似:Boss5, 10
    • 仅此而已?听起来并不难! =) 我会试着用它做点什么。我不确定它是否会起作用,这取决于我。但是,直到...感谢您的回答。
    • 当然你已经实现了理解如何读取文件的代码。不过这并不太难。您应该通过谷歌搜索找到大量示例。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-02
    • 2014-09-10
    • 2014-11-25
    • 1970-01-01
    • 2011-09-25
    相关资源
    最近更新 更多