2017年10月23日 星期一

week06 03160801

一: 爆爆王簡單的示範
放水球

程式碼
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<10;i++){
    for(int j=0;j<17;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++;}
}











二: 鱷魚咬手指
程式碼
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);
     }
  }
}

























點到牙齒會消失












死掉螢幕會變紅色














三: 射擊遊戲

程式碼
void setup(){
  size(600,400);
}
float userX=300,userY=200;
void draw(){
  background(#44B220);
  stroke(#53C9E5);noFill();
  for(int i=0;i<16;i++){
    for(int j=0;j<24;j++){
      rect(j*25,i*25,25,25);
    }
  }
  stroke(0);fill(#F775E8);
  float angle=atan2(mouseY-userY,mouseX-userX);
  triangle(userX+40*cos(angle), userY+40*sin(angle),
           userX+15*cos(angle+PI/2), userY+15*sin(angle+PI/2),
           userX+15*cos(angle-PI/2), userY+15*sin(angle-PI/2));
  ellipse(userX,userY,30,30);
}


箭頭移動可以調整方向














程式碼
a s d w可以往左上 左下 右上 又下移動

void setup(){
  size(600,400);
}
float userX=300,userY=200;
float mapX=0, mapY=0;
void draw(){
  background(#44B220);
  stroke(#53C9E5);noFill();
  for(int i=0;i<16;i++){
    for(int j=0;j<24;j++){
      rect(mapX+j*25,mapY+i*25,25,25);
    }
  }
  stroke(0);fill(#F775E8);
  float angle=atan2(mouseY-userY,mouseX-userX);
  triangle(userX+40*cos(angle), userY+40*sin(angle),
           userX+15*cos(angle+PI/2), userY+15*sin(angle+PI/2),
           userX+15*cos(angle-PI/2), userY+15*sin(angle-PI/2));
  ellipse(userX,userY,30,30);
  mapX-=dirX;
  mapY-=dirY;
}
int dirX=0,dirY=0;
void ketPressed(){
  if(key=='a' || key=='A') dirX=-1;
  if(key=='s' || key=='S') dirY=1;
  if(key=='d' || key=='D') dirX=1;
  if(key=='w' || key=='W') dirY=-1;
}
void ketReleased(){
  if(key=='a' || key=='A') dirX=0;
  if(key=='s' || key=='S') dirY=0;
  if(key=='d' || key=='D') dirX=0;
  if(key=='w' || key=='W') dirY=0;
  
}



















沒有留言:

張貼留言