2014年10月27日 星期一

期中作品

圖中人物必須一直踩著橫桿往上跳
一掉下去即 GameOver

import ddf.minim.*;
import processing.serial.*;
PImage img, over;

float myImgY;
float myImgX=320;
float mySpeed=15;
PImage myBackGround;
PImage[] myfloor=new PImage [5];
float[]  myFloorX=new float[5];
float[]  myFloorY=new float[5];
AudioPlayer player2;
Minim m;
void setup()
{
  m=new Minim(this);
    player2=m.loadFile("back.mp3");
   myBackGround=loadImage("bg.jpg");
   over = loadImage("gameover.jpg");
   for (int i=0;i<5;i++) {
     myfloor[i]=loadImage("Floor.jpg");
     myFloorX[i]=random(370);
     myFloorY[i]=random(100)+i*100;
   }
  img=loadImage("img.png");
  size(400, 600);
  myImgY=380;
  over=loadImage("gameover.jpg");
}

void draw()
{
   
  player2.play();
  background(myBackGround);
  image(img, myImgX, myImgY, 100, 100);
  myImgY-=mySpeed;
  mySpeed-=0.5;
  if(myImgY>600)
    image(over, 0, 0, 400, 600);
  //if (myImgY>400) {
   // myImgY=380;
   // mySpeed=25;
  //}
  for (int i=0;i<5;i++) 
  {
    myFloorY[i]+=2;
    image(myfloor[i], myFloorX[i], myFloorY[i], 100, 30);
    if (myFloorY[i]>600) {
      reset(i);
    }
    if (mySpeed<0 && myImgX>myFloorX[i] && myImgX<myFloorX[i]+100 &&  
      myImgY>myFloorY[i] && myImgY<myFloorY[i]+30 )
    {
      touch();
    }
  }
  }

void reset(int i)
{
  myFloorY[i]=random(100);
  myFloorX[i]=random(370);
}
void touch()
{
  mySpeed=15;
}
void keyPressed()
{
  if(keyCode == LEFT)
    myImgX -= 50;
  if(keyCode == RIGHT)
    myImgX += 50; 

}

沒有留言:

張貼留言