如何创建一个每次都生成一个新变量的for循环

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何创建一个每次都生成一个新变量的for循环相关的知识,希望对你有一定的参考价值。

我正在尝试制作一个游戏,它在随机x位置产生3个区块,所有x都有自己的x,y,w,h我想知道如何让它成为block0 var,block1 var和block2在for循环中的var是我得到的:

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]();
}
答案

您可以使用数组来保存块。另外,我已经将相关参数添加到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]的形式访问这三个块。

以上是关于如何创建一个每次都生成一个新变量的for循环的主要内容,如果未能解决你的问题,请参考以下文章

如何访问for循环外的值

matlab里面的for循环嵌套

python中,如何在每一次for循环时都建一个新的列表?

我如何创建一个在此循环中不更新的变量?

在 for 循环的每次迭代中保存变量并稍后加载它们

如何使用'for'循环将新变量传递给python脚本