2018年10月18日 星期四

Week06_05160664

Week06
水果忍者
程式碼://float fruitX, fruitY, fruitVX, fruitVY;//最初只有變數
float [] fruitX=new float[20];//加上陣列
float [] fruitY=new float[20];
float [] fruitVX=new float[20];
float [] fruitVY=new float[20];
void setup(){
 size(800,600);
 for(int i=0;i<20;i++){//迴圈製造20個水果
   fruitX[i]=random(800);   fruitVX[i]=3;//X座標,速度
   fruitY[i]=700;  fruitVY[i]=-35;//Y座標,速度
 }
}
void draw(){
 background(0);
 for(int i=0;i<20;i++){
   ellipse(fruitX[i],fruitY[i], 100,100);
   fruitX[i]+=fruitVX[i];
   fruitY[i]+=fruitVY[i];
   fruitVY[i]+=0.98;
 }
}
一直重生的水果
程式碼://float fruitX, fruitY, fruitVX, fruitVY;
float [] fruitX=new float[20];
float [] fruitY=new float[20];
float [] fruitVX=new float[20];
float [] fruitVY=new float[20];
void reborn(int i){//讓水果重生的函式
  fruitX[i]=random(800);   fruitVX[i]=random(6)-3;
  fruitY[i]=700;  fruitVY[i]=-35;
}
void setup(){
 size(800,600);
 for(int i=0;i<20;i++){
   reborn(i);//呼叫函式
 }
}
void draw(){
 background(0);
 for(int i=0;i<20;i++){
   if(dist(mouseX, mouseY,fruitX[i],fruitY[i])<=50){
    reborn(i); continue; //滑鼠碰到水果,水果重生
   }
   ellipse(fruitX[i],fruitY[i], 100,100);
   fruitX[i]+=fruitVX[i];
   fruitY[i]+=fruitVY[i];
   fruitVY[i]+=0.98;
   if(fruitY[i]>700) reborn(i);//水果掉出底部重生
 }
}

沒有留言:

張貼留言