2024年9月16日 星期一

WEEK02-翁逸豪

WEEK02-1

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

使用滑鼠左右滑動操作調整開口大小

WEEK02-2

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

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);
  
}
自行調整開口大小(0...45...90...135...180)

WEEK02-4

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(x+50, y+50, 100, 100, 0+a, PI*2-a, PIE);
    }
  }
}
增加pacman數量且都能自行調整開口大小

WEEK02-5

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);
}
使用↑↓←→調整物體位置
可以使用frameRate(200)調整物體移動速度(1秒程式碼執行次數)

WEEK02-6

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

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==LEFT)
  {
    x--;
    d=PI/2*2;
  } else if (keyCode==UP)
  {
    y--;
    d=PI/2*3;
  } else if (keyCode==DOWN)
  {
    y++;
    d=PI/2*1;
  }
}
使用↑↓←→調整物體位置與開口方向

WEEK02-8

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-9

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;
}
使用↑↓←→調整物體跑動與開口方向且能自行調整開口大小


沒有留言:

張貼留言