2024年9月16日 星期一

小賴week02


☺HOMEWORK (1) 

//week02_1_pacman_radians_mouseX

void setup(){
  size(400,400);
}
void draw(){
  background(255);
  fill(#FFDC0F);//填充黃色
  float a = radians(mouseX);
  for(int x=0; x<400; x+=100){
    for(int y=0; y<400; y+=100){
      arc(x+50, y+50, 100, 100, 0 + a, PI*2 - a, PIE);//改畫弧度
      //X座標, Y,寬,高, 開始,結束,蘋果派的方法畫
    }
  }
}






☺HOMEWORK (2)
//week02_2_pacman_radians_frameCount

void setup(){
  size(400,400);
}
void draw(){
  background(255);
  fill(#FFDC0F);//填充黃色
  float a = radians(frameCount);
  if(a>PI/4) a = a - PI/4;
  arc(200,200,300,300,0+a,PI*2-a,PIE);
}




☺HOMEWORK (3)
//week02_3_pacman_open_close_open_close

void setup(){
  size(400,400);
}
void draw(){
  background(255);
  fill(#FFDC0F);//填充黃色
  float a = frameCount % 180;//0...45..90..180
  if(a<45) a = radians(90-a);
  else if(a<90) a = radians(90-a);
  else if(a<135) a = radians(a-90);
  else if(a<180) a = radians(180-a);
  arc(200,200,300,300,0+a,PI*2-a,PIE);
}




☺HOMEWORK (4)
//week02_4_pacman_for_for_open_close_open_close
void setup(){
  size(400,400);
}
void draw(){
  background(255);
  fill(#FFDC0F);//填充黃色
  //float a = radians(mouseX);
  for(int x=0; x<400; x+=100){
    for(int y=0; y<400; y+=100){
      float a = frameCount % 180;//0...45..90..180
      if(a<45) a = radians(90-a);
      else if(a<90) a = radians(90-a);
      else if(a<135) a = radians(a-90);
      else if(a<180) a = radians(180-a);
      arc(x+50, y+50, 100, 100, 0 + a, PI*2 - a, PIE);//改畫弧度
      //X座標, Y,寬,高, 開始,結束,蘋果派的方法畫
    }
  }
}




☺HOMEWORK (5)
//week02_5_pacman_if_keyPressed_keyCode
void setup(){
  size(400,400);
  frameRate(200);
}
int x = 200, y = 200;//pacman座標
void draw(){
  background(255);
  fill(#FFDC0F);
  if(keyPressed && keyCode==RIGHT) x++;
  if(keyPressed && keyCode==LEFT) x--;
  if(keyPressed && keyCode==UP) y--;
  if(keyPressed && keyCode==DOWN) y++;
  ellipse(x,y,100,100);
}




☺HOMEWORK (6)
//week02_6_pacman_b_direction
void setup(){
  size(400,400);
}
void draw(){
  background(255);
  fill(#FFDC0F);//填充黃色
  float a = frameCount % 180;//0...45..90..180
  float b = radians(mouseX);
  if(a<45) a = radians(90-a);
  else if(a<90) a = radians(90-a);
  else if(a<135) a = radians(a-90);
  else if(a<180) a = radians(180-a);
  arc(200,200,300,300,b+0+a,b+PI*2-a,PIE);
}





☺HOMEWORK (7)
//week02_7_pacman_d_direction_void_keyPressed_keyCode
void setup(){
  size(400,400);
}
float x = 200, y = 200, d = PI/2*0;
void draw(){
  background(255);
  fill(#FFDC0F);
  float a = frameCount % 180;
  if(a<45) a = radians(a);
  else if(a<90) a = radians(90-a);
  else if(a<135) a = radians(a-90);
  else if(a<180) a = radians(180-a);
  arc(x, y, 100, 100, d+0+a,d+PI*2-a, PIE);
}
void keyPressed(){
  if(keyCode==RIGHT){
    x++;
    d = PI/2*0;
  }else if(keyCode==DOWN){
    y++;
    d = PI/2*1;
  }else if(keyCode==LEFT){
    x--;
    d = PI/2*2;
  }else if(keyCode==UP){
    y--;
    d = PI/2*3;
  }
}








☺HOMEWORK (8)
//week02_8_pacman_dx_dy_d_void_keyPressed
void setup(){
  size(400,400);
}
int x = 200, y = 200, d = 0;
void draw(){
  background(255);
  fill(#FFDC0F);
  float a = 0.5;
  int []dx = {1,0,-1,0};
  int []dy = {0,1,0,-1};
  x += dx[d];
  y += dy[d];
  arc(x,y,100,100,PI/2*d+a,PI/2*d + PI*2 - a, PIE);
}
void keyPressed(){
  if(keyCode==RIGHT) d = 0;
  if(keyCode==DOWN) d = 1;
  if(keyCode==LEFT) d = 2;
  if(keyCode==UP) d = 3;
}




☺HOMEWORK (9)
//week02_9_pacman_radians_abs_frameCount_if_keyPressed
void setup(){
  size(400,400);
}
int x = 200, y = 200, d = 0;
void draw(){
  background(255);
  fill(#FFDC0F);
  float a = radians(abs(frameCount%90-45));
  int []dx = {1,0,-1,0};
  int []dy = {0,1,0,-1};
  if(keyPressed) x += dx[d];
  if(keyPressed) y += dy[d];
  arc(x,y,100,100,PI/2*d+a,PI/2*d + PI*2 - a, PIE);
}
void keyPressed(){
  if(keyCode==RIGHT) d = 0;
  if(keyCode==DOWN) d = 1;
  if(keyCode==LEFT) d = 2;
  if(keyCode==UP) d = 3;
}


















沒有留言:

張貼留言