gpt4 book ai didi

javascript - 删除数组中的单元格

转载 作者:行者123 更新时间:2023-11-28 06:05:00 24 4
gpt4 key购买 nike

我正在制作一个游戏,您单击一 block 巧克力,然后该巧克力 block 正上方以及右侧的所有巧克力 block 都会消失。 (包括点击的部分)

例如, this 是点击一 block 时应该发生的情况。

(注意:绿色棋子适用不同的规则,如果您点击它,那么您就输了,游戏将重置。)

我的问题是,每当点击一个棋子时,我无法弄清楚如何让除点击的方 block 之外的方 block 按照前面所述的规则“消失”。

这是我的伪代码,说明如何删除其他部分:

  • 循环遍历数组,将数组中的每个项目与单击的单元格位置进行比较。
  • 如果数组中的单元格与点击的单元格相比位于正确的位置(根据前面所述的规则),则将其删除。

我已经正确实现了第一步,但我似乎无法使第二步工作。

我应该如何删除图中所示的单元格?

这是第一步的框架:

 cellClick = function (cell) {
var a,
//get (x,y) coordinates from array tableData
x = cell.pos.x,
y = cell.pos.y;
//make all cells above, to the right, and inbetween, fade appropriate cells
for (a = 0; a < tableData.length; a++) {
//check each element to see what it's (x,y) is compared to click cell, then delete.

}

<强> Here 是我的完整代码。

最佳答案

我建议使用包含单元格状态的数组。

在本例中,我使用 X 和空格 ,在实际项目中我会使用 truefalse 或其他一些状态标志。

设置部分关闭的功能是从第一行运行到所选行,从所选项目运行到行尾。

答案是 ES6,因为给定的链接使用 ES6。

function setOff(y, x) {
var i, j = 0;

while (j <= y) {
i = x;
while (i < table[j].length) {
table[j][i] = ' ';
i++;
}
j++;
}
}

var table = Array.apply(null, { length: 6 }).map(() =>
Array(8).fill('X')
);

setOff(2, 6);

document.write('<pre>' + table.map(a => a.join('')).join('\n') + '</pre>');

关于javascript - 删除数组中的单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36952074/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com