1.1 畫2*2圈圈
size(300,500);
ellipse(75,200+75,150,150);
ellipse(75+150,200+75,150,150);
ellipse(75,200+75+150,150,150);
ellipse(75+150,200+75+150,150,150);
1.2a 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);
1.2b 3*3for版
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);
}
}
1.3 公式解
size(300,500);
int n=10;
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);
}
}
1.4 讓圓會變大
void setup(){
size(300,500);
}
int n=10;
int R=300/n,w=R/2,XR=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,XR,XR);
}
}
if(XR<R)XR++;
}
1.5 圈圈會自己變多
void setup(){
size(300,500);
}
int n=2,XR=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,XR,XR);
}
}
if(XR<R)XR+=R/40;
else{
n++;
XR=0;
}
}
1.6 上色
int ansX=1,ansY=2;
int n=3,XR=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,XR,XR);
}
}
if(XR<R)XR+=R/40;
}
1.7 異色位址會變
void setup(){
size(300,500);
}
int ansX=1,ansY=2;
int n=3,XR=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){
if(mousePressed&&x==ansX&&y==ansY){
ansX=int(random(n));
ansY=int(random(n));
}
}
ellipse(w+x*R,200+w+y*R,XR,XR);
}
}
if(XR<R)XR+=R/40;
}
1.8 顏色能一直變
void setup(){
size(300,500);
colorMode(HSB,256);
}
int ansX=1,ansY=2;
int n=3,XR=0,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,XR,XR);
}
}
if(XR<R)XR+=R/40;
}









沒有留言:
張貼留言