1.先做出掉落的雞蛋群
程式碼:
float[] eggX=new float[100];
float[] eggY=new float[100];
void setup(){
size(800,600);
for(int i=0;i<100;i++){ //雞蛋隨機掉落
eggX[i]=random(100,700);
eggY[i]=-random(2000);
}
}
void draw(){
background(255);
for(int i=0;i<100;i++){
ellipse(eggX[i],eggY[i],80,100);
eggY[i]+=5;
}
}
程式碼:
float[] eggX=new float[100];
float[] eggY=new float[100];
boolean[] EggsDie=new boolean[100];
void setup(){
size(800,600);
for(int i=0;i<100;i++){
eggX[i]=random(100,700);//random
eggY[i]=-random(2000);
EggsDie[i]=false;
}
}
void draw(){
background(255);
rect(mouseX-50,mouseY-25,100,50);
for(int i=0;i<100;i++){ //所有的雞蛋
if(EggsDie[i]) continue;
ellipse(eggX[i],eggY[i],80,100); //畫出雞蛋
eggY[i]+=5; //更新雞蛋往下掉的位置
if(eggY[i]>700) eggY[i]=-2000+600; //如果雞蛋碰到底部,重新生長
if(dist(mouseX,mouseY,eggX[i],eggY[i])<50){ //碰到雞蛋底,雞蛋就會消失(較合理)
EggsDie[i]=true; //如果方形碰到雞蛋,則雞蛋消失
}
}
}
程式碼:
PImage [] imgN=new PImage[10]; //數字圖片的陣列
float[] eggX=new float[100];
float[] eggY=new float[100];
boolean[] EggsDie=new boolean[100];
void setup(){
size(800,600);
for(int i=0;i<=9;i++) imgN[i] = loadImage(i+".png"); //利用for迴圈讀入圖片檔
for(int i=0;i<100;i++){
eggX[i]=random(100,700);
eggY[i]=-random(2000);
EggsDie[i]=false;
}
}
int score=0;
void draw(){
background(255);
fill(96,48,0);
rect(mouseX-50,mouseY-25,100,50);
fill(255,255,128);
for(int i=0;i<100;i++){
if(EggsDie[i]) continue;
ellipse(eggX[i],eggY[i],80,100);
eggY[i]+=5;
if(eggY[i]>700) eggY[i]=-2000+600;
if(dist(mouseX,mouseY,eggX[i],eggY[i])<50){
EggsDie[i]=true;
score+=100;
}
}
//fill(255,0,0); textSize(80); text("Score:"+score,100,100); //利用文字的方式顯示出分數
int now=score;
for(int i=0;i<7;i++){ //分數計算
image(imgN[(now%10)],400-i*100,100,50,100);
now/=10;
}
}
程式碼:
PImage []img=new PImage[8];//8 張橘子的照片
float []orangeX=new float[8];
float []orangeY=new float[8];
float []orangeVX=new float[8];
float []orangeVY=new float[8];
void orangeReborn(int i){
orangeX[i]= random(800);
orangeY[i]= 700;
orangeVX[i]=random(8)-4;
orangeVY[i]= -40;
}
void setup(){
size(800,600);
for(int i=0;i<8;i++) img[i]=loadImage("Orange.png"); //讀入照片
for(int i=0;i<8;i++) orangeReborn(i); //重新生長
for(int i=0;i<10;i++) sword[i]=new PVector();
}
PVector [] sword = new PVector[10];
void draw(){
background(255);
for(int i=0;i<8;i++){ //畫出橘子
image(img[i],orangeX[i],orangeY[i],150,150);
orangeX[i] += orangeVX[i];
orangeY[i] += orangeVY[i];
orangeVY[i] +=0.98;
}
for(int i=9;i>0;i--){
sword[i].x=sword[i-1].x; sword[i].y=sword[i-1].y;
}
sword[0].x=mouseX; sword[0].y=mouseY;
for(int i=1;i<10;i++){ //畫出線來當刀子
line(sword[i].x,sword[i].y,sword[i-1].x,sword[i-1].y);
}
}
沒有留言:
張貼留言