Как сделать цикл for, который создает новую переменную каждый раз - PullRequest
0 голосов
/ 30 марта 2019

Я пытаюсь создать игру, в которой она появляется в 3-х блоках в случайных положениях х, у которых у всех есть свои x, y, w, h и переменная block2 в цикле for вот что у меня есть:

function block() {
  this.x = x;
  this.y = y;
  this.w = w;
  this.h = h;

  ctx.fillRect(this.x, this.y, this.w, this.h);
}
for (let i = 0; i < 3; i++) {
  var block[i] = new block(Math.floor(Math.random() * 6) * 100,0,100,100);
  block[i]();
}

1 Ответ

1 голос
/ 30 марта 2019

Вы можете использовать массив для хранения ваших блоков.Кроме того, я добавил соответствующие аргументы в функцию block().

function block(x, y, w, h)
{
    this.x = x;
    this.y = y;
    this.w = w;
    this.h = h;

    ctx.fillRect(this.x, this.y, this.w, this.h);
}

let blocks = [];

for (let i = 0; i < 3; i++)
{
    blocks[i] = new block(Math.floor(Math.random() * 6) * 100, 0, 100, 100);
    // or blocks.push(new block(Math.floor(Math.random() * 6) * 100, 0, 100, 100));
}

Затем, позже, вы можете получить доступ к трем блокам как blocks[0], blocks[1] и blocks[2] соответственно.

...