The code below came as an included file with a beginner puzzle app tutorial I’m working through. The code works, however now that I’ve completed the tutorial, I’m trying to read through the files that came preloaded which were not explained.
I’m really tripped up over the “spacecount” variable, and what exactly it’s doing. Can anyone comment each line in plain english, so that I can better understand how exactly the code below is populating the rowCount array. Thank you so much.
var totalRows = puzzle.length;
var totalCols = puzzle[0].length;
/* Loop through the rows to create the rowCount array
containing the totals for each row in the puzzle */
var rowCount = [];
for (var i = 0; i < totalRows; i++) {
rowCount[i]="";
spaceCount = 0;
for (var j = 0; j < totalCols; j++) {
if (puzzle[i][j] == "#") {
spaceCount++;
if (j == totalCols-1) rowCount[i] += spaceCount + " ";
} else {
if (spaceCount > 0) {
rowCount[i] += spaceCount + " ";
spaceCount = 0;
}
}
}
Here’s a slightly more legible version:
The confusing parts are probably the
ifblocks in the middle.From what I can tell, this code counts the number of consecutive pound signs and appends this text to each row.