float [] fishX=new float[30];//座標x
float [] fishY=new float[30];//座標y
float [] fishSize=new float[30];//大小
boolean[] fishAlive = new boolean[30];//是不是活的 true,false
void setup(){
size(500,500);
reset();
}//吃東西,越吃越大,不夠大不能吃,時間內吃完
void gameRun()
{
background(255);
pushMatrix();
translate(-x, -y);
for(int i=0; i<30; i++){
if(fishAlive[i]==true){
fill(255); ellipse(fishX[i], fishY[i], fishSize[i], fishSize[i] );
if( dist(250+x,250+y, fishX[i],fishY[i])< (big+fishSize[i])/2 ){//相遇
if(big>fishSize[i]){
big = sqrt(big*big+fishSize[i]*fishSize[i]);//面積相加,對應的半徑
fishAlive[i]=false;//魚死掉了
}
else
{
gameOverMsg();
}
}
}
}
fill(255,0,0); ellipse(250+x,250+y, big,big);
popMatrix();
}
int time=180;
int blood=1;
void gameOverMsg()
{
if(time>0){
background(255,0,0);
stroke(153);
textSize(44);
textAlign(CENTER, CENTER);
line(0, 200, width, 200);
text("Game Over",width/2+x,height/2+y);
time--;
if(time==0)
{
reset();
}
}
}
void reset()
{
time=180;
blood=1;
x=0;
y=0;
big=15;
for(int i=0; i<30; i++){
fishX[i]=random(-500,500);
fishY[i]=random(-500,500);
fishSize[i]=random(10,50);
fishAlive[i]=true;
}
}
float x=0, y=0, big=15;
void draw(){
gameRun();
}
//腳色移動
void keyPressed(){
if(keyCode==LEFT) x-=3;
if(keyCode==RIGHT) x+=3;
if(keyCode==UP) y-=3;
if(keyCode==DOWN) y+=3;
}
-------------
原先在gameOverMsg要設計延遲3秒,但因為不熟悉Processing特性,
所以誤用sleep() delay() 函式
沒有留言:
張貼留言