2024年11月18日 星期一

Week11 期中作業報告

 1.第一節上課觀看同學期中報告

2.第二節上課程式碼

//week11_1_optical_illusion_ball_analyze

PImage img  =loadImage("ball.png");

size(640,569);//剛好是圖檔大小

background(img);

fill(0);

for(float y=21;y<569;y+=13.748){

  for(float x=2;x<640;x+=30){

    ellipse(x,y,12,12);

  }

}

for(float y=21;y<569;y+=13.748){

  for(float x=2+15;x<640;x+=30){

    ellipse(x,y,12,12);

  }

}

//ellipse(31,25,11,11);

//ellipse(31,35,11,11);


//week11_2_optical_illusion_draw

size(600,600);

noStroke();

fill(236,152,52);//色彩1

rect(0,0,300,300);


fill(122,202,249);//色彩2

rect(300,0,300,300);


fill(129,241,128);//色彩3

rect(0,300,300,300);


fill(230,95,115);//色彩4

rect(300,300,300,300);


fill(122,202,249);//色彩2

for(float y=0;y<300;y+=15){

  for(float x= 0;x<300;x+=30){

    ellipse(x,y,11,11);

    ellipse(x+15,y+7,11,11);

  }

}


fill(236,152,52);//色彩1

for(float y=0;y<300;y+=15){

  for(float x= 0;x<300;x+=30){

    ellipse(300+x,y,11,11);

    ellipse(300+x+15,y+7,11,11);

  }

}

3.第三節上課程式碼
//week11_3_optical_illusion_draw_better
size(600,600);
noStroke();
fill(236,152,52);//色彩1
rect(0,0,300,300);

fill(122,202,249);//色彩2
rect(300,0,300,300);

fill(129,241,128);//色彩3
rect(0,300,300,300);

rect(300,300,300,300);
fill(230,95,115);//色彩4

fill(191,156,205);
ellipse(150,150,150,150);
ellipse(450,150,150,150);
ellipse(150,450,150,150);
ellipse(450,450,150,150);

for(float y=0;y<600;y+=15){
  for(float x= 0;x<600;x+=30){
    if(6+x<300 && 6+y<300)fill(122,202,249);//色彩2
    if(6+x>300 && 6+y<300)fill(236,152,52);//色彩1
    if(6+x<300 && 6+y>300)fill(230,95,115);//色彩4
    if(6+x>300 && 6+y>300)fill(129,241,128);//色彩3
    ellipse(6+x,y,11,11);
    ellipse(6+x+15,y+7,11,11);
  }
}
減少使用for迴圈來生成小圓點


3.第三節上課程式碼
//week11_4_ArrayList_for_loop
ArrayList<Integer> a = new ArrayList<Integer>();
a.add(3);
a.add(5);
a.add(7);
for(Integer i : a ){//進階的for迴圈
  println(i);
}
for(int i =0 ; i<a.size(); i++){//比較傳統的for迴圈
  println(a.get(i));//你要用.get(i) 取出你要的那格
}

//week11_05_ArrayList_class_Card_draw
class Card{//物件裡有方法可以畫圖
int x,y;
  void draw(){
    rect(x,y,100,150);
  }
}
Card card1 = new Card();
void setup(){
  size(500,400);
  card1.x = 100;
  card1.y = 100;
}
void draw(){
  card1.draw();//程式碼比較有條理
}


//week11_6_class_Card_Card_x_y_draw
class Card {//發明一種類別class叫大寫的卡片
  int x,y;
  Card(int _x, int _y){//建構函式
    x = _x; y = _y;
  }
  void draw(){
    rect(x,y,100,150);
  }
}//下面:照著卡片類別,發明一個物件card1
Card card1 = new Card(100,100);//座標到100,100
void setup(){
  size(500,400);
}
void draw(){
  card1.draw();
}
4.上傳github



沒有留言:

張貼留言