2020年5月1日 星期五

week10





(方法一)3*3的圓圈
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);
  }

}

5*5的圈圈
size(300,500);
int n=5;///n是變數
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);
  }

}

5*5慢慢放大的圈圈

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 n=3,rr=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++)
      {
        ellipse(w+x*r,200+w+y*r,rr,rr);
      }
    }
    if(rr<r)rr+=r/30;
    else
    {
      n++;
      rr=0;
    }

}


void setup()
{
  size(300,500);
}
int ansx=1,ansy=2;
int n=3,rr=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(128);
        else fill(255);
        if(dist(mouseX,mouseY,w+x*r,200+w+y*r)<w)fill(255,0,0);
        ellipse(w+x*r,200+w+y*r,rr,rr);
      }
    }
 if(rr<r)rr+=r/30;

}

可以找出顏色不一樣的圈圈

void setup()
{
  size(300,500);
}
int ansx=1,ansy=2;
int n=3,rr=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(240);
        else fill(255);
        if(dist(mouseX,mouseY,w+x*r,200+w+y*r)<w)
        {
          if(mousePressed&&x==ansx&&y==ansy)
          {
            ansx=int(random(n));
            ansy=int(random(n));
          }
        }
        ellipse(w+x*r,200+w+y*r,rr,rr);
      }
    }
 if(rr<r)rr+=r/30;

}

差不多就完成了

void setup()
{
  size(300,500);
  colorMode(HSB,256);
}
int ansx=1,ansy=2;
int n=3,rr=0;
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);
        if(dist(mouseX,mouseY,w+x*r,200+w+y*r)<w)
        {
          if(mousePressed&&x==ansx&&y==ansy)
          {
            ansx=int(random(n));
            ansy=int(random(n));
            h+=20;
            if(h>256)h=0;
          }
        }
        ellipse(w+x*r,200+w+y*r,rr,rr);
      }
    }
 if(rr<r)rr+=r/30;

}

沒有留言:

張貼留言