如何"编程"一个包含多种类型东西的包?

Sar*_*rah 0 java data-structures

我正在尝试使用java将棋盘游戏变成多人游戏,但我对如何实现我想要的东西有一些疑问.

在游戏中,有一个包含生物,建筑物和魔法的包.每个玩家从这个包中抽出来获得他们的游戏棋子.然后他们要么将这些碎片放在他们自己拥有的游戏板上的瓷砖上,要么他们抓住这些碎片并在以后播放它们.瓷砖可以容纳生物,魔法,建筑物,堡垒.

现在我有一个包含所有生物的ArrayList,每个tile都有一个可以容纳生物的ArrayList.

看起来像ArrayList不是我想要使用的,因为我必须让ArrayList是Object类型(这是坏的).关于如何设计程序的任何想法,所以我不必转换为Object?我不确定我是否需要一个包装类,或者只需要多个数组列表,但令人困惑的是当玩家从包含许多不同内容的包中绘制时.我应该能够轻松地区分电路板周围的情况.

有什么建议?

Kev*_*man 10

生物,建筑物和魔法都能实现相同的界面还是扩展同一个类?然后你可以有一个包含该接口或类的ArrayList.或者,只需要一个包含三个ArrayLists的数据结构,并编写可在它们之间进行公平选择的代码.