我正在尝试使用 java 将棋盘游戏变成多人游戏,但我有一些关于如何实现我想要的东西的问题。
在游戏中,有一个袋子可以容纳生物、建筑和魔法。每个玩家从这个袋子中抽取以获得他们的游戏碎片。然后,他们要么立即将棋子放在他们拥有的游戏盘中的图 block 上,要么保留这些棋子并在以后玩。这些瓷砖可以容纳生物、魔法、建筑物、堡垒。
现在我有一个 ArrayList 保存所有生物,每个图 block 都有一个 ArrayList 可以保存生物。
看起来 ArrayList 不是我想要使用的,因为我必须让 ArrayList 为 Object 类型(这很糟糕)。关于如何设计程序以便不必转换为对象有什么想法吗?我不确定我是否需要一个包装类,或者只是多个数组列表,但令人困惑的是,当玩家从包含一堆不同东西的袋子中进行绘制时。我应该能够轻松区分棋盘上正在移动的内容。
有什么建议吗?
最佳答案
生物、建筑物和魔法都可以实现相同的接口(interface)或扩展相同的类吗?然后您可以拥有一个包含该接口(interface)或类的 ArrayList。或者,只需拥有一个包含三个 ArrayList 的数据结构,并编写在它们之间进行公平选择的代码。
关于java - 如何 "program"一个可以容纳多种类型元素的包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21390187/