我正在用Java做一个小的编程练习,让我在上学前重新掌握一些东西。我的程序将与视频游戏(团队堡垒2)相关,因此我需要存储大量武器的数据。
我目前的模型是,我为每种类型的武器(例如Scout_Primary或Soldier_Secondary)都有一个类,我将根据所选择的具体武器修改每个类中的变量。例如,如果Scout_Primary是“散弹枪”,我会相应地修改它的基础伤害和装填速度。
如果你熟悉TF2,你就会知道有大量的武器。如何在我的程序中存储所有武器的统计数据?我不想写一个巨大的切换语句,包含一个类别中每个武器的统计数据。我非常渴望更多地使用SQL (我对它有一些经验,但不是太多,我以前用过JDBC )。
是否可以创建一个数据库并将其与程序本身打包在一起,这样我就不必担心托管问题了?我唯一的经验是使用远程数据库。
我想要做的是拥有本地数据库,并执行Selects并将数据传递给构造函数。提前谢谢。
编辑:我一直在关注Derby,这是正确的方向吗?
发布于 2012-08-24 03:00:55
是的,SQL可能适用于此。你应该研究一下Apache Derby,它的主要优点是它是轻量级的,并且很容易嵌入到Java应用程序中。你可以完全按照你所说的去做--在本地使用。
唯一的问题是将实际数据与应用程序捆绑在一起。我建议您从一个简单的文件开始,可能是JSON或XML编码的,甚至是CSV -基本上是您选择的任何内容。然后,当程序启动时,您将检查数据库是否存在。如果没有,则创建它,读取文件,并将文件中的数据存储到数据库中。然后,您就可以使用SELECT语句或任何其他您想要的语句进行查询了。
发布于 2012-08-24 02:58:22
为什么每个武器都需要不同的职业?我猜创建一个类武器会是一个更好的选择,或者更确切地说,是一个抽象的类,可以通过各种其他类别的武器来扩展。如何将武器存储在collection中(列表、地图、集合,取决于您要执行的操作类型)。如果您的目标是存储游戏统计信息并将游戏作为基于web的应用程序启动,建议使用数据库
发布于 2012-08-24 02:59:12
无论你选择什么,你很可能不得不使用某种数据库来保存你的武器。SQLite是最小和最容易实现的,尽管它需要一些SQL的背景知识。
您还可以将所有武器存储在一个采用JSON或XML格式的纯文本文件中……我会选择JSON,因为它涉及的输入较少,但是XML也很容易做(并且我非常确定已经有一个XML解析器可用)。然而,JSON更容易实现,即使您仍然需要从json.org下载源代码。
{
"weapons": [
{ "name":"Scattergun" , "damage":"5" },
{ "name":"Flamethrower" , "damage":"8" , "pyro":"yes" }
]
}如你所见,我对TF2一无所知。
https://stackoverflow.com/questions/12098183
复制相似问题