我把这段代码放在Processing中的draw()函数中,它不起作用。有人能解释一下为什么,帮我解决这个问题吗?我想让它做的是循环遍历二维布尔数组的每个元素,并检查它是真还是假。
for(int i = 0; i < elemts.length; i++)
{
for(int j = 0; j < elemts[0].length; j++)
{
if(elemts[i][j] == true)
{
rect(i*5,j*5,5,5);
}
}
}
for循环应该像这样
for(start; condition; code to excute every turn)
当你想跳过它时,你应该加一个分号。
首先,您没有添加i++或j++,因此for循环不会运行。接下来,draw函数每秒运行60次,因此使用特定数量元素的for循环不允许draw()工作。请使用下面的代码。
if(elemts[x][y] == true)
{
rect(x*5,y*5,5,5);
fill(0,0,0);
}
if(x < elemts.length)
{
x += 1;
}
if(x == elemts.length)
{
x = 0;
y += 1;
}