JavaScript棋盘程序
JavaScript Chessboard program
本文关键字:程序 JavaScript 更新时间:2023-09-26
我的任务是:
编写一个程序,创建一个表示8×8网格的字符串,使用换行符分隔行。在网格的每个位置都有一个空格或
#
字符。这些字应该组成一个棋盘。
将此字符串传递给console.log
应该显示如下内容:
# # # #
# # # #
# # # #
# # # #
# # # #
# # # #
# # # #
# # # #
我的尝试是下面的评论解释我的逻辑。我接近了,但我永远无法得到上面的模式。我的逻辑怎么了?
//declar empty board
var board = "";
//use outter loop to control rows
for (var y = 1; y < 5; y++) {
//use innerloop to generate the #'s horizonatlly
for (var x = 1; x < 5; x++) {
//if the row is even then put a space in front
//of the board string and then generate the board
// with the #'s
if (y % 2 === 0) {
board = " " + board;
board += "#";
}
//else generate the board without a space in front
//of the #'s
else {
board += "#";
}
}
//generate a new line
board += "'n";
}
console.log(board);
我决定找点乐子,写我自己的解决方案:
var board = "";
var evenRow = "# # # # ";
var oddRow = " # # # #";
for (var i = 0; i < 8; i++) {
if (i % 2 == 0) board += evenRow + ''n';
else board += oddRow + ''n';
}
console.log(board);
注意:棋盘的正确方向是右下方的白色方块,与答案的建议输出旋转90度。
解决方案:
// declare size and an empty "board" string
var size = 8;
var board = "";
// Outerloop for rows
for (let i = 1; i <= size; i++) {
// inner loop for columns
for (let j = 1; j <= size; j++) {
if ((i + j) % 2 == 0) { // check if col is even
board += " ";
} else { // if col is odd
board += "#";
}
}
board += "'n"; // jump to next row
}
console.log(board);
我想出了这个实现,我根据所需的网格大小使用循环创建了所需的字符串行,最后使用另一个循环将它们与新行联系以输出最终结果。
//I Came Up With This
const gridSize = 8 ; //your grid size
var str1 = "" ; //first line of string eg. # # # #
var str2 = "" ; //second line of string eg.# # # #
var str = "" ; //final string
//making str1 and str2 according to gridSize
for(var i = 0 ; i < gridSize ; i++){
if(i%2==0){
str1 += " " ;
str2 += "#" ;
}
else{
str1 += "#" ;
str2 += " " ;
}
}
//concatenating str1 and str2 with new line to final output str.
for(var i = 0 ; i < gridSize ; i++){
if(i%2==0){
str += str1+"'n" ;
}
else{
str += str2+"'n" ;
}
}
//printing final output.
console.log(str);
var x = "";
var y = "";
for (var i = 0; i <= 4; i++) {
x = "#" + " " + "#" + " " + "#" + " " + "#";
y = " " + "#" + " " + "#" + " " + "#" + " " + "#";
console.log(x);
console.log(y);
}
let size = 8;
let board = "";
for (let y = 0; y < size; y++) {
for (let x = 0; x < size; x++) {
if ((x + y) % 2 == 0) {
board += " ";
} else {
board += "#";
}
}
board += "'n";
}
console.log(board);
我的解决方案是:
var size = 8;
var block = '#';
var space = ' ';
for (var i = 1; i <= size; i++) {
var line = '';
for (var y = 1; y <= size; y++) {
if (i % 2) {
if (y % 2) {
line = line + space;
} else {
line = line + block;
}
} else {
if (y % 2) {
line = line + block;
} else {
line = line + space;
}
}
}
console.log(line);
}
以上解决方案很好地使用了for循环。让我们来玩一下while循环。
var board = "";
var even = " # # # #";
var odd = "# # # #";
var i = 1;
while (i <= 8) {
if (i % 2 == 0) {
console.log(even);
} else {
console.log(odd);
}
var i = i + 1;
}
for (var i = 0; i < 8; i++) {
if (i % 2 == 0) {
console.log("#" + "'t" + "#" + "'t" + "#" + "'t" + "#" + "'t");
} else console.log("'t" + "#" + "'t" + "#" + "'t" + "#" + "'t" + "#" + "'t");
}
let chess = "";
for(let i = 0; i< 8; i += 1){
for(let j=0; j < 8; j += 1){
if((i+j) % 2 == 0){
chess += "#";
}
else{
chess += " ";
}
}
chess += "'n";
}
console.log(chess);
这是我的解决方案…
var board = "";
//you can also set the size of the grid
var size = 8;
for (var i = 1; i < size; i++) {
for (var j = 1; j < size; j++) {
if (i % 2 === 0) {
board += "#";
board += " ";
} else {
board += " ";
board += "#";
};
};
board += "'n";
};
console.log(board);
这个简单直接的实现怎么样
function chessBoard(size) {
for (var i = 0; i < size; i++) {
if (i % 2 === 0) {
console.log('' + '# # # #');
} else {
console.log(' ' + '# # # #');
}
}
}
chessBoard(8);
这很简单…2循环…第一个循环计算列的数量,第二个循环重复"#"每列4次,在里面。距离与"# "是字符之间的距离"#"对方。当列号为奇数时,距离将在"#". 变量"chr"是将这些重复保存到每一列。
var chr = '';
for (var num = 0; num < 8; num++) {
for (var num_1 = 0; num_1 <= 3; num_1++) {
if (num % 2 == 0) chr += "# ";
else chr += " #";
}
console.log(chr)
chr = '';
}
相关文章:
- Rails引擎:使主机应用程序javascript可用于Mounted Engine
- Windows 8应用程序Javascript和SQlite(数据库已锁定)
- 以下 Chrome 扩展程序 JavaScript 代码片段究竟是如何工作的
- 是否有一种从应用程序Javascript代码中自动生成序列图的方法
- <嵌入>或者<对象>标签视频播放错误处理程序-JavaScript
- 未捕获的语法错误:) 在 MVC 应用程序 JavaScript asp.net 参数列表后丢失
- 内联委托事件处理程序 Javascript
- 如何将excel文件导入Web应用程序(javascript/d3/html)
- 目录扫描程序JavaScript HTML
- 检查是否没有Internet连接-弹出-Windows 10应用程序(Javascript)
- 如何在WinRT应用程序(Javascript、C#)中区分Windows Phone 8.1和Windows 8.1
- jQuery Mobile Windows应用商店应用程序:JavaScript运行时错误:无法获取属性'ind
- 移动设备中的引导程序JavaScript问题
- Web应用程序Javascript,用于处理来自iOS设备摄像头的信息流(不是应用程序!)
- 在构建应用程序Javascript MVC的过程中,score/buildjs抛出了一个没有解释的错误
- Iframe应用程序JavaScript SDKpublish对话框错误(代码102)
- 如何在windows8商店应用程序(javascript)中播放youtube视频
- AJAX应用程序JavaScript加载问题
- 为什么获胜't我的引导程序javascript在本地运行
- 用于在纯客户端测试应用程序(javascript/jquery)中维护状态和管理i/o的体系结构