2020年4月23日 星期四

week09

程式設計二

瘋狂程設

1.UVA10783:Odd Sum 

2.UVA11332:Summing Digits 

Processing

1.出一個開口45度的橢圓形
程式:
fill(#F5ED02);
arc(50,50,100,100,radians(45),radians(315),PIE);


2.出一個會移動且開口會閉合的橢圓形
程式:
void setup(){
  size(600,300);
}
int x=50,y=50,a=45,da=1;//da是角度a的改變量,先放1
void draw(){
  background(0);
  fill(#F5ED02);
  arc(x,y,100,100,radians(a),radians(360-a),PIE);
  x++;
  a+=da;//張大或縮小
  if(a>60)da=-1;//太大?縮小
  if(a<=0)da=+1;//太小?放大
}


3.出一個會移動且開口會閉合的橢圓形,當碰到豆子時豆子會消失
程式:
void setup(){
  size(600,300);
}
int [][]bean={//這是Java語言的陣列
  {1,1,1,1,1,1,1,1},
  {1,1,1,1,1,1,1,1},
  {1,0,1,1,1,1,1,1},
  {1,1,1,1,1,1,1,1},
  {1,1,1,1,1,1,1,1},
  {1,1,1,1,1,1,1,1}};
int x=50,y=50,a=45,da=1;//da是角度a的改變量,先放1

void draw(){//1秒會較draw()叫60次
  background(0);
  fill(#F5ED02);
  for(int i=0;i<6;i++){
    for(int j=0;j<8;j++){
      if(bean[i][j]==1)ellipse(j*100+50,i*100+50,6,6);
      if(dist(x,y,j*100+50,i*100+50)<50)bean[i][j]=0;
    }
  }
  arc(x,y,100,100,radians(a),radians(360-a),PIE);
  x++;
  a+=da;//張大或縮小
  if(a>60)da=-1;//太大?縮小
  if(a<=0)da=+1;//太小?放大

}


沒有留言:

張貼留言