Я создаю простую клона прорыва с использованием холста HTML5 и столкнулся с функцией loadHitGrid(), но мне трудно понять, что он делает.Создание массива Javascript breakout game
Похоже, его создания массивов в пределах массива hitgrid и затем заполнить это с 1-х
Может кто-то помочь или сделать это?
function loadHitGrid() {
for (var i = 0; i < NUM_ROWS; i++) {
hitGrid[i] = new Array;
for (var j = 0; j < NUM_COLS; j++) {
hitGrid[i][j] = 1;
}
}
}
//Can i replace hitGrid with the following?
hitGrid = [
1, 1, 1, 1, 1, // is this the same as the above????
1, 1, 1, 1, 1,
1, 1, 1, 1, 1,
1, 1, 1, 1, 1,
1, 1, 1, 1, 1
]
function drawblocks() {
for (var i = 0; i < NUM_ROWS; i++) { // loops trough number of rows
for (var j = 0; j < NUM_COLS; j++) { // loops thgrough number of cols
if (hitGrid[i][j] == 1) { // for each row/col check for 1
ctx.beginPath(); // Satrts a new path used when drawing!
ctx.fillStyle = colours[i];
ctx.fillRect(j * (blockW + SPACING) + SPACING,
i * (blockH + SPACING) + SPACING, blockW, blockH);
}
}
}
вы могли бы, если NUM_ROWS и NUM_COLS всегда 5. Можно также использовать 'новый массив (NUM_COLS) .Нанести (1)' для внутреннего вместо цикла. –
Просто примечание: вы * можете * ответить на этот вопрос самостоятельно, добавив в свой код строку 'console.log (JSON.stringify (hitGrid, null, 2))'. «JSON.stringify» красиво печатает результат для вас, он отлично отформатирован. –