2018年1月22日 星期一

week 07

我們期末想做像是憤怒鳥一樣的遊戲並加入自己喜歡的元素



將女神設為我們的目標

男神社為我們的炮台
憤怒鳥程式碼
PImage imgBird,imgPig;
void setup(){
  size(800,600);
  imgBird=loadImage("angryBird.png");
  imgPig=loadImage("pig.png");
  imageMode(CENTER);
  for(int i=0;i<5;i++){
    for(int j=0;j<4;j++){
      pigX[i][j]=700-i*100;  pigY[i][j]=100+j*100;  pigAlive[i][j]=true;
    }
  }    //  射擊物小豬的位置
}
float birdX=400,birdY=300;
float birdVX=0,birdVY=0;
float birdAX=0,birdAY=0;
//float pigX=700,pigY=100;
//boolean pigAlive=true;
float [][]pigX=new float[5][4];   
float [][]pigY=new float[5][4];
boolean [][]pigAlive=new boolean[5][4];    //  射擊物小豬分成多個物件
void draw(){
  background(255);
  image(imgBird,birdX,birdY,100,100);
  for(int i=0;i<5;i++){
    for(int j=0;j<4;j++){
      if(dist(pigX[i][j],pigY[i][j], birdX,birdY)<100){
         pigAlive[i][j]=false;       }
      if(pigAlive[i][j])  image(imgPig,pigX[i][j],pigY[i][j],100,100);
    }
  }     //   多個小豬物件當被憤怒鳥觸碰到時會消失
  
  line(birdX,birdY,400,300);
  birdX+=birdVX;    birdY+=birdVY;
  if(birdX<50) {birdX=50; birdVX=-birdVX;}
  if(birdX>width-50) {birdX=width-50; birdVX=-birdVX;}
  if(birdX<50) {birdY=50; birdVY=-birdVY;}
  if(birdY>height-50) {birdY=height-50; birdVY=-birdVY;}
  birdVX+=birdAX;    birdVY+=birdAY;
  birdVX*=0.997;     birdVY*=0.997;
}
void mouseDragged(){
   birdX=mouseX;  birdY=mouseY;
   birdVX=birdVY=birdAX=birdAY=0;
}
void mouseReleased(){
   birdVX=(400-mouseX)/10.0;
   birdVY=(300-mouseY)/10.0;
   birdAY=0.98;
}

沒有留言:

張貼留言