这是目前5x5大小的圆圈中的十字网格。我试图得到一行5,然后是下面的4行,然后是3,然后是2,依此类推。我尝试过更改for循环和值,但都不起作用。我需要使用行和列吗?
int x=20;
int y=30;
size(100,100); //set size of canvas screen
for(int i=0; i<5 ; i++)
{
for (int j=0; j<5; j++)
{
x=x+10; //add 10 to value stored in variable x
ellipse(x,y,10,10);
line (x-5,y,x+5,y);
line (x,y-5,x,y+5);
}
x=20;
y=y+10;
}谢谢!
发布于 2017-10-26 10:24:39
就像我在上一篇文章中所说的,你能做的最好的事情就是拿出一张图表纸和一支铅笔,画出几个例子。这样做,直到找到一种模式,并且可以在for循环中使用它。不知羞耻的自我推销:我在处理可用here中写了一篇关于for循环的教程。
您可以尝试的另一件事是将每一行分离到它自己的for循环中。现在不用担心嵌套的for循环;只需使用5个单独的for循环就可以了,每行一个。当您使其正常工作时,您将能够寻找可以用来将整个事情压缩到一个嵌套的for循环中的模式。
您可以做的另一件事是将一行圆单独绘制到它自己的函数中,该函数可能定义如下:
void drawRow(float circleY, int circleCount){然后,将内部for循环放入此函数中。现在有了这个函数,就可以编写另一个调用此函数的for循环。
https://stackoverflow.com/questions/46944847
复制相似问题