2017年10月30日 星期一

Week06 喵喵喵喵喵的上課筆記

●爆爆王

Step1:

void setup(){
  size(850,500);
}
void draw(){
  background(#92AD28);
  noStroke();
  for(int x=0;x<17;x++){
    for(int y=0;y<10;y++){
      if((x-y)%2==0)fill(#7E9819);
      else fill(#92AD28);
      rect(x*50,y*50,50,50);
    }
  }
}



Step2:

float userX,userY;
void draw(){
  background(#92AD28);
  noStroke();
  for(int x=0;x<17;x++){
    for(int y=0;y<10;y++){
      if((x-y)%2==0)fill(#7E9819);
      else fill(#92AD28);
      rect(x*50,y*50,50,50);
    }
  }
  fill(255,0,0);ellipse(userJ*50+25,userI*50+25,50,50);
}
void keyPressed(){
   if(keyCode==LEFT)userJ--;
   if(keyCode==RIGHT)userJ++;
   if(keyCode==UP)userI--;
   if(keyCode==DOWN)userI++;
}



Step3:

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];
void draw(){
  background(#92AD28);
  noStroke();
  for(int i=0;i<17;i++){
    for(int j=0;j<10;j++){
      if((j-i)%2==0)fill(#7E9819);
      else fill(#92AD28);
      rect(j*50,i*50,50,50);
    }
  }
  fill(255,0,0);ellipse(userJ*50+25,userI*50+25,50,50);
  for(int i=0;i<waterN;i++){
    fill(#93E1F7);ellipse(waterJ[i]*50+25,waterI[i]*50+25,30,30);
  }
}
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; waterN++;
 }
}



●鱷魚咬咬

Step1:

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



Step2:

int bad=0;
void setup(){
  size(500,500);
  bad= int(random(18));
  println(bad);
}
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);
    }
    if(bad==i){fill(255,0,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);
    }
    if(bad==i+9){fill(255,0,0);rect(110+i*30,300,30,30);}
  }
}



Step2:有分失敗狀況和遊玩選擇狀況圖

int bad=0;
int [] all=new int [18];
void setup(){
  size(500,500);
  bad= int(random(18)); all[bad]=1;
  println(bad);
}
boolean bGameOver=false;
void draw(){
  if(bGameOver){
  background(255,0,0);
  return;
  }
  background(255);
  fill(0,155,0);ellipse(250,250,300,300);
  for(int i=0;i<9;i++){
    if(all[i]==-1)continue;
    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);
      if(mousePressed && all[i]!=1) all[i]=-1;
      if(mousePressed && all[i]==1) bGameOver=true;
    }
    //if(bad==i){fill(255,0,0);rect(110+i*30,200,30,30);}
  }
  for(int i=0;i<9;i++){
    if(all[i+9]==-1)continue;
    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);
     if(mousePressed && all[i+9]!=1) all[i+9]=-1;
     if(mousePressed && all[i+9]==1) bGameOver=true;
    }
    //if(bad==i+9){fill(255,0,0);rect(110+i*30,300,30,30);}
  }
}





●射擊人物移動遊戲

Step1:

沒有留言:

張貼留言