2013年10月13日 星期日

week06
























float [] ballX=new float[50], ballY=new float[50];
float [] ballVX=new float[50], ballVY=new float[50];
int top=0;
int flightX=300, flightY=300, S=20;
PImage imgBall;
PImage imgFire;

void setup() {
  size(600, 600);
  imgBall=loadImage("http://images1.wikia.nocookie.net/__cb20120311052422/elderscrolls/images/thumb/1/10/MAGINVFireballArt.png/250px-MAGINVFireballArt.png");
  for (int i=0;i<50;i++) {
    newBall(i);
  }
}
int bad=0;
void draw() {
  if (bad==1) {
    background(255, 0, 0);
    for (int i=0;i<50;i++) {
      ballVX[i]=0;
      ballVY[i]=0;
    }
  }
  else background(0);
  for (int i=0;i<50;i++) {
    triangle(flightX,flightY,flightX-S/2,flightY+S,flightX+S/2,flightY+S);
    image(imgBall,ballX[i],ballY[i],S*1.5,S*1.5);
    ballX[i]+=ballVX[i];    ballY[i]+=ballVY[i];
    if (ballX[i]<0 || ballX[i]>600 || ballY[i]<0 || ballY[i]>600) newBall(i);
    if (dist(ballX[i], ballY[i], flightX, flightY)<S)bad=1;
  }
}
void newBall(int i) {
  float angle =random(2*PI);
  ballVX[i]=cos(angle);
  ballVY[i]=sin(angle);
  int dir=int (random(4));
  if (dir==0) {
    ballX[i]=random(600);
    ballY[i]=0;
  }
  else if (dir==1) {
    ballX[i]=random(600);
    ballY[i]=600;
  }
  else if (dir==2) {
    ballX[i]=0;
    ballY[i]=random(600);
  }
  else if (dir==3) {
    ballX[i]=600;
    ballY[i]=random(600);
  }
}
void mouseMoved(){
  flightX=mouseX;
  flightY=mouseY;
}

沒有留言:

張貼留言