在Javascript中为国际象棋游戏创建一个2D对象数组和int对象数组
Creating a 2D array of objects vs ints for chess game in Javascript
我目前正在用Javascript + HTML5画布制作一款多人象棋游戏,作为一个小型的副项目。我想知道代表董事会的最佳做法是什么。
选项1:2D对象数组-我有一个Piece模块,具有所有板件共同的一些功能。然后,我有了从Piece继承的所有Piece的对象。-然后我可以用32个对象制作一个2D的碎片数组,并设置它们在棋盘上的位置。
选项2:2D Array of int-我可以简单地制作一个2D网格,其中某个整数代表给定的部分。
哪个选项是"最好的",或者有没有更好的?我正在尝试采用面向对象的方法。
感谢任何意见。谢谢你的家伙。
你也可以选择对象,学习OOP,编写一个整体上"更好"的代码,如果你正在编写一款带有更大"棋盘"的游戏,即拥有数千个或更多的贴图,你可能会出于性能原因考虑使用整数方法。
一个8 × 8的棋盘对于一个现代的JS解释器来说根本不算什么,所以我们不妨疯狂一下。
2D对象数组可能是更好的选择,因为您可以存储比整型数组更多的数据。例如,不使用数字5和6来表示黑兵和白兵,您可以使用一个具有type和color属性的对象。
在我看来,使用对象数组来表示棋盘更方便,这样您就可以轻松地附加每个Piece对象及其图形表示(CSS类),而使用数字来表示Piece对我来说似乎是一种更混乱的方法,绝对不是OO。
相关文章:
- Javascript(Angular)从一个对象数组到第二个数组查找值
- 在Javascript中转换对象数组
- 在JavaScript中通过索引从对象数组中获取值
- Backbone虹吸以获取对象数组
- 如何在DataTables 2.1中迭代对象数组
- Javascript-根据赋值顺序,按键合并对象数组
- 将事件附加到对象/数组
- jQuery$.inArray()总是返回-1和一个对象数组
- javascript处理一个对象数组以获得一个新的对象数组
- javascript在数组中获取对象数组中键的所有不同值
- 在对象数组中查找多个值的d3范围
- Undercore.js获取对象数组中键对象的值
- 在mongoose中使用正则表达式在对象数组中进行查询搜索
- 如何通过json对象数组为嵌套对象赋值
- 如何循环通过2个对象数组并通过匹配id进行合并
- 为对象数组创建列表项
- 如何使用javascript合并两个对象数组
- JSON到对象数组,并向每个对象添加项
- JavaScript:从对象数组中获取唯一值及其计数
- 按不同项目对对象数组进行排序