2018年10月11日 星期四

Week05_05160664_黃柏穎

Week05
隨機掉落雞蛋
程式碼:float[] eggX=new float[100];//使用陣列
float[] eggY=new float[100];//100顆雞蛋
void setup(){
 size(800,600);
 for(int i=0;i<100;i++){
  eggX[i]=random(100,700);//隨機產生X座標,在100~700之間
  eggY[i]=-random(2000);//隨機產生Y座標,在-2000
 }
}
void draw(){
 background(255);
 for(int i=0;i<100;i++){
  ellipse(eggX[i],eggY[i],80,100);
  eggY[i]+=5;//使雞蛋掉落
 }
}
接雞蛋
程式碼:float[] eggX=new float[100];
float[] eggY=new float[100];
boolean[] eggDie=new boolean[100];
void setup(){
 size(800,600);
 for(int i=0;i<100;i++){
  eggX[i]=random(100,700);
  eggY[i]=-random(2000);
  eggDie[i]=false;
 }
}
void draw(){
 background(255);
 rect(mouseX-50,mouseY-25,100,50);//接雞蛋的正方形
 for(int i=0;i<100;i++){//全部的雞蛋
   if(eggDie[i]) continue;//繼續迴圈
  ellipse(eggX[i],eggY[i],80,100);//畫雞蛋
  eggY[i]+=5;//更新Y座標
  if(eggY[i]>700) eggY[i]=-2000+600;//要是雞蛋碰到底,讓雞蛋重生
  if( dist(mouseX-50,mouseY-25,eggX[i],eggY[i])<50){
    eggDie[i]=true;//接到蛋,蛋就死掉消失
  }
 }
}
計算分數
程式碼:float[] eggX=new float[100];
float[] eggY=new float[100];
boolean[] eggDie=new boolean[100];
void setup(){
 size(800,600);
 for(int i=0;i<100;i++){
  eggX[i]=random(100,700);
  eggY[i]=-random(2000);
  eggDie[i]=false;
 }
}
int score=0;//設分數初始為0
void draw(){
 background(255);
 fill(255//蛋還是白色rect(mouseX-50,mouseY-25,100,50);
 for(int i=0;i<100;i++){
   if(eggDie[i]) continue;
  ellipse(eggX[i],eggY[i],80,100);
  eggY[i]+=5;
  if(eggY[i]>700) eggY[i]=-2000+600;
  if( dist(mouseX,mouseY,eggX[i],eggY[i])<50){
    eggDie[i]=true;
    score+=100;//接到雞蛋分數+=100
  }
 }
 fill(255,0,0); textSize(80); text("Score:"+score,100,100);//印出分數
}
切水果
程式碼:PImage img;
float cherryX=0, cherryY=700;
float cherryVX=6, cherryVY=-40;
void setup(){
  size(800,600);
  img=loadImage("cherry.png");
  for(int i=0;i<10;i++) sword[i]=new PVector();
}
PVector [] sword = new PVector[10];
void draw(){
  background(255);
  image(img,cherryX,cherryY,100,150);
  cherryX+=cherryVX;
  cherryY+=cherryVY;
  cherryVY+=0.98;
  
  for(int i=9;i>0;i--){
    sword[i].x=sword[i-1].x; sword[i].y=sword[i-1].y;
  }//讓最後一把刀依序跟著前一個,最後跟著第一把刀
  sword[0].x=mouseX;sword[0].y=mouseY;//第一把刀跟滑鼠
  for(int i=1;i<10;i++){//用線畫出刀子
    line(sword[i].x,sword[i].y,sword[i-1].x,sword[i-1].y);
  }
}

沒有留言:

張貼留言