2014年4月21日 星期一

第10週期中作品展示



有音樂只是太小聲沒錄到


import de.voidplus.leapmotion.*;
import ddf.minim.*;
LeapMotion leap;
Minim m;
AudioPlayer bgmusic;
int die=0;
int bgX=0;
PImage bg;
PImage bg1;
PImage [] bird=new PImage[3];
PImage [] aa =new PImage[2];
PImage tube;
PImage tube2;
float birdX=100,birdY=200;
float []aaX = new float[100];
float []aaY = new float[100];
int []aaType=new int[100];
int countDown=8*30;
int grade=0;
int count=750;
Boolean nofly=true;
PVector p=new PVector();
int[] tubex=new int[5];
int[] tubey=new int[5];
int[] tube2x=new int[5];
int[] tube2y=new int[5];
void setup(){
  m = new Minim(this);
  bgmusic=m.loadFile("abc.mp3");
  tube=loadImage("tube1.jpg");
  tube2=loadImage("tube2.jpg");
  bg = loadImage("ground.jpg");
  bg1 = loadImage("first.jpg");
  bird[0] = loadImage("a.png");
  aa[0] = loadImage("gold1.jpg");
  aa[1] = loadImage("gold2.jpg");
  size(900,500);
  for(int i=0;i<100;i++){
    aaType[i]=int(random(2));
    aaX[i]=i*50;
    aaY[i]=300-int(random(6))*50;
  }
  for(int i=0;i<5;i++){
  tubex[i]=500+240*i;
  tubey[i]=int(-random(250));
  tube2x[i]=500+240*i;
  tube2y[i]=int(500-random(250));
  }
  leap = new LeapMotion(this);
}
void draw(){
  bgmusic.play();
  if(countDown>0){
    image(bg1,0,0);
    countDown--;
    return;
  }
  background(0,0,0);
  int fps = leap.getFrameRate();

  drawBG();

  drawbird();
  for(int i=0;i<5;i++){
    image(tube,tubex[i],tubey[i],50,250);
        image(tube2,tube2x[i],tube2y[i],50,250);
    tubex[i]-=5;
    tube2x[i]-=5;
    if(tubex[i]<-50){
    tubex[i]=tubex[(i+4)%5]+240;
    tube2x[i]=tube2x[(i+4)%5]+240;
    tubey[i]=int(-random(250));
    tube2y[i]=int(500-random(250));
    }
  }
  for(int i=0;i<100;i+=4)
  {
    if(aaType[i]!=-1){
      if(dist(birdX,birdmoveY,aaX[i]-bgmoveX,aaY[i])<40){
        aaType[i]=-1;
        grade=grade+10;
      }
      else image(aa[aaType[i]],aaX[i]-bgmoveX,aaY[i],50,50);
    }
  }
  for(int i=0;i<5;i++){
    if(tubex[i]<birdX && tubex[i]+60>birdX){
    if((tubey[i]+250>birdmoveY)||(tube2y[i]<birdmoveY+60)){
    die++;
    }
   }
 }
  if(die>0)
  {
      background(#000302);
      textSize(48);
      text("Score: "+grade,90,300);
      fill(0, 102, 153);
      return;
  }
   if(count>0){
    count--;
    text("Time: "+count/50,170,300);
    }
    if(count==0){
      background(#000302);
      textSize(48);
      text("Score: "+grade,90,300);
      fill(0, 102, 153);
      return;
    }
 
    for(Hand hand : leap.getHands()){
    p=hand.getPosition();

 
 
    }
    if(p.y>350 && nofly){
    birdmoveY-=70;
    nofly=false;
 
    }
    if(p.y<350){
    nofly=true;
 
    }
}
void keyPressed(){
  if(keyCode==RIGHT){
  birdmoveY-=100;
  }
}
float bgmoveX=0;
void drawBG(){
  for(int i=0;i<10;i++){
    image(bg,i*100-bgmoveX%100,0);
 }
  bgmoveX+=5;
}

float birdmoveY=0;
void drawbird(){
  image(bird[0],40,birdmoveY,60,60);
  birdmoveY+=5;

}

沒有留言:

張貼留言