2012年11月13日 星期二

Midterm 期中作品


我們這組所做的期中作品為"阿寶上樓梯"
也就是所謂的小朋友上樓梯遊戲
這是遊戲剛開始的畫面 玩家要控制空白鍵 讓阿寶能夠跳躍

這是跳躍起來的樣子

  之後越跳越高,一階一階往上跳


以下這是我們的程式碼:

int finnx=0,finny=500;
int dx=5,bgX=0,bgY=0,jump=0,woodx=0,woody=470;
PImage finn1,finn2,jump1,jump2,bg,bg2,wood,wood1,wood2,wood3;
int onboard=0;  
//--------------------------------------------------------------//宣告所有程式所需要用的圖片
void setup(){
  size(600,800);
  finn1 = loadImage("Finn_right.png");
  finn2 = loadImage("Finn_left.png");
  jump1 = loadImage("jump_right.png");
  jump2 = loadImage("jump_left.png");
  bg = loadImage("sky.jpg");
  bg2= loadImage("bg2.jpg");
  wood  = loadImage("wood.png");
  wood1 = loadImage("wood.png");
  wood2 = loadImage("wood.png");
  wood3 = loadImage("wood.png");
}
//----------------------------------------------------------------
void draw(){
  background (239,228,176);
  image(bg2,0,bgY,600,800); //-------------------<初始背景>
  //----------------------------------------------------------------<背景移動:背景會因為主角移動而延伸
 if(bgY>0){
    image(bg,0,bgY-800,600,800);
  }
  if(bgY-800>0){
    image(bg,0,bgY-1600,600,800);
  }
  if(bgY-1600>0)bgY-=800;
  //----------------------------------------------------------------->
  //-----------------------------------------------------------------<宣告階梯
  image(wood ,woodx+340,woody,350,100);
  if ( finnx>woodx+340 && finnx<woodx+600 && finny <= 400){//如果主角在這個範圍內
        finny = 360;                                       //將會把主角的水平位置往上移
        println("up");
        onboard=1;
       }else{
     onboard=0;
     }
  image(wood1,woodx    ,woody-100,350,100);
  if ( finnx>woodx && finnx<woodx+350 && finny <= 200){
        finny = 220;    
        println("up");
        onboard=1;
       }else{
     onboard=0;
     }
  image(wood2,woodx+200,woody-250,350,100);
  image(wood3,woodx+340,woody-400,350,100);
  //-------------------------------<左右移動
  if (finnx>500 || finnx<0) dx=-dx;//使主角會自動左右移動到兩邊盡頭時會轉身
  finnx+=dx;
  //------------------------------->
  //-------------------------------<向右前進.跳耀
  if(dx>0){
    if(jump>0){
        image(jump1,finnx,finny,100,150);
        jump=jump-10;
        finny-=10;
      }
   
    else image(finn1,finnx,finny,100,150);
    if(finny<500 && onboard==0){
        finny+=5;
      }
    }
  //-------------------------------<向左前進.跳耀
  else {
    if(jump>0){
        image(jump2,finnx,finny,100,150);
        jump=jump-10;
        finny-=10;
      }
    else image(finn2,finnx,finny,100,150);
    if(finny<500 && onboard==0){
        finny+=5;
      }
    }
    /*if ( finnx>woodx+340 && finnx<woodx+600 && finny <= 400){
        finny = 360;    
        println("up");
        onboard=1;
       }else{
     onboard=0;
     }*/
  //------------------------------->

  //-------------------------------<跳躍
  }
  void keyPressed()  {
  if (key==' '){
    jump=300;
   }
 
}
  //------------------------------->\

目前還有些許的BUG
也就是無法上了第二階層後繼續跳躍
我們會繼續修改我們的程式 讓他更完整

沒有留言:

張貼留言