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);//水果掉出底部重生
}
}
沒有留言:
張貼留言