2014年6月29日 星期日

第十四週上課進度

繼續製作期末作品

進度圖:

程式碼:

import ddf.minim.*;

Minim minim;
AudioPlayer song;

PImage imgBG;
PImage imgM, imgM1, imgM2;
PImage imgPipe;
PImage imgGap;
PImage imgWin;
PImage i;
int lr, up;
int a=0;
int m0=0, m1=0, m2=0, m3=0, m4=0, m5=0;
int b0=0, b1=0, b2=0, b3=0, b4=0, b5=0;
float r0, r1, r2, r3, r4, r5, r6;
float s0, s1, s2, s3, s4, s5, s6;
boolean c=true;

void setup() {
  size(600, 819);
  imgM = loadImage("mario.png"); //UP
  imgM1 = loadImage("mario1.png"); //RIGHT
  imgM2 = loadImage("mario2.png"); //LEFT
  imgPipe = loadImage("Mario Pipes.png");
  imgGap = loadImage("gap1.jpg");
  imgWin = loadImage("win.png");
  i=imgM1;

  r0=random(100);
  r1=random(100);
  r2=random(200);
  r3=random(200);
  r4=random(300);
  r5=random(300);
  r6=random(400);

  s0=random(10)%5+4;
  s1=random(10)%5+2;
  s2=random(10)%5+3;
  s3=random(10)%5+3;
  s4=random(10)%5+2;
  s5=random(10)%5+4;

  minim = new Minim(this);
  /*song = minim.loadFile("music.mp3");
   song.play();*/
}

void draw() {
  a++;
  imgBG = loadImage("BG.jpg");
  background(imgBG);

  strokeWeight(7);
  stroke(204, 102, 0); 
  line(0, 100, 600, 100);
  line(0, 225, 600, 225);
  line(0, 350, 600, 350);
  line(0, 475, 600, 475);
  line(0, 600, 600, 600);
  line(0, 725, 600, 725);

  image(i, 100+lr, 652+up);
  image(imgPipe, 525, 15);

  if (100+lr>=528 && 652+up<=92)
  {
    c=false;
    image(imgWin, 0, 0);
    background(imgWin);
  }

  if (c) {
    if (a>=r0) {    
      if (b0==0) {
        image(imgGap, m0+=s0, 720);
        if (m0>800)b0=1;
      }    
      else if (b0==1) {
        image(imgGap, m0-=s1, 720);
        if (m0<-450)b0=0;
      }
    }

    if (a>=r1) {    
      if (b1==0) {
        image(imgGap, m1+=s1, 595);
        if (m1>1000)b1=1;
      }    
      else if (b1==1) {
        image(imgGap, m1-=s1, 595);
        if (m1<-200)b1=0;
      }
    }

    if (a>=r2) {    
      if (b2==0) {
        image(imgGap, m2+=s2, 470);
        if (m2>700)b2=1;
      }    
      else if (b2==1) {
        image(imgGap, m2-=s2, 470);
        if (m2<-400)b2=0;
      }
    }

    if (a>=r3) {    
      if (b3==0) {
        image(imgGap, m3+=s3, 345);
        if (m3>1050)b3=1;
      }    
      else if (b3==1) {
        image(imgGap, m3-=s3, 345);
        if (m3<-300)b3=0;
      }
    }

    if (a>=r4) {    
      if (b4==0) {
        image(imgGap, m4+=s4, 220);
        if (m4>900)b4=1;
      }    
      else if (b4==1) {
        image(imgGap, m4-=s4, 220);
        if (m4<-400)b4=0;
      }
    }

    if (a>=r5) {    
      if (b5==0) {
        image(imgGap, m5+=s5, 95);
        if (m5>800)b5=1;
      }    
      else if (b5==1) {
        image(imgGap, m5-=s5, 95);
        if (m5<-300)b5=0;
      }
    }
  }
  if (d) {
    if (abs(m1-100+lr)<=30)up=-126;
    else up=0;
    d=false;
  }
  //print(a+"\n");
}
boolean d;
void keyPressed() {
  if (keyCode==UP) {
    d=true;
    up-=126; 
    i=imgM;
    song = minim.loadFile("jump.wav");
    song.play();
  }
  if (keyCode==LEFT) {
    lr-=30; 
    i=imgM2;
  }
  if (keyCode==RIGHT) {
    lr+=30;  
    i=imgM1;
  }  
  if (lr<=-100)lr=-100;
  if (lr>=460)lr=460;
  if (up<=-625)up=-625;

  if (100+lr>=528 && 652+up<=92)
  {
    song = minim.loadFile("win.mp3");
    song.play();
  }
}
void mouseClicked()
{
  print(mouseX, mouseY);
  print("\n");
}

沒有留言:

張貼留言