2020年5月10日 星期日

Winnie HO Week11

今天教了泡泡排序法()跟如何讓小精靈吃豆豆()!














//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={11,5,4,71,50,32,8,97,9,6}; 
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);
}

















void setup()
{
  size(400,400);
}
int X=100, Y=100, angle=45, diff=1; //diff視角度angle的改變量,先放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=5;
void draw()
{
  background(0);
  arc(X,Y,80,80,radians(angle),radians(360-angle),PIE);
  angle+=diff;
  if(angle>60)diff=-5; //diff數字越大,嘴巴開和速度愈快
  if(angle<0)diff=+5; //diff數字越大,嘴巴開和速度愈快
  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=5,dir=0; //dir:0,90,180,270
void draw()
{
  background(0);
  arc(X,Y,80,80,radians(dir+angle),radians(dir+360-angle),PIE);
  angle+=diff;
  if(angle>60)diff=-5; //diff數字越大,嘴巴開和速度愈快
  if(angle<0)diff=+5; //diff數字越大,嘴巴開和速度愈快
  X+=dx; Y+=dy;
}

void keyPressed() //增加方向的dir: 0,90,180,270給第7行用

{
  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={  //左邊是y座標,右邊是x座標
  {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=5,dir=0; //dir:0,90,180,270
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+a),radians(dir+360-a),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;}
}

小精靈會吃豆子了!


這禮拜終於學會了小精靈的遊戲,覺得很棒!

沒有留言:

張貼留言