2017年10月2日 星期一

Week 04 J

HW1 憤怒鳥(強化版)
程式碼:
PImage imgBird, imgPig;
float birdX=100, birdY=400;
float birdVX=0, birdVY=0;
float birdAX=0, birdAY=0;
float [][]pigx=new float[5][4];                  //20隻豬
float [][]pigy=new float[5][4];
boolean [][]pigAlive=new boolean[5][4];

void setup() {
  size(800, 600);
  imgBird=loadImage("bird.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;
    }
  }
}



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, 100, 400);

  birdX += birdVX;
  birdY += birdVY;
  if (birdX<50) {
    birdX=50;
    birdVX = -birdVX;
  }
  if (birdX>width-50) {
    birdX=width-50;
    birdVX= -birdVX;
  }
  if (birdY<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;
}


增加音檔: minim
import ddf.minim.*;


Minim minim;
AudioPlayer player;

void setup(){
   size(500, 200, P3D);
   
   minim=new Minim(this);
   player = minim.loadFile("dora.mp3", 2048);
   player.play();
   
  
}
void draw(){}

沒有留言:

張貼留言