2017年11月6日 星期一

week08

這週開始製作我們這組的期中作品

我們這組做的是跑跑薑餅人

程式碼如下:

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){ }
}

目前成果如圖



有一個薑餅人的主角
可以往上跳
而金幣會一直往左移動讓薑餅人有往前的效果



而金幣碰觸到薑餅人則會被吃掉(消失掉)

沒有留言:

張貼留言