泡泡排序法
PS.各種方法呦
程式如下:
//int []a=new int[10];//Java's Array
//int []a={3,0,1,8,7,2,5,4,6,9};
//int []a={6,3,5,9,1,0,4,2,7,8};
//int []a={1,2,3,5,0,4,6,7,8,9};
//int []a={0,9,1,2,3,5,4,6,7,8}; ////////對於快要排好的東西, 特別快!!!
int []a={9,8,7,6,5,4,3,2,1,0}; /////////最糟的狀況:全倒
void setup(){
size(500,800);
//for(int i=0;i<10;i++){ ///////random choose number
// a[i]=int(random(10)); ////////亂數決定數字
//}
textSize(36);
textAlign(LEFT,TOP);
showArray(y);
}
int y=0;
void showArray(int y){
for(int i=0;i<10;i++){
fill(255); rect(i*50, y, 50,50);
fill(0); text(a[i], i*50, y);
}
}
void draw(){
}
void mousePressed(){
for(int i=0; i<10-1;i++){
if(a[i] > a[i+1]){
int temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
fill(255,0,0,128); rect(i*50, y, 100,50);
}
}
y+=50;
showArray(y);
}
小精靈again!!!!
ps.這裡還不會動
ps.這裡就會動了!!!!
程式如下:
void setup()
{
size(400,400);
}
int X=100,Y=100,dx=1,dy=0,a=45,diff=10;
void draw()
{
background(0);
fill(#FAE600);
arc(X,Y,80,80, radians(a),radians(360-a),PIE);
a+=diff;
if(a>60) diff=-10; //////有關動的速度,因為是10,所以動的賊快
if(a<=0) diff=+10;
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; }
}
ps.開口方向隨著方向改變
程式如下:
void setup()
{
size(400,400);
}
int X=100,Y=100,dx=1,dy=0,a=45,diff=10,dir=0;
void draw()
{
background(0);
fill(#FAE600);
arc(X,Y,80,80, radians(dir+a),radians(dir+360-a),PIE);
a+=diff;
if(a>60) diff=-10;
if(a<=0) diff=+10;
X+=dx; Y+=dy;
}
void keyPressed() ////////增加方向角度的dir
{
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,a=45,diff=10,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(#FAE600);arc(X,Y,40,40, radians(dir+a),radians(dir+360-a),PIE);
a+=diff;
if(a>60) diff=-10;
if(a<=0) diff=+10;
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;}
}









沒有留言:
張貼留言