顯示具有 Week07 標籤的文章。 顯示所有文章
顯示具有 Week07 標籤的文章。 顯示所有文章

2018年1月22日 星期一

week 07

我們期末想做像是憤怒鳥一樣的遊戲並加入自己喜歡的元素



將女神設為我們的目標

男神社為我們的炮台
憤怒鳥程式碼
PImage imgBird,imgPig;
void setup(){
  size(800,600);
  imgBird=loadImage("angryBird.png");
  imgPig=loadImage("pig.png");
  imageMode(CENTER);
  for(int i=0;i<5;i++){
    for(int j=0;j<4;j++){
      pigX[i][j]=700-i*100;  pigY[i][j]=100+j*100;  pigAlive[i][j]=true;
    }
  }    //  射擊物小豬的位置
}
float birdX=400,birdY=300;
float birdVX=0,birdVY=0;
float birdAX=0,birdAY=0;
//float pigX=700,pigY=100;
//boolean pigAlive=true;
float [][]pigX=new float[5][4];   
float [][]pigY=new float[5][4];
boolean [][]pigAlive=new boolean[5][4];    //  射擊物小豬分成多個物件
void draw(){
  background(255);
  image(imgBird,birdX,birdY,100,100);
  for(int i=0;i<5;i++){
    for(int j=0;j<4;j++){
      if(dist(pigX[i][j],pigY[i][j], birdX,birdY)<100){
         pigAlive[i][j]=false;       }
      if(pigAlive[i][j])  image(imgPig,pigX[i][j],pigY[i][j],100,100);
    }
  }     //   多個小豬物件當被憤怒鳥觸碰到時會消失
  
  line(birdX,birdY,400,300);
  birdX+=birdVX;    birdY+=birdVY;
  if(birdX<50) {birdX=50; birdVX=-birdVX;}
  if(birdX>width-50) {birdX=width-50; birdVX=-birdVX;}
  if(birdX<50) {birdY=50; birdVY=-birdVY;}
  if(birdY>height-50) {birdY=height-50; birdVY=-birdVY;}
  birdVX+=birdAX;    birdVY+=birdAY;
  birdVX*=0.997;     birdVY*=0.997;
}
void mouseDragged(){
   birdX=mouseX;  birdY=mouseY;
   birdVX=birdVY=birdAX=birdAY=0;
}
void mouseReleased(){
   birdVX=(400-mouseX)/10.0;
   birdVY=(300-mouseY)/10.0;
   birdAY=0.98;
}

2018年1月20日 星期六

Week07 芷萱的課堂筆記

期中作品介面設計-太鼓達人

  1. 實際去網路上找太鼓達人小遊戲
  2. 擷取遊戲畫面
  3. 加入上方紅色集氣條及計分條與鼓上的連擊數
  4. 加入紅鼓與藍鼓
  5. 加入遊戲提示按下 " Q鍵結算分數 "
  6. 匯入下方遊戲行進中動畫
程式碼:
PImage A;
PImage red;
float rx=800, ry=160;
int bx=800, by=160;
float []dx=new float [100];
int []dy=new int [100];
int Score=0;
int shift=0;
boolean  state=true;
PImage home;
PImage setting;
PImage drum;
PImage blue;
int user=120;
void setup()
{
  size(800, 600);
  A=loadImage("A.png");
  home= loadImage("home.png");
  setting= loadImage("setting.png");
  drum= loadImage("drum.png");
  red=loadImage("red.png");
  blue=loadImage("blue.png");
  image(A, 0, 0, width*1, height*1);
  for (int i=0; i<100; i++)
  {
    dx[i]=random(2000);
    dy[i]=int(random(2));
  }
  frameRate(60);
}
void draw()
{
    image(A, 0, 0, 800, 600);

    for (int i=0; i<100; i++)
    {
      if (dx[i]-shift<0) continue;
      if (abs(dx[i]-shift-20)<5&&mousePressed)

        Score++;

      if (dy[i]==0) drum1(int(dx[i])-shift);
      if (dy[i]==0) drum2(int(dx[i])-shift);
    }
    shift+=3;
    fill(255, 0, 0);
    textSize(50);
    text(Score, 60, 198);
    println("mouse :"+mouseX+" "+mouseY);
}

