2024年11月18日 星期一

SY-BlingBangBang week11 色差圖 & 撲克牌

[TODO]

上課內容:

色差圖

// week11_1_optical_illusion_ball_
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(32, y, 11, 11);
  //ellipse(32+30, y, 11, 11);
//ellipse(32, 21, 11, 11);
//ellipse(32, 35, 11, 11);


色差圖
// week11_2_optical_illusion_draw
size(600, 600);
noStroke();
fill(236,152,52);
rect(0,0,300,300);

fill(122,202,249);
rect(300,0,300,300);

fill(129,241,128);
rect(0,300,300,300);

fill(230,95,115);
rect(300,300,300,300);

fill(122,202,249);
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);
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);
  }
}


色差圖
// 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);

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

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

fill(122,202,249);//色彩2
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);
  }
}


撲克牌(ArrayList)
// 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) 取出你要的那格
}

撲克牌(畫圖Card)
// week11_5_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);
  }
}//下面:照著卡片類別,發明1個物件 card1
Card card1 = new Card(100,100); //座標在100,100
void setup(){
  size(500, 400);
}
void draw(){
  card1.draw(); 
}




沒有留言:

張貼留言