2014年10月29日 星期三

期中作業

https://www.youtube.com/watch?v=p5sYwGvzeMI&feature=youtu.be


doodle jump
利用a鍵與s鍵
控制主角的左與右
採到格子即可向上
程式碼
import ddf.minim.*;
import processing.serial.*;
PImage img, over;

float myImgY;
float myImgX=320;
float mySpeed=25;
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.8;
  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=25;
}
void keyPressed()
{
  if(key == 'a')
    myImgX -= 10;
  if(key == 's')
    myImgX += 10;

}

沒有留言:

張貼留言