我想写一个程序,它创建一个代表8×8网格的字符串,使用换行符来分隔线条。在网格的每个位置都有空格或“#”字符。角色应该形成一个棋盘。JavaScript算法来生产国际象棋棋盘8x8网格模式
传递这个字符串console.log
应显示是这样的:
# # # #
# # # #
# # # #
# # # #
# # # #
# # # #
# # # #
# # # #
当你产生这种模式的程序,定义一个变量size = 8
和更改程序,使其工作于任何大小,输出给定宽度和高度的网格。
var hash = "#";
var space = ' ';
var size = 8;
for (var x = 1; x <= size; x++); {
var line = ' ';
for (var y = 1; y <= size; y++); {
if (x % 2) {
if (y % 2) {
line = line + space;
} else {
line = line + hash;
}
} else {
if (y % 2) {
line = line + hash;
} else {
line = line + space;
}
}
}
console.log(line);
}
我无法弄清楚为什么这不工作... :(
'var line ='';'< - 在开始处创建一个空白空间。它是如何工作的,输出或错误是什么? – coyotte508
你的循环中有一个尾随的分号,意味着它们没有执行:'for(var x = 1; x <= size; x ++);' –
是的,分号就是它。谢谢!另外,空间!甚至没有考虑它。 –