在Javascript

时间:2016-08-12 20:40:35

标签: javascript oop multidimensional-array

我目前正在使用Javascript + HTML5画布制作多人国际象棋游戏作为迷你侧项目。我想知道代表董事会的最佳做法是什么。

选项1:2D对象数组   - 我有一个模块,其中包含所有电路板通用的一些功能。然后,我有从Piece继承的所有作品的对象。   - 然后我可以制作一个包含32个对象的2D阵列,并在棋盘上设置它们的位置。

选项2:2D Ints阵列   - 我可以简单地制作一个2D网格,其中某个整数代表给定的一块。

哪种选择是“最好的”,还是有更好的选择?我试图采取整体OO方法。

感谢任何输入。多谢你们。

3 个答案:

答案 0 :(得分:1)

你不妨去寻找对象,学习OOP,拥有一个整体'更好'的代码...如果你正在编写一个有着更大'板'的游戏,即大小在数千或更多的瓷砖中,出于性能原因,您可能会考虑整数方法。

然而,8 x 8棋盘对于现代JS翻译来说并不算什么,所以不妨发疯。

答案 1 :(得分:0)

对象的2D数组可能是更好的选择,因为您可以存储比int数组更多的数据。例如,您可以使用具有类型属性和颜色属性的对象,而不是使用数字5和6来表示黑色和白色棋子。

答案 2 :(得分:0)

在我看来,使用一个对象数组来表示棋盘更方便,这样你可以轻松地附加每个Piece对象及其图形表示(CSS类),而使用数字来表示一个棋子在我看来是一个更加混乱的方法,绝对不是OO。