2024年9月16日 星期一

周家的契約書02
















用滑鼠控制弧度
//week02_1_pacman
void setup() {
  size(400, 400);
}
void draw() {
  background(255);
  fill(#E7EA42);
  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);
    }
  }
}




 //week02-2_pacman 想要照著時間,自動張嘴

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

//week02-3_pacman_

void setup(){
  size(400,400);
}
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(200,200,300,300, 0+a, PI*2-a, PIE);
}



























void setup() {
  size(400, 400);
}
void draw() {
  background(255);
  fill(#FFDC0F);
  for (int x=0; x<400; x+=100) {
    for (int y=0; y<400; y+=100) {
      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(200, 200, 300, 300, 0+a, PI*2-a, PIE);
    }
  }
}

//week02-5_pacman_if_keyPressed_keyCode
按上下左右來移動
void setup(){
  size(400,400);
}
int x=200, y=200;
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);
}




void setup(){
  size(400,400);
}
void draw(){
  background(255);
  fill(#FFDC0F);
  float a=frameCount % 180;
  float b=radians(mouseX);
  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(200,200,300,300, b+0+a, b+PI*2-a, PIE);
}















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

















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















//week02_9pacman_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;
}








沒有留言:

張貼留言