2017年11月10日 星期五

week08 03160801

期中作品

跑跑薑餅人

程式碼:
int [][]map={{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
             {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
             {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
             {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
             {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
             {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
             {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
             {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}};  //利用矩陣做出畫面
int []coinEat={0,0,0,0,0,0,0,0,0,0,0,}; //金幣矩陣
int bgShift=0;

PImage imgBrick ,imgMan;
void setup(){
  size(600,400);
  imgBrick=loadImage("floor.png");
  imgMan=loadImage("man.png");
}
boolean manJumping=false;
int manX=100,manY=200;
float manVX=0,manVY=0;
void draw(){
  background(#91EEF7);
  for(int i=0;i<8;i++){
    for(int j=0;j<15;j++){
      if(map[i][j]==1) image(imgBrick, j*40,i*40,40,40);
   
    }
  }
  for(int i=0;i<10;i++){
    if(coinEat[i]==0){
      fill(255,255,0);ellipse(i*50+300-bgShift,100,50,50);
    }
    if(dist(manX,manY,i*50+300-bgShift,100)<50)coinEat[i]=1;
  }
  ellipse(manX,manY,0,0);
  bgShift++; //讓金幣自己移動

  image(imgMan, manX, manY,40,40);
  manX+=manVX;manY+=manVY;
  if(manJumping) manVY+=0.98;
  testManOnFloor();
}
void testManOnFloor(){
  int i=int(manY/40),j=int(manX/40);
  if(i>=8 || j>=15)return;
  if( map[i+1][j]!=0){manJumping=false;manY=i*40; manVY=0;}
}
void keyPressed(){
  if(keyCode==UP) {manVY=-10;manJumping=true;}
   if(keyCode==DOWN){ }
}














薑餅人跳起來會吃金幣














沒有留言:

張貼留言