JS:如何在算术上突出显示x / y坐标的菱形选择? [英] JS: how to algorithmically highlight a diamond-shaped selection of x/y coordinates?
本文介绍了JS:如何在算术上突出显示x / y坐标的菱形选择?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如果给出了一个阵列数组,创建了一个n x n的贴图,有没有办法循环一个算法来突显形成钻石形状的瓦片? (关键问题是不要硬编码,所以它可以适用于任何大小的地图)
If given an array of arrays creating an n x n map of tiles, is there a way to loop through an algorithm that would highlight tiles which form a diamond shape? (the key problem is not to hardcode it, so it could work for any sized map)
例如:如果地图是5x5的像这样的瓷砖:
For example: if the map was 5x5 tiles like so:
XXXXX
XXXXX
XXXXX
XXXXX
XXXXX
算法如何突出显示钻石形状,如下所示:
How could an algorithm highlight a diamond shape like so:
XXOXX
XOOOX
OOOOO
XOOOX
XXOXX
推荐答案
[工作示例] strong>
[Working example]
function diamond(arr) {
var len = arr.length;
var mid = Math.floor(len / 2);
for (var i = 0; i < len; i++) {
var d = Math.abs(i - mid);
for (var j = d; j < len - d; j++) {
arr[i][j] = arr[i][j] = 1;
}
}
return arr;
}
请注意,您尚未定义甚至预期的行为数字
这篇关于JS:如何在算术上突出显示x / y坐标的菱形选择?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文