size(300,500);
ellipse(50,200+50,100,100);
ellipse(50+100,200+50,100,100);
ellipse(50+100+100,200+50,100,100);
ellipse(50,200+50+100,100,100);
ellipse(50+100,200+50+100,100,100);
ellipse(50+100+100,200+50+100,100,100);
ellipse(50,200+50+100+100,100,100);
ellipse(50+100,200+50+100+100,100,100);
ellipse(50+100+100,200+50+100+100,100,100);
這是3*3的圓~
size(300,500);
for(int y=0;y<3;y++)
{
for(int x=0;x<3;x++)
{
ellipse(50+x*100,200+50+y*100,100,100);
}
}
這是簡化的版本!
size(400,600);
for(int y=0; y<4; y++)
{
for(int x=0; x<4; x++)
{
ellipse(50+x*100,200+50+y*100,100,100);
}
}
後來老師說可以試試4*4的圓~我就自己嘗試弄出來了!成就感爆棚OMG!(是在開心什麼??
size(300,500);
int n=5;
int R=300/n,w=R/2;
for(int y=0; y<n; y++)
{
for(int x=0; x<n; x++)
{
ellipse(w+x*R,200+w+y*R,R,R);
}
}
雖然我自己弄出了4*4,但老師教的上面這個方法更好,因為我的方法如果要弄出更多圓,就需要一直改程式碼,老師的方法則不用一直改!專業的果然不一樣啊!!小女子受教了!
void setup()
{
size(300,500);
}
int n=5;
int R=300/n,w=R/2,RR=0;
void draw()
{
for(int y=0;y<n;y++)
{
for(int x=0;x<n;x++)
{
ellipse(w+x*R,200+w+y*R,RR,RR); //從小變到大
}
}
if(RR<R)RR++;
}
讓球由小變到大!
void setup()
{
size(300,500);
}
int ansX=1,ansY=2; //答案
int n=3,RR=0; //會變動的R直徑,我們叫它RR
void draw()
{
background(0);
int R=300/n,w=R/2;
for(int y=0;y<n;y++)
{
for(int x=0;x<n;x++)
{
if(x==ansX&&y==ansY)fill(71); //答案要有點不同
else fill(255);
if( dist( mouseX, mouseY, w+x*R, 200+w+y*R)<w)fill(255,60,40);
ellipse( w+x*R, 200+w+y*R, RR, RR); //從小變到大
}
}
if(RR<R)RR+=R/30; //如果還沒超過範圍,++從小變到大
} //為了讓速度一致,改成RR+=R/10變成很快
void setup()
{
size(300,500);
colorMode(HSB,256); //TODO:改色彩系統
}
int ansX=1,ansY=2; //答案
int n=3,RR=0; //會變動的R直徑,我們叫它RR
int H=0;
void draw()
{
background(0);
int R=300/n,w=R/2;
for(int y=0;y<n;y++)
{
for(int x=0;x<n;x++)
{
if(x==ansX&&y==ansY)fill(H-10,243,234); //答案要有點不同
else fill(H,255,255); //TODO:改色彩系統
if(dist(mouseX,mouseY,w+x*R,200+w+y*R)<w) //現在的mouse選中誰
{
if(mousePressed && x==ansX && y==ansY) //他剛好也是答案
{
ansX=int (random(n));
ansY=int (random(n));
H+=20; //TODO:改色彩系統
if(H>256)H=0;
}
}
ellipse(w+x*R,200+w+y*R,RR,RR); //從小變到大...
}
}
if(RR<R)RR+=R/30; //如果還沒超過範圍,++從小變到大
}







沒有留言:
張貼留言