2017年10月23日 星期一

Week06_一個上課筆記

作業一: 基礎爆爆王

程式教學
void setup(){
  size(850,500);
}
int userJ=9,userI=5;
float userX,userY;
int waterN=0;
int []waterJ=new int[100];
int []waterI=new int[100];
int []waterS=new int[100]; //水球大小
int []waterT=new int[100];  //水球生命值,負數為爆炸後的餘威時間值
void draw(){
  background(#80BF47);
  noStroke();
  for(int i=0;i<10;i++){
    for(int j=0;j<17;j++){
      if((j-i)%2 ==0) fill(#AFE380);
      else fill(#80BF47);
      rect(j*50,i*50,50,50);
    }  //背景格子
  }
  fill(255,0,0);  ellipse(userJ*50+25,userI*50+25,50,50);  // User
  for(int i=0; i<waterN; i++){
    if(waterT[i]>0){
    fill(#9EE7F5);  ellipse(waterJ[i]*50+25,waterI[i]*50+25,30,30);
    waterT[i]--;
    if(waterT[i]==0)  waterT[i]=-60;
    }
    if(waterT[i]<0){
      for(int k=-waterS[i];k<=waterS[i];k++){
        fill(255);  rect((waterJ[i]+k)*50,(waterI[i])*50,50,50);
        fill(255);  rect((waterJ[i])*50,(waterI[i]+k)*50,50,50);
      }
      waterT[i]++;
    }  //水球爆炸
  }
}
void keyPressed(){
  if(keyCode==LEFT) userJ--;
  if(keyCode==RIGHT) userJ++;
  if(keyCode==UP) userI--;
  if(keyCode==DOWN) userI++;   //方向鍵控制
  if(key==' '){
    waterI[waterN]=userI;  waterJ[waterN]=userJ;
    waterS[waterN]=5;  waterT[waterN]=120;
    waterN++;
  }  //水球位置
}


紅色為User主角
白色為爆炸煙霧,藍色為水球




作業二: 基礎鱷魚牙齒

程式教學
滑鼠選取牙齒時,牙齒會呈現拔掉狀態(變黑)
void setup(){
  size(500,500);
}
void draw(){
  background (255);
  fill(0,155,0); ellipse(250,250,300,300);
  for (int i=0 ;i<9 ;i++){
    fill(255); rect(110+i*30, 200, 30,30);
    if (110+i*30<mouseX && mouseX<110+i*30+30 &&
        200<mouseY && mouseY<200+30){
      fill(0); rect (110+i*30, 200, 30,30);
     }
  }
  for(int i=0; i<9;i++){
    fill(255); rect(110+i*30, 300, 30,30);
    if(110+i*30 <mouseX && mouseX< 110+i*30+30 && 300 <mouseY && mouseY<300+30){
      fill(0); rect (110+i*30, 300, 30,30);
    }
  }
}




沒有留言:

張貼留言