float[]ballX=new float[50], ballY=new float[50];
float[]ballVX=new float[50], ballVY=new float[50];
float[]ball2X=new float[50], ball2Y=new float[50];
float[]ball2VX=new float[50], ball2VY=new float[50];
float imgManX=280, imgManY=300, S=20;
float imgMan2X=310, imgMan2Y=300, S2=20;
int top=0;
PImage imgBall;
PImage imgBall2;
PImage imgMan;
PImage imgMan2;
PImage imgBack;
PImage imgWin;
PImage imgLose;
int total=0;
int total2=0;
int countDown=20*30;
import ddf.minim.*;
Minim m;
AudioPlayer la;
AudioPlayer ha;
AudioPlayer bg;
void setup() {
size(600, 600);
m=new Minim(this);
la=m.loadFile("LASER.wav");
ha=m.loadFile("hammeronce.wav");
bg=m.loadFile("01.mp3");
bg.play();
imgBack=loadImage("987.jpg");
imgWin=loadImage("456.jpg");
imgLose=loadImage("654.jpg");
imgMan=loadImage("123.png");
imgMan2=loadImage("321.png");
imgBall=loadImage("http://upload.wikimedia.org/wikipedia/commons/thumb/2/2f/Sida-aids.png/36px-Sida-aids.png");
for (int i=0;i<50;i++) {
newBall(i);
}
imgBall2=loadImage("http://lt.gameone.com/weapon_images/k53_m1ggnwclzsax.gif");
for (int i=0;i<50;i++) {
newBall2(i);
}
}
void draw() {
background(0);
if (countDown>0) {
background(255);
image(imgBack, 0, 0, 600, 600);
countDown--;
fill(0);
text("倒數"+countDown/30+"秒START", 260, 400);
return;
}
background(0);
imageMode(CENTER);
fill(255, 0, 0);
rect(0, 0, total*3, 50);
rect(300, 0, total2*3, 50);
fill(0);
text("白血球"+total+"分", 30, 30);
fill(0);
text("病毒"+total2+"分", 500, 30);
image(imgMan, imgManX, imgManY);
image(imgMan2, imgMan2X, imgMan2Y);
for (int i=0;i<50;i++) {
image(imgBall, ballX[i], ballY[i], 20, 20);
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], imgManX, imgManY)<S) {
ballX[i]=0;
total+=3;
la.rewind();
la.play();
};
if (dist(ballX[i], ballY[i], imgMan2X, imgMan2Y)<S2) {
ballX[i]=0;
total2-=5;
ha.rewind();
ha.play();
};
}
for (int i=0;i<50;i++) {
image(imgBall2, ball2X[i], ball2Y[i], 20, 20);
ball2X[i]+=ball2VX[i];
ball2Y[i]+=ball2VY[i];
if (ball2X[i]<0||ball2X[i]>600||ball2Y[i]<0||ball2Y[i]>600)newBall2(i);
if (dist(ball2X[i], ball2Y[i], imgManX, imgManY)<S) {
ball2X[i]=0;
total-=5;
ha.rewind();
ha.play();
};
if (dist(ball2X[i], ball2Y[i], imgMan2X, imgMan2Y)<S2) {
ball2X[i]=0;
total2+=3;
la.rewind();
la.play();
};
}
if (total<0)
{
m.stop();
background(255);
image(imgLose, 300, 300, 600, 600);
S=0;
S2=0;
}
if (total2<0)
{
m.stop();
background(255);
image(imgWin, 300, 300, 600, 600);
S=0;
S2=0;
}
if (total>=100)
{
m.stop();
background(255);
image(imgWin, 300, 300, 600, 600);
S=0;
S2=0;
}
if (total2>=100)
{
m.stop();
background(0);
image(imgLose, 300, 300, 600, 600);
S=0;
S2=0;
}
}
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 newBall2(int i) {
float angle=random(2*PI);
ball2VX[i]=cos(angle);
ball2VY[i]=sin(angle);
int dir=int(random(4));
if (dir==0) {
ball2X[i]=random(600);
ball2Y[i]=0;
}
else if (dir==1) {
ball2X[i]=random(600);
ball2Y[i]=600;
}
else if (dir==2) {
ball2X[i]=0;
ball2Y[i]=random(600);
}
else if (dir==3) {
ball2X[i]=600;
ball2Y[i]=random(600);
}
}
void keyPressed()
{
if (key=='8') {
imgManY-=10;
}
if (key=='5') {
imgManY+=10;
}
if (key=='6') {
imgManX+=10;
}
if (key=='4') {
imgManX-=10;
}
if (key=='w') {
imgMan2Y-=10;
}
if (key=='s') {
imgMan2Y+=10;
}
if (key=='d') {
imgMan2X+=10;
}
if (key=='a') {
imgMan2X-=10;
}
}
沒有留言:
張貼留言