期中作品
跑跑薑餅人
程式碼:
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){ }
}
薑餅人跳起來會吃金幣
沒有留言:
張貼留言