2017年11月16日 星期四

Week07*互動技術課堂筆記*

【期中作品_封面設計與人物移動篇】




1.滑鼠點下<用mouse>

















主要程式碼:
void draw(){ 
 image(start,0,0,850,500);
    if(mouseX>290&&mouseX<560&&mouseY>210&&mouseY<290){
        cursor(HAND);
        if(mousePressed == true && mouseButton == LEFT) {
          begin.pause();
          startmusic.loop();
          state = 1;
          k=1;        
      }
    }
   else {
      cursor(ARROW);
   }
}



2.人物左右邊界移動<用If、Else設定邊界>





















主要程式碼:
void draw(){ 
 if(xPos < 0)    ///left
    { 
      xPos = 0;  
      k=1;
    }
    if(xPos > width - img2.width+100){  ///right
      xPos = width - img2.width+100;
      k=2;
    } 
    while(k==1&&yPos==100){
      xPos+=5;
      break;
    }
    while(k==2&&yPos==100){
      xPos-=5;
      break;
   }
   if(m==3&&yPos!=100){
        yPos-=2; 
    }
   if(keyPressed == true && keyCode == DOWN&&yPos==100){    
      m=1;  
    }   
    if(yPos < 100)    
    { 
      yPos = 100;      
    }
    else if(yPos > height - img2.height+20){  
      yPos = height - img2.height+20;
      m=2;
    }   
}













2017年10月30日 星期一

Week07 ShiRo

期中作品試做

   ※拼圖



程式碼:

int [][]puzzle=new int[10][10];  
int [][]touch=new int[10][10];       
boolean bG=false; 

void setup(){
   size(400,800);
}

void draw(){
  background(255);     ///底色

  if(bG){
   for(int i=0;i<10;i++){
     for(int j=0;j<10;j++){
         if(puzzle[j][i]==0)fill(255);
         else fill(128);  //畫答案
         rect(100+20*j,100+20*i,20,20);
     }
   }
 }
  else{
    for(int i=0;i<10;i++){
      for(int j=0;j<10;j++){

          if(touch[j][i]==0)fill(200);
          else if(puzzle[j][i]==0&& touch[j][i]==1)fill(255,0,0);  ///錯誤 顯示紅色
          else if(puzzle[j][i]==1&& touch[j][i]==1)fill(0,255,0);  ///正確 顯示綠色
          rect(100+20*j,100+20*i,20,20);
   }
    }
 }

}
void mouseDragged(){    ///滑鼠拖曳
  int i=int((mouseY-100)/20);
  int j=int((mouseX-100)/20);

  if(bG){
    puzzle[j][i]=1;
  }
  else{
    touch[j][i]=1;
  }
}
void keyPressed(){
   if(key=='g'){   ///案g可以畫答案圖
      bG=!bG;
   }
}

Week 07 邱

#第07週
-------------------------------------------------------------------------------------------------------------------------

◎期中作業-皮卡丘打排球
 part.1:畫背景、地板、柱子、皮卡丘*2、寶貝球

程式碼:

