2012-10-23 132 views
2

我写过一个Android应用程序。这是旧版棋盘游戏Connect 4的一个简单版本。目前,我的“棋盘”对象拥有棋盘上的棋盘。这场比赛有2名球员。Java游戏数据结构

Board类由7个ArrayList对象组成,每个对象代表板上的一个列(板子是7×6向上)。因此,例如,当红色玩家点击我打电话

boardObj.addCounter("red", column); 

,并在addCounter()函数董事会对象里面确实有点像

column3.add(playerColor); 

这样的ArrayList栏3屏幕上的第三列获取另一个项目,等等。

我的问题是 - 是否有更好的数据结构,我可以使用,而不是使用7 ArrayLists?我注意到,在计算器添加到板子后,检查是否存在赢的功能在CPU方面变得非常昂贵。什么样的结构可以让我获得和设置数据,并运行我的checkwin()算法以获得最佳性能?

+0

有一个网站名为[codereview](http://codereview.stackexchange.com/),我认为近距离投票是为了这个(很难确定,但)。 –

回答

2

您有一个7x6板,您需要测试同一行,列或对角线上的元素。

2维阵列是最明显的选择。我会用它。

+0

感谢双重检查 – brux