我正在创建一个游戏,其中我使用它们的id的二维数组表示框。Javascript网格计算
var grid = [[X,X,X,X,X,X,X,X,X,X],
[X,X,4,4,4,4,X,X,X,X],
[X,3,3,3,3,X,X,X,X,X],
[X,X,X,2,2,2,2,X,X,X],
[X,1,1,1,1,5,5,5,5,5]];
盒子堆叠在一起,X代表空白。
如果其中一个框被删除,我想要上面的任何一个框(可以适合)向下移动。所以他们总是整齐堆叠。
所以,如果我是删除与ID框:1,我会得到一个新的网格是这样的:
var grid = [[X,X,X,X,X,X,X,X,X,X],
[X,X,4,4,4,4,X,X,X,X],
[X,3,3,3,3,X,X,X,X,X],
[X,X,X,2,2,2,2,X,X,X],
[X,X,X,X,X,5,5,5,5,5]];
然后我想框:3向下滑入现场像这样:
var grid = [[X,X,X,X,X,X,X,X,X,X],
[X,X,4,4,4,4,X,X,X,X],
[X,X,X,X,X,X,X,X,X,X],
[X,X,X,2,2,2,2,X,X,X],
[X,3,3,3,3,5,5,5,5,5]];
最后框:4应该向下移动到哪里3:
var grid = [[X,X,X,X,X,X,X,X,X,X],
[X,X,X,X,X,X,X,X,X,X],
[X,X,4,4,4,4,X,X,X,X],
[X,X,X,2,2,2,2,X,X,X],
[X,3,3,3,3,5,5,5,5,5]];
是否有这样做的一个简单的方法?我正在考虑一个回调函数,当一个盒子被销毁时检查网格,但我想到的主要是IF语句。那里有优雅的东西吗?
Box类本身也有起始位置和长度:
box = {id: 3,
start: 1,
length: 4};
看看你在JS逻辑中到目前为止所做的工作会有所帮助。可能帮助我们(可能只是)改进它。 (据我所见,你正在寻找一个完整的游戏(盒子秋天)逻辑:)) –