设计单位作战系统(java)

时间:2011-12-08 01:43:42

标签: java system

您好我看到我是否可以帮助设计/了解如何在java中创建系统。我正在寻找一个程序,它将采用不同的游戏单元并将它们添加到团队中。然后两支球队将多次争分夺秒,以获得统计意义。

我需要帮助的是如何设计单位。这就是我想知道我是否创建了一个通用的单元类,然后为每个单元创建类,如grunt,继承自泛型或其他类。如果我如何存储每个团队的单位,但仍然可以将它们作为一种类型的唯一单位进行调用。

例如,我将拥有向团队添加单位的功能,我在想arraylist。然后,当谈到战斗时,我会从团队中拉出一个单位并调用它的一些方法,单位可以有能力等。所以我需要知道单位是什么,因为他们将有不同的方法。

所以基本上我需要帮助制作一个定义多个单元的系统,并允许我将它们添加到团队并在不同时间调用它们。有什么帮助吗?

2 个答案:

答案 0 :(得分:1)

所以我认为,如果我理解你的话,你希望能够向团队中添加不同的成员,例如Grunt,CommunicationOfficer和General(仅用于示例)。那么你希望能够迭代所有Grunts或所有将军吗?

所以是的,我认为Unit是一个超类,然后是Grunt,General等所有扩展单元。我想您可能希望为每种类型维护单独的ArrayLists,并为所有单元维护一个ArrayList。然后,当您添加一个单元时,将它添加到适当的特定于类型的ArrayList和整个ArrayList。

现在,如果您只想要Grunt对象,请使用ArrayList grunts。否则,如果您需要所有单位,请使用ArrayList单位。

答案 1 :(得分:0)

我不知道我是否正确理解你的问题,但这是我的建议。 在泛型单元类中,创建一个名为type的int字段,用于存储特定类型的单元。 然后将它们存储在数组列表中作为通用单元。 从列表中检索单元后,对类型值执行switch语句,并根据类型字段中的int将检索单元强制转换为正确的类型。