0

我正在尝试将游戏创建为 Android 中的自我开发项目。它会变得相当复杂,所以我想我应该得到一些建议。我知道一种解决方案有很多方法,但是,如果我的方法是对/错,或者我怎样才能使它变得更好,任何帮助都深表感谢。

我正在尝试设计一个中世纪时代的策略游戏,比如王国、文明等。

这是我到目前为止的项目结构:

A main java class called Units.java with basic attributes like HitPoints, Attack, etc.
A few other classes called Quarry.java, SwordsMan.java, Archer.Java which extends Units.java
A main activity called Game.java which extends Activity class and will create instances of SwordsMan.java, Archer.java, Quarry.java

现在,我有一个名为 data.xml 的 xml 文件,它以节点格式存储每件事的数据。以下是 XML 文件中的代码片段:

<building id="0" name="Barracks" hp="1000" attack="0" armor="3" range="0">
   <cost wood="175"/>
      <unit id="0" name="Archer" hp="70" attack="13" armor="1" range="4">
        <cost food="60" gold="20"/>
      </unit>
</building>

所以现在,我在 Archer.java 类的构造函数调用的方法中使用解析这个 XML 文件......它使用 SAX 解析器并使用起始元素和属性名称 =“Archer”提取数据。

我做对了吗?还是我的方法完全错误?

非常感谢。

4

1 回答 1

0

.java 文件的 OO 设计看起来很棒。

如果这是您的意图,XML 将是制作保存文件的好主意。不过,我不会在 Archer.java 的构造函数中解析整个内容 - 这似乎相当随意。我建议一个单独的类专门用于处理保存的文件。

至于 XML 与数据库,这取决于您打算如何使用保存的数据。如果您将全部内容读入或一次全部写出,则两者都可能是合适的。将 XML 文件保存到 SD 卡可以轻松共享已保存的游戏。如果您预见到仅更改部分内容以保存和恢复活动游戏的状态,那么您应该使用数据库,因为使用 XML 您每次都必须重新编写整个文件。

请记住,在 Android 中,您的应用程序应随时处理终止(例如,如果用户在游戏过程中接到电话)。然后它应该在重新启动时提供良好的用户体验,而不会丢失游戏的进度。

于 2013-02-24T03:05:54.047 回答