2017年11月9日 星期四

蔡陳杰的計算機圖學筆記 week09

首先 先下載老師給的軟體  processing-3.3.6-windows64.zip

接著到FB進到日本人的做的圖形並複製他的程式碼

接著也可以自己做圖形

進化成比較有程式風格的寫法

最後能用這程式寫一個類似馬力歐的程式
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,1,1,2,2,1,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}};
PImage imgMragon,imgBrick,imgBrick2;
void setup()
{
  size(800,760);
  imgMario=loadImage("mario.png");
  imgBrick=loadImage("brick.png");
  imgBrick2=loadImage("brick2.png");
}

float marioX=200, marioY=100, marioVX=0, marioVY=0;
boolean marioOnFloor=false;

void draw()
{
  background(255);
  //for(int x=0;x<20;x++) image(imgBrick,x*50,500,50,50);
  for(int x=0;x<14;x++){
    for(int y=0;y<11;y++){
      if(map[y][x]==1) image(imgBrick,x*50,y*50,50,50);
      if(map[y][x]==2) image(imgBrick2,x*50,y*50,50,50);
    }
  }
  image(imgMario,marioX,marioY,100,100);
  marioY += marioVY;
  marioX += marioVX;
 marioVY += 0.98;
  if(marioY>=500-100)
  {
    marioY=500-100;
    marioVY=0;
    marioOnFloor=true;
  }
}
void keyPressed()
{
  if(keyCode==UP && marioOnFloor) { marioVY=-15; marioOnFloor=false;}
  if(keyCode==RIGHT) marioVX=5;
  if(keyCode==LEFT) marioVX=-5;
}
void keyReleased()
{
  if(keyCode==RIGHT || keyCode==LEFT) marioVX=0;
}

沒有留言:

張貼留言