2014年4月21日 星期一
第十週的期中作品
作品名稱:太空巡邏艦/太空探險隊
作品介紹:大量的子彈出現要不停的閃躲子彈以求自保,場上會出現兩種道具漢堡和炸彈
吃漢堡可以補血,吃炸彈可以消除版面上所有的子彈,最後會有成績統計。
/*吃東西時會有特殊音效*/
import de.voidplus.leapmotion.*;
LeapMotion leap;
PImage img;
PImage img1;
PImage img2;
PImage img3;
PImage img4;
PImage img5;
PImage img10;
PImage img11;
PImage img12;
PImage img13;
PImage img14;
PImage img15;
PImage img16;
PImage img17;
PImage img18;
PImage img19;
float [] bulletX=new float[50];
float [] bulletY=new float[50];
int [] start = new int[50];
int code;
int code1;
int code2;
int code3;
float [] bulletX1=new float[50];
float [] bulletY1=new float[50];
int [] start1 = new int[50];
float [] bulletX2=new float[50];
float [] bulletY2=new float[50];
int [] start2 = new int[50];
float [] bulletX3=new float[50];
float [] bulletY3=new float[50];
int [] start3 = new int[50];
int time;
int boo;//Boom Probability
int booX;
int booY;
int pro;//bullet Probability
int bg;
int health;
int aoo;
int aooX;
int aooY;
int n1, n2, n3, n4, n5, nu1, nu2, nu3, nu4, nu5;
import ddf.minim.*;
AudioPlayer player;
AudioPlayer player1;
AudioPlayer player2;
AudioPlayer player3;
Minim minim;//audio context
void setup() {
size(1024, 640);
bg=1;
health=200;
img = loadImage("bground.jpg");
img1 = loadImage("bull.png");
img2 = loadImage("fly.png");
img3 = loadImage("boom.png");
img4 = loadImage("blood.png");
img5 = loadImage("hamburger.png");
img10 = loadImage("0.png");
img11 = loadImage("1.png");
img12 = loadImage("2.png");
img13 = loadImage("3.png");
img14 = loadImage("4.png");
img15 = loadImage("5.png");
img16 = loadImage("6.png");
img17 = loadImage("7.png");
img18 = loadImage("8.png");
img19 = loadImage("9.png");
nu1=10;
nu2=100;
nu3=1000;
nu4=10000;
nu5=100000;
n1=0;
n2=0;
n3=0;
n4=0;
n5=0;
for (int a=0;a<50;a++) {
bulletX[a]=0;
bulletY[a]=-100;
bulletX1[a]=-100;
bulletY1[a]=0;
bulletY2[a]=-100;
bulletX2[a]=1024;
bulletX3[a]=-100;
bulletY3[a]=640;
}
boo=0;
time=1;
pro=1000;
minim = new Minim(this);
player = minim.loadFile("music.mp3", 2048);
player1 = minim.loadFile("bow.wav", 2048);
player2 = minim.loadFile("renew.mp3", 2048);
player3 = minim.loadFile("boom.wav", 2048);
imageMode(CENTER);
noStroke(); fill(50);
leap = new LeapMotion(this);
}
void draw() {
int fps = leap.getFrameRate();
player.play();
background(img);
if (bg==1) {
image(img4, 15, 10, health, 20);
for(Hand hand : leap.getHands()){
hand.draw();
int hand_id = hand.getId();
PVector hand_position = hand.getPosition();
println("x:" + hand_position.x + " Y:" + hand_position.y);
int n=hand.countFingers();
image(img2, hand_position.x, hand_position.y, 60, 60);
for(Finger finger : hand.getFingers()){
// Basics
}
if (time%300==0) {
aoo=1;
aooX=int (random(0, 500));
aooY=int (random(0, 500));
}
if (aoo==1)
image(img5, aooX, aooY, 40, 40);
if (hand_position.x<=aooX+20&&hand_position.x>=aooX-20)
if (hand_position.y<=aooY+20&&hand_position.y>=aooY-20)
{
if(health<170)
health+=30;
aoo=0;
aooX=-100;
aooY=-100;
player2 = minim.loadFile("renew.mp3");
player2.play();
}
if (time%500==0) {
boo=1;
booX=int (random(0, 500));
booY=int (random(0, 500));
}
if (boo==1)
image(img3, booX, booY, 40, 40);
if (hand_position.x<=booX+20&&hand_position.x>=booX-20)
if (hand_position.y<=booY+20&&hand_position.y>=booY-20)
{
boo=0;
booX=-100;
booY=-100;
player3 = minim.loadFile("boom.wav");
player3.play();
for (int i=0;i<50;i++)
{
start[i]=0;
start1[i]=0;
start2[i]=0;
start3[i]=0;
}
}
for (int i=0;i<50;i++) {
if (bulletY[i]==-100) {
code=int(random(0, pro));
if (code==1) {
bulletY[i]=int(random(0, 640));
start[i]=1;
bulletX[i]=0;
}
}
if (start[i]==1) {
image(img1, bulletX[i], bulletY[i]+30, 30, 10);
bulletX[i]+=2;
if (bulletX[i]>1024) {
bulletY[i]=-100;
start[i]=0;
}
}
}
//left
for (int i=0;i<50;i++) {
if (bulletX1[i]==-100) {
code1=int(random(0, pro));
if (code1==1) {
bulletX1[i]=int(random(0, 1024));
start1[i]=1;
}
}
if (start1[i]==1) {
image(img1, bulletX1[i], bulletY1[i]+30, 30, 10);
bulletY1[i]+=2;
if (bulletY1[i]>640) {
bulletY1[i]=640;
start1[i]=0;
bulletX[i]=-100;
}
}
}
//top
for (int i=0;i<50;i++) {
if (bulletY2[i]==-100) {
code2=int(random(0, pro));
if (code2==1) {
bulletY2[i]=int(random(0, 640));
start2[i]=1;
}
}
if (start2[i]==1) {
image(img1, bulletX2[i], bulletY2[i]+30, 30, 10);
bulletX2[i]-=2;
if (bulletX2[i]<0) {
bulletX2[i]=1024;
start2[i]=0;
}
}
}
//right
for (int i=0;i<50;i++) {
if (bulletX3[i]==-100) {
code3=int(random(0, pro));
if (code3==1) {
bulletX3[i]=int(random(0, 1024));
start3[i]=1;
}
}
if (start3[i]==1) {
image(img1, bulletX3[i], bulletY3[i]+30, 30, 10);
bulletY3[i]-=2;
if (bulletY3[i]<0) {
bulletY3[i]=640;
start3[i]=0;
}
}
}
//down
for (int i=0;i<50;i++) {
if (start[i]==0) {
bulletX[i]=0;
bulletY[i]=-100;
}
if (start1[i]==0) {
bulletX1[i]=-100;
bulletY1[i]=0;
}
if (start2[i]==0) {
bulletY2[i]=-100;
bulletX2[i]=1024;
}
if (start3[i]==0) {
bulletX3[i]=-100;
bulletY3[i]=640;
}
}
for (int i=0;i<50;i++) {
if (hand_position.y<=bulletY[i]+5 && hand_position.y>=bulletY[i]-5)
if (hand_position.x<=bulletX[i]+5&& hand_position.x>=bulletX[i]-5 && start[i]==1)
{
start[i]=0;
bulletX[i]=0;
bulletY[i]=-50;
health-=20;
player1 = minim.loadFile("bow.wav");
player1.play();
}
if (hand_position.y<=bulletY1[i]+5 && hand_position.y>=bulletY1[i]-5)
if (hand_position.x<=bulletX1[i]+5&& hand_position.x>=bulletX1[i]-5 && start1[i]==1)
{
start1[i]=0;
bulletX1[i]=-50;
bulletY1[i]=0;
health-=20;
player1 = minim.loadFile("bow.wav");
player1.play();
}
if (hand_position.y<=bulletY2[i]+5 && hand_position.y>=bulletY2[i]-5)
if (hand_position.x<=bulletX2[i]+5&& hand_position.x>=bulletX2[i]-5 && start2[i]==1)
{
start2[i]=0;
bulletY2[i]=-50;
bulletX2[i]=1024;
health-=20;
player1 = minim.loadFile("bow.wav");
player1.play();
}
if (hand_position.y<=bulletY3[i]+5 && hand_position.y>=bulletY3[i]-5)
if (hand_position.x<=bulletX3[i]+5&& hand_position.x>=bulletX3[i]-5 && start[i]==1)
{
start3[i]=0;
bulletX3[i]=-50;
bulletY3[i]=640;
health-=20;
player1 = minim.loadFile("bow.wav");
player1.play();
}
}
if (time%100==0&&pro>205)
pro-=200;
if (health<=0)
bg=2;
time++;
}
}//bg=1
if (bg==2)
{
n1=time%nu1;
n2=time%nu2/10;
n3=time%nu3/100;
n4=time%nu4/1000;
n5=time%nu5/10000;
println(time);
bg=3;
}
if (bg==3) {
if (n1==0)image(img10, 630, 300, 50, 50);
if (n1==1)image(img11, 630, 300, 50, 50);
if (n1==2)image(img12, 630, 300, 50, 50);
if (n1==3)image(img13, 630, 300, 50, 50);
if (n1==4)image(img14, 630, 300, 50, 50);
if (n1==5)image(img15, 630, 300, 50, 50);
if (n1==6)image(img16, 630, 300, 50, 50);
if (n1==7)image(img17, 630, 300, 50, 50);
if (n1==8)image(img18, 630, 300, 50, 50);
if (n1==9)image(img19, 630, 300, 50, 50);
if (n2==0)image(img10, 580, 300, 50, 50);
if (n2==1)image(img11, 580, 300, 50, 50);
if (n2==2)image(img12, 580, 300, 50, 50);
if (n2==3)image(img13, 580, 300, 50, 50);
if (n2==4)image(img14, 580, 300, 50, 50);
if (n2==5)image(img15, 580, 300, 50, 50);
if (n2==6)image(img16, 580, 300, 50, 50);
if (n2==7)image(img17, 580, 300, 50, 50);
if (n2==8)image(img18, 580, 300, 50, 50);
if (n2==9)image(img19, 580, 300, 50, 50);
if (n3==0)image(img10, 530, 300, 50, 50);
if (n3==1)image(img11, 530, 300, 50, 50);
if (n3==2)image(img12, 530, 300, 50, 50);
if (n3==3)image(img13, 530, 300, 50, 50);
if (n3==4)image(img14, 530, 300, 50, 50);
if (n3==5)image(img15, 530, 300, 50, 50);
if (n3==6)image(img16, 530, 300, 50, 50);
if (n3==7)image(img17, 530, 300, 50, 50);
if (n3==8)image(img18, 530, 300, 50, 50);
if (n3==9)image(img19, 530, 300, 50, 50);
if (n4==0)image(img10, 480, 300, 50, 50);
if (n4==1)image(img11, 480, 300, 50, 50);
if (n4==2)image(img12, 480, 300, 50, 50);
if (n4==3)image(img13, 480, 300, 50, 50);
if (n4==4)image(img14, 480, 300, 50, 50);
if (n4==5)image(img15, 480, 300, 50, 50);
if (n4==6)image(img16, 480, 300, 50, 50);
if (n4==7)image(img17, 480, 300, 50, 50);
if (n4==8)image(img18, 480, 300, 50, 50);
if (n4==9)image(img19, 480, 300, 50, 50);
if (n5==0)image(img10, 430, 300, 50, 50);
if (n5==1)image(img11, 430, 300, 50, 50);
if (n5==2)image(img12, 430, 300, 50, 50);
if (n5==3)image(img13, 430, 300, 50, 50);
if (n5==4)image(img14, 430, 300, 50, 50);
if (n5==5)image(img15, 430, 300, 50, 50);
if (n5==6)image(img16, 430, 300, 50, 50);
if (n5==7)image(img17, 430, 300, 50, 50);
if (n5==8)image(img18, 430, 300, 50, 50);
if (n5==9)image(img19, 430, 300, 50, 50);
}
}
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言