0
我的代碼試圖組裝一個給定大小的可視棋盤,然後將其輸出到console.log
。基本上,它:Javascript - 執行if和else語句
- 遍歷所有行的中板
- 遍歷所有的所有行
- 在列。如果列的地方是,即使在偶數行,它把一個白色的空間
- 如果列的地方是偶數行,它會放置一個黑色的空間。
我的代碼:
var sz = Number(prompt("What size chessboard?"))
console.log("Board of size " + sz + " selected.")
var row = 0
var rowType = "even"
var col = 0
var bd = ""
var whiteSpace = "[]"
var blackSpace = "()"
for (row; row <= sz; row++) {
if (row % 2 == 0) {rowType = "even";} // For even rows, all even column places are white
else {rowType = "odd";} // and for odd rows, all even column places are black
for (col = 0; col <= sz; col++) {
if (col % 2 == 0) {
if (rowType == "even") {bd += whiteSpace;}
if (rowType == "odd") {bd += blackSpace;}
else {console.log("Something went terribly wrong.")} // This should never happen... right?
}
else {
if (rowType == "even") {bd += blackSpace;}
if (rowType == "odd") {bd += whiteSpace;}
else {console.log("Something went horribly wrong.")} // Not this one either?
}
}
bd += "\n"
}
console.log(bd)
出於某種原因,不過,多餘的代碼,我把在剛好趕上的情況下,如果,不知何故,rowType
沒有任何「甚至」或「奇怪」似乎總是被執行,即使代碼工作正常,並且板實際上正確地產生,在console.log
中放置「某事變得非常糟糕/可怕地錯誤」。
我的問題不是如何擺脫這些線條,顯然我可以刪除else
塊,但我很好奇我的錯誤在哪裏使它首先運行。
任何想法?
你的代碼添加到這個問題 –
你必須在連續兩個'if's,和第一個沒有'else'。你的意思是「如果」呢? – Ryan
另外,你可以這樣寫:https://jsfiddle.net/jjg5ahLb/5/ – Ryan