==============================================================
用Processing了解泡泡排序法
==============================================================
讓小精靈張嘴
void setup(){
size(400,400);
}
int X=100,Y=100,angle=45,diff=1;
void draw(){
background(0);
arc(X,Y,80,80,radians(angle),radians(360-angle),PIE);
angle+=diff;
if(angle>60) diff=-1;
if(angle<0) diff=+1;
}
==============================================================
會動的小精靈
void setup(){
size(400,400);
}
int X=100,Y=100,dx=1,dy=0,angle=45,diff=1;
void draw(){
background(0);
arc(X,Y,80,80,radians(angle),radians(360-angle),PIE);
angle+=diff;
if(angle>60) diff=-2;
if(angle<0) diff=+2;
X+=dx; Y+=dy;
}
void keyPressed(){
if(keyCode==RIGHT){ dx=+1; dy=0; }
if(keyCode==LEFT){ dx=-1; dy=0; }
if(keyCode==UP){ dx=0; dy=-1; }
if(keyCode==DOWN){ dx=0; dy=+1; }
}
==============================================================
讓小精靈移動方向正確
讓小精靈移動方向正確
void setup(){
size(400,400);
}
int X=100,Y=100,dx=1,dy=0,angle=45,diff=2,dir=0;
void draw(){
background(0);
arc(X,Y,80,80,radians(dir+angle),radians(dir+360-angle),PIE);
angle+=diff;
if(angle>60) diff=-2;
if(angle<0) diff=+2;
X+=dx; Y+=dy;
}
void keyPressed(){
if(keyCode==RIGHT){ dx=+1; dy=0; dir=0;}
if(keyCode==LEFT){ dx=-1; dy=0; dir=180;}
if(keyCode==UP){ dx=0; dy=-1; dir=270;}
if(keyCode==DOWN){ dx=0; dy=+1; dir=90;}
}
==============================================================
int [][]bean={
{1,1,1,1,1, 1,1,1,1,1},
{1,1,1,1,1, 1,1,1,1,1},
{1,1,1,1,1, 1,1,1,1,1},
{1,1,1,1,1, 1,1,1,1,1},
{1,1,1,1,1, 1,1,1,1,1},
{1,1,1,1,1, 1,1,1,1,1},
{1,1,1,1,1, 1,1,1,1,1},
{1,1,1,1,1, 1,1,1,1,1},
{1,1,1,1,1, 1,1,1,1,1},
{1,1,1,1,1, 1,1,1,1,1} };
void setup(){
size(400,400);
}
int X=100,Y=100,dx=1,dy=0,angle=45,diff=2,dir=0;
void draw(){
background(0);
fill(255);
for(int y=0;y<10;y++){
for(int x=0;x<10;x++){
if(bean[y][x]==0) continue;
ellipse(20+x*40,20+y*40,10,10);
if(dist(x,y,20+x*40,20+y*40)<20) bean[y][x]=0;
}
}
fill(#FFCF0D); arc(X,Y,40,40,radians(dir+angle),radians(dir+360-angle),PIE);
angle+=diff;
if(angle>60) diff=-2;
if(angle<0) diff=+2;
X+=dx; Y+=dy;
}
void keyPressed(){
if(keyCode==RIGHT){ dx=+1; dy=0; dir=0;}
if(keyCode==LEFT){ dx=-1; dy=0; dir=180;}
if(keyCode==UP){ dx=0; dy=-1; dir=270;}
if(keyCode==DOWN){ dx=0; dy=+1; dir=90;}
}





沒有留言:
張貼留言