PImage imgBall,imgP1,imgP2;
void setup(){
   size(800,600); 
   imgBall=loadImage("Ball.png");
   imgP1=loadImage("P1.png");
   imgP2=loadImage("P2.png");
   imageMode(CENTER);
}
float ballX=100,ballY=300,ballVX=0,ballVY=0;
float p1X=100,p1Y=430,p1VX=0,p1VY=0;
float p2X=700,p2Y=430,p2VX=0,p2VY=0;
void draw(){
   background(#BFEAFF); ///sky
   noStroke();fill(#D1C0A6);rect(0,500,800,100); ///floor
   fill(#A6ACAF);rect(400,320,10,240); ///cylider
   image(imgP1,p1X,p1Y,200,200);
   image(imgP2,p2X,p2Y,200,200);
   image(imgBall,ballX,ballY,80,80);
}



part.2:會彈跳的球、球碰地板遊戲結束、球碰皮卡丘反彈


程式碼:

PImage imgBall,imgP1,imgP2;
void setup(){
   size(800,600); 
   imgBall=loadImage("Ball.png");
   imgP1=loadImage("P1.png");
   imgP2=loadImage("P2.png");
   imageMode(CENTER);
}
float ballX=120,ballY=300,ballVX=0,ballVY=0;
float p1X=100,p1Y=430,p1VX=0,p1VY=0;
float p2X=700,p2Y=430,p2VX=0,p2VY=0;
Boolean bGG=false;
void draw(){
   background(#BFEAFF); ///sky
   noStroke();fill(#D1C0A6);rect(0,500,800,100); ///floor
   fill(#A6ACAF);rect(400,320,10,240); ///cylider
   image(imgP1,p1X,p1Y,200,200);
   image(imgP2,p2X,p2Y,200,200);
   image(imgBall,ballX,ballY,80,80);
   
   if(bGG)return;
   ballX += ballVX; ballY += ballVY;
   ballVY += 0.98;
   p1X+=p1VX; p1Y += p1VY; p1VY+=0.98;
   p2X+=p2VX; p2Y += p2VY; p2VY+=0.98;
   if(ballY>=500-40)bGG=true; ///if ball touch the floor : GameOver
   if(p1Y>=500-50) {p1VY=0; p1Y=500-50;}
   if(dist(p1X,p1Y,ballX,ballY)<=80)ballVY=-ballVY;
}







part.3:皮卡丘移動、跳起來

程式碼:

PImage imgBall,imgP1,imgP2;
void setup(){
   size(800,600); 
   imgBall=loadImage("Ball.png");
   imgP1=loadImage("P1.png");
   imgP2=loadImage("P2.png");
   imageMode(CENTER);
}
float ballX=120,ballY=300,ballVX=0,ballVY=0;
float p1X=100,p1Y=430,p1VX=0,p1VY=0;
float p2X=700,p2Y=430,p2VX=0,p2VY=0;
Boolean bGG=false;
void draw(){
   background(#BFEAFF); ///sky
   noStroke();fill(#D1C0A6);rect(0,500,800,100); ///floor
   fill(#A6ACAF);rect(400,320,10,240); ///cylider
   image(imgP1,p1X,p1Y,200,200);
   image(imgP2,p2X,p2Y,200,200);
   image(imgBall,ballX,ballY,80,80);
   
   if(bGG)return;
   ballX += ballVX; ballY += ballVY;
   ballVY += 0.98;
   p1X+=p1VX; p1Y += p1VY; p1VY+=0.98;
   p2X+=p2VX; p2Y += p2VY; p2VY+=0.98;
   if(ballY>=500-40)bGG=true; ///if ball touch the floor : GameOver
   if(p1Y>=500-50) {p1VY=0; p1Y=500-50;}
   if(p2Y>=500-50) {p2VY=0; p2Y=500-50;}
   if(dist(p1X,p1Y,ballX,ballY)<=80)ballVY=-ballVY;
   if(dist(p2X,p2Y,ballX,ballY)<=80)ballVY=-ballVY;
}
void update(){
  
}
void keyPressed(){
  if(key=='a') p1VX=-3;
  if(key=='s') p1VY=0;
  if(key=='d') p1VX=3;
  if(key=='w') p1VY=-20;
  
  if(keyCode==LEFT) p2VX=-3;
  if(keyCode==DOWN) p2VY=0;
  if(keyCode==RIGHT) p2VX=3;
  if(keyCode==UP) p2VY=-20;
}
void keyReleased(){
  if(key=='a') p1VX=0;
  if(key=='s') p1VY=0;
  if(key=='d') p1VX=0;
  if(key=='w') p1VY=0;
  
  if(keyCode==LEFT) p2VX=0;
  if(keyCode==DOWN) p2VY=0;
  if(keyCode==RIGHT) p2VX=0;
  if(keyCode==UP) p2VY=0;
}






第七週

WEEK7  課堂der筆記筆記


課堂作業1~~~皮卡丘打排球

1.
程式碼:
void setup(){
  size(800,600);
}
float ballX=200,ballY=200,ballVX=0,ballVY=3;
float pika1X=200,pika1Y=420;
float pika2X=650,pika2Y=420;
boolean bGameOver=false;
void draw(){
  background(#66B9EA);
  noStroke();fill(#FAC105);rect(0,500,800,100);
  fill(255,0,0);ellipse(ballY,ballY,60,60);
  rect(400,340,10,260);
 
  fill(#F5FA05);ellipse(pika1X,pika1Y,60,100);
  fill(#F5FA05);ellipse(pika2X,pika2Y,60,100);
 
  if(bGameOver) return;
 
  ballX+=ballVX;
  ballY+=ballVY;
  if(ballY>=500-30) bGameOver=true;
  if(dist(pika1X,pika1Y,ballX,ballY)<=80)bGameOver=true;
}

Week07_04160303謝紹勳

今天老師上課換到帶我們這組
作簡單版本的雪球大戰
讓我了解還需要做神麼
跟哪裡需要作精進的部分 
void setup(){
  size(500,500);
}
int kidSize=30;
float kidX=250,kidY=250,dir=0;
float ballX=-10,ballY=-10,ballVX=0,ballVY=0;
boolean ballFly=false;
void draw(){
  background(255);
  fill(255,40,40);ellipse(kidX,kidY,kidSize,kidSize);
  beginShape(POLYGON);
    vertex( kidX+kidSize*cos(radians(dir+80)),kidY+kidSize*sin(radians(dir+80)));
    vertex( kidX+kidSize*cos(radians(dir+100)),kidY+kidSize*sin(radians(dir+100)));
    vertex( kidX+kidSize*cos(radians(dir-100)),kidY+kidSize*sin(radians(dir-100)));
    vertex( kidX+kidSize*cos(radians(dir-80)),kidY+kidSize*sin(radians(dir-80)));
  endShape();
  if(ballFly){
    fill(255);ellipse(ballX,ballY, 10, 10);
    ballX += ballVX;ballY +=ballVY;
  }
}
void keyPressed(){
  if(keyCode==RIGHT) dir+=4;
  if(keyCode==LEFT) dir-=4;
  if(keyCode==UP){ kidX += 10*cos(radians(dir));kidY += 10*sin(radians(dir));}
  if(keyCode==DOWN){ kidX -= 10*cos(radians(dir));kidY -= 10*sin(radians(dir));}
  if(key==' '){ ballX=kidX; ballY=kidY; ballVX=10*cos(radians(dir)); ballVY=10*sin(radians(dir)); ballFly=true;}
}
以上是程式碼

Week07  Noteeeee!

-------------------------------------------------------------------------------------------------------------------------

 Week 07


-------------------------------------------------------------------------------------------------------------------------

寫期中作品~~~~

week07 03160801

一:  皮卡丘打排球
程式碼
void setup(){
  size(800,600);
}
float ballX=200,ballY=200,ballVX=0,ballVY=3;
float pika1X=200,pika1Y=420;
float pika2X=650,pika2Y=420;
boolean bGameOver=false;
void draw(){
  background(#66B9EA);
  noStroke();fill(#FAC105);rect(0,500,800,100);
  fill(255,0,0);ellipse(ballY,ballY,60,60);
  rect(400,340,10,260);
 
  fill(#F5FA05);ellipse(pika1X,pika1Y,60,100);
  fill(#F5FA05);ellipse(pika2X,pika2Y,60,100);
 
  if(bGameOver) return;
 
  ballX+=ballVX;
  ballY+=ballVY;
  if(ballY>=500-30) bGameOver=true;
  if(dist(pika1X,pika1Y,ballX,ballY)<=80)bGameOver=true;
}











程式碼
球落地遊戲結束


void setup(){
  size(800,600);
}
float ballX=200,ballY=200,ballVX=0,ballVY=3;
float pika1X=200,pika1Y=420,pika1VX=0,pika1VY=0;
float pika2X=600,pika2Y=420,pika2VX=0,pika2VY=0;
boolean bGameOver=false;
void draw(){
  background(#66B9EA);
  noStroke(); fill(#FAC105); rect(0,500,800,100);
  fill(255,0,0); ellipse(ballX,ballY,60,60);
  rect(400,340,10,260);
 
  fill(#F5FA05); ellipse(pika1X,pika1Y,60,100);
  fill(#F5FA05); ellipse(pika2X,pika2Y,60,100);
 
  if(bGameOver) return;
 
  ballX += ballVX; ballY += ballVY;
  ballVY += 0.98;
  pika1X+=pika1VX; pika1Y += pika1VY; pika1VY+=0.98;
  if(ballY>=500-30) bGameOver=true;
  if(pika1Y>=500-50) {pika1VY=0; pika1Y=500-50;}
  if(dist(pika1X,pika1Y,ballX,ballY)<=80) ballVY=-ballVY;
}
void keyPressed(){
  if(key=='a') pika1VX=-3;
  if(key=='s') pika1VY=0;
  if(key=='d') pika1VX=3;
  if(key=='w') pika1VY=-20;
}
void keyReleased(){
  if(key=='a') pika1VX=0;
  if(key=='s') pika1VY=0;
  if(key=='d') pika1VX=0;
  if(key=='w') pika1VY=0;
}


Week 7 - 文郁上課誌

                     2017互動技術

2017 / 10 / 30

1. 皮卡丘打排球
*球碰到人時會反彈,碰到地上則遊戲結束 畫面停止
*利用鍵盤控制可以移動人物















void setup(){
  size(800,600);
}
float ballX=200, ballY=200,ballVX=0, ballVY=5;
float pika1X=200,pika1Y=420, pika1VX=0,pika1VY=0;
float pika2X=600,pika2Y=420, pika2VX=0,pika2VY=0;
boolean bGameOver=false;
void draw(){
  background(#A0D6F0);
  noStroke(); fill(#A5A093); rect(0,500, 800,100);
  fill(255,0,0); ellipse(ballX,ballY, 60,60);
  rect(400,340,10,260);
  fill(#5EAD52); ellipse(pika1X,pika1Y, 60,100);
  fill(#5EAD52); ellipse(pika2X,pika2Y, 60,100);
   
  if(bGameOver) return;
  ballX +=ballVX;  ballY +=ballVY;
  ballVY += 0.98;
  pika1X += pika1VX;  pika1Y +=pika1VY; pika1VY +=0.98;
  if(ballY>=500-30) bGameOver=true;
  if(pika1Y>=500-50) {pika1VY=0; pika1Y=500-50; }
  if( dist(pika1X,pika1Y,ballX,ballY)<=80) ballVY=-ballVY;
}
void keyPressed(){
  if(key=='1') pika1VX=-3;
  if(key=='2') pika1VY=50;
  if(key=='4') pika1VX=3;
  if(key=='5') pika1VY=0;
}
void keyReleased(){
  if(key=='1') pika1VX=0;
  if(key=='2') pika1VY=0;
  if(key=='4') pika1VX=0;
  if(key=='5') pika1VY=0;
}






  
  
  

  

Week07 彣禎的上課筆記

一.皮卡丘打排球



二.


PImage imgcat,imgrat,imgcave;
void setup(){
  size(500,800);
  imgcat=loadImage("cat.png");
  imgrat=loadImage("rat.png");
  imgcave=loadImage("cave.png");
  for(int i=0;i<30;i++){
    ratX[i]=100+int(random(3))*150;
    ratY[i]=random(-8000);
    imageMode(CENTER);
  }
}
float []ratX=new float[80];
float []ratY=new float[80];
float mouseY=700;
int score=0;
void draw(){
  background(255,255,0);
  image(imgcave,100,10,200,100);
  image(imgcave,250,10,200,100);
  image(imgcave,400,10,200,100);
  fill(255,0,0);textSize(50); text("Score:"+score,50,50);
  
  image(imgcat,mouseX,mouseY,150,150);
  for(int i=0;i<30;i++){
    image(imgrat,ratX[i],ratY[i],80,80);
    ratY[i]+=2;
    if(dist(mouseX,mouseY,ratX[i],ratY[i])<75){
      ratY[i]=100+random(-8000);
      score+=10;
    }
  }
}

week07

皮卡丘打排球

程式碼

void setup(){
  size(800,600);
}
float ballX=200,ballY=200,ballVX=0,ballVY=3;
float pika1X=200,pika1Y=420;
float pika2X=650,pika2Y=420;
boolean bGameOver=false;
void draw(){
  background(#66B9EA);
  noStroke();fill(#FAC105);rect(0,500,800,100);
  fill(255,0,0);ellipse(pika1X,pika1Y,60,100);
  rect(400,340,10,260);
 
  fill(#F5FA05);ellipse(pika1X,pika1Y,60,100);
  fill(#F5FA05);ellipse(pika2X,pika2Y,60,100);
 
  if(bGameOver) return;
 
  ballX+=ballVX;
  ballY+=ballVY;
  if(ballY>500-30) bGameOver=true;
  if(dist(pika1X,pika1Y,ballX,ballY)<=80)bGameOver=true;
}

Week07 中澤的網誌

一、期中作品教學

皮卡丘打排球

程式碼:

void setup(){
  size(800,600);
}
float ballx=200,bally=200,ballvx=0,ballvy=3;
float p1x=200,p1y=420,p1vx=0,p1vy=0;
float p2x=600,p2y=420,p2vx=0,p2vy=0;
boolean bGameOver=false;
void draw(){
  background(#6AD1F5);
  noStroke();  fill(#EAAB4C);    rect(0,500,800,100);
  fill(255,0,0);  ellipse(ballx,bally,60,60); 
  rect(400,340,10,260);
  fill(#E8FC52);  ellipse(p1x,p1y,60,100); 
  fill(#E8FC52);  ellipse(p2x,p2y,60,100);  
  
  if(bGameOver) return;
  ballx +=ballvx;  bally +=ballvy;
  ballvy +=0.98;
  p1x +=p1vx;  p1y +=p1vy;  p1vy +=.98;
  if(bally>=500-30)   bGameOver=true;
  if(p1y>=500-50) { p1vy=0;  p1y=500-50; }
  if(dist(p1x,p1y,ballx,bally)<=80)  ballvy=-ballvy;
  }
void keyPressed(){
  if(key=='a') p1vx=-3;
  if(key=='s') p1vy=-50;
  if(key=='d') p1vx=3;
  if(key=='w') p1vy=0;
  }
void keyReleased(){
  if(key=='a') p1vx=0;
  if(key=='s') p1vy=0;
  if(key=='d') p1vx=0;
  if(key=='w') p1vy=0;
  }





week07-卓佾柔的上課筆記

一、皮卡丘打排球


void setup(){
  size(800,600);
}
float ballX=200,ballY=200,ballVX=0,ballVY=3;
float pika1X=200,pika1Y=420,pika1VX=0,pika1VY=0;
float pika2X=600,pika2Y=420,pika2VX=0,pika2VY=0;
boolean bGameOver=false;
void draw(){
  background(#2085D6);
  noStroke(); fill(#FAC105); rect(0,500,800,100);
  fill(255,0,0); ellipse(ballX,ballY,60,60);
  rect(400,340,10,260);
 
  fill(#F5FA05); ellipse(pika1X,pika1Y,60,100);  //皮卡丘起始位置
  fill(#F5FA05); ellipse(pika2X,pika2Y,60,100);
 
  if(bGameOver) return;   //如果球掉落遊戲結束(皮卡丘跟球不能再移動)
 
  ballX += ballVX; ballY += ballVY;
  ballVY += 0.98;  //重力加速度
  pika1X+=pika1VX; pika1Y += pika1VY; pika1VY+=0.98;
  if(ballY>=500-30) bGameOver=true; //球落地,GAMEOVER
  if(pika1Y>=500-50) {pika1VY=0; pika1Y=500-50;}
  if(dist(pika1X,pika1Y,ballX,ballY)<=80) ballVY=-ballVY;
}
void keyPressed(){
  if(key=='a') pika1VX=-3;
  if(key=='s') pika1VY=0;
  if(key=='d') pika1VX=3;
  if(key=='w') pika1VY=-20;
}
void keyReleased(){  //放開鍵盤的速度為0
  if(key=='a') pika1VX=0;
  if(key=='s') pika1VY=0;
  if(key=='d') pika1VX=0;
  if(key=='w') pika1VY=0;
}

二、雪球大戰







week07薛敬衡

17/10/30 德宇的筆記Week07

目標一:製作雪球大戰


原遊戲參考:
http://anan.game.tw/ettc/6263.html

遊戲玩法:
本遊戲中間的紅球為主角,可以發射雪球攻擊敵人,敵人則會衝撞主角扣血。
在血歸零前則到100分,則獲勝。若歸零未達到分數則失敗

本遊戲操控方法如下:
上鍵: 向前
下鍵: 向後
右鍵: 順時針
左鍵 逆時針
空白鍵: 發射雪球

程式碼:
PImage imgBG;
PVector[]enemy=new PVector[5];
PVector[]enemyV=new PVector[5];
int stage=1;
void reborn(int i)
{
  enemy[i]=new PVector(random(500), random(500));
  float angle=random(2*PI);
  enemyV[i]=new PVector(3*cos(angle), 3*sin(angle));
}    
void setup()
{
  imgBG=loadImage("1.jpg");
  fill(0, 0, 0);
  size(500, 500);
  for (int i=0; i<5; i++)
  {
    reborn(i);
  }
}
int kidsize=30;
float kidX=250, kidY=250, dir=0;
float [] ballX=new float[5];
float [] ballY=new float[5];
float [] ballVX=new float[5];
float [] ballVY=new float[5];
boolean ballFly=false;
float [] kid= new float[5];
float [] ball= new float[5];
void draw()
{
  else if (stage==1) 
  {  
    background(imgBG);
    textSize(30);
    fill(0);
    for (int i=0; i<5; i++)
    {
      fill(255, 220, 40);
      enemy[i].x +=enemyV[i].x;
      enemyV[i].y+=enemyV[i].y;
      ellipse(enemy[i].x, enemy[i].y, 30, 30);
      if (enemy[i].x<0||enemy[i].x>500
        ||enemy[i].y<30||enemy[i].y>500) reborn(i);
      fill(255, 40, 40);
      ellipse(kidX, kidY, 50, 50);
      beginShape(POLYGON);
      vertex(kidX+kidsize*cos(radians(dir+80)), kidY+kidsize*sin(radians(dir+80)));
      vertex(kidX+kidsize*cos(radians(dir+100)), kidY+kidsize*sin(radians(dir+100)));
      vertex(kidX+kidsize*cos(radians(dir-100)), kidY+kidsize*sin(radians(dir-100)));
      vertex(kidX+kidsize*cos(radians(dir-80)), kidY+kidsize*sin(radians(dir-80)));
      endShape();
      if (ballFly)
      {
        fill(255);
        ellipse(ballX[now], ballY[now], 10, 10);
        ballX[now]+=ballVX[now];
        ballY[now]+=ballVY[now];
      } 
      if(dist (enemy[i].x,enemy[i].y,ballX[now],ballY[now])<40) 
       {
       score+=10;
       reborn(i);
       if(score>=100)stage=3;
       }
       if(dist(enemy[i].x,enemy[i].x,kidX,kidY)<1)
       {
       heart--;
       if(heart<=0)stage=2;
       reborn(i);
       }
    }
  } 
}
void keyPressed()
{
  if (keyCode==RIGHT) dir+=20;
  if (keyCode==LEFT) dir-=20;
  if (keyCode==UP)
  { 
    kidX += 10*cos(radians(dir));
    kidY += 10*sin(radians(dir));
  }
  if (keyCode==DOWN)
  {
    kidX -= 10*cos(radians(dir));
    kidY -= 10*sin(radians(dir));
  }
  if (key==' ')
  {
    ballX[now]=kidX; 
    ballY[now]=kidY; 
    ballVX[now]=10*cos(radians(dir)); 
    ballVY[now]=10*sin(radians(dir)); 
    ballFly=true;
  }