2018年10月4日 星期四

Week04 呆江的筆記

Week04

期中作品:Ball Control

不知道大家有沒有玩過類似的遊戲,畫面中有幾顆有數字和顏色的球,還有許多只有顏色的球,按下有數字的球,其他跟數字一樣顏色的球會被吸過去,直到數字球的數字歸零,就會提升遊戲等級。我們在期中要發表的就是這遊戲的初階版。

寫字


程式碼:text("string",x,y);  textSize(size_int);  fill(R,G,B);
執行結果:


射子彈

邏輯:如果滑鼠按下(true),就顯示子彈並向前飛行

執行結果:


程式碼:

boolean fly = false;
float bx = 350; float by = 490;
void setup(){
  size(800,600);
}
void draw(){
  background(255);
  fill(30,150,170);
  rect(350,490,100,100);
  if(mousePressed){
    fly=true;
   }
  if(fly){
    ellipse(bx,by,30,30);
    by-=5;
  }
}

但是這樣只能射一顆...,所以使用陣列讓子彈多一點


程式碼:

boolean []fly = new boolean[50];
float []bx = new float[50];
float []by = new float[50];
int bn=0;
void setup(){
  size(800,600);
}
void draw(){
  background(255);
  fill(30,150,170);
  rect(350,490,100,100);

  for(int i = 0;i < bn;i++){
    if(fly[i]){
      ellipse(bx[i],by[i],30,40);
      by[i]-=8;
    }
  }
}
void mousePressed(){
  fly[bn]=true;
  bx[bn]=400; by[bn]=490;
  bn++;
  if(bn==50)
    bn=0;
}


沒有留言:

張貼留言