2021年10月25日 星期一

week04

 一.製作棋盤的格線

1.程式碼 方法一:

void setup(){
  size(500,500); 
}
void draw(){
  background(253,236,180);
  line(50,50,50,450);
  line(100,50,100,450);
  line(150,50,150,450);
  line(200,50,200,450);
  line(250,50,250,450);
  line(300,50,300,450);
  line(350,50,350,450);
  line(400,50,400,450);
  line(450,50,450,450);

}



程式碼 方法二:

void setup(){
  size(500,500); 
}
void draw(){
  background(253,236,180);
  for(int i=0;i<9;i++){
    line(50+50*i,50,50+50*i,450);
  }

}


2.程式碼 方法一:
void setup(){
  size(500,500); 
}
void draw(){
  background(253,236,180);
  line(50,50,50,450);
  line(100,50,100,450);
  line(150,50,150,450);
  line(200,50,200,450);
  line(250,50,250,450);
  line(300,50,300,450);
  line(350,50,350,450);
  line(400,50,400,450);
  line(450,50,450,450);
  
  line(50,50,450,50);
  line(50,100,450,100);
  line(50,150,450,150);
  line(50,200,450,200);
  line(50,250,450,250);
  line(50,300,450,300);
  line(50,350,450,350);
  line(50,400,450,400);
  line(50,450,450,450);
}



程式碼 方法二:
void setup(){
  size(500,500); 
}
void draw(){
  background(253,236,180);
  for(int i=0;i<9;i++){
    line(50+50*i,50,50+50*i,450);
    line(50,50+50*i,450,50+50*i);
  }
}




二.
程式碼:
int [][]c={
  {1,0,0},
  {1,0,0},
  {1,0,0} };
void setup(){
  size(300,300);
}
void draw(){
   for(int i=0;i<3;i++){
     for(int j=0;j<3;j++){
        if(c[i][j]==0)fill(128);
        else fill(255,0,0);
        rect(j*100, i*100, 100, 100);
     }
   }
}

程式碼:
int [][]go={///設置與棋盤位置對應的陣列
  {1,0,0,0,0,0,0,0,0},
  {1,0,0,0,0,0,0,0,0},
  {1,0,0,0,0,0,0,0,0},
  {1,0,0,0,0,0,0,0,0},
  {1,0,0,0,0,0,0,0,0},
  {1,0,0,0,0,0,0,0,0},
  {1,0,0,0,0,0,0,0,0},
  {1,0,0,0,0,0,0,0,0},
  {1,0,0,0,0,0,0,0,0},
};
void setup(){
  size(500,500); 
}
void draw(){
  background(253,236,180);
  for(int i=0;i<9;i++){
    line(50+50*i,50,50+50*i,450);
    line(50,50+50*i,450,50+50*i);
  }
  for(int i=0;i<9;i++){
     for(int j=0;j<9;j++){
        if(go[i][j]==1){///如果陣列上的數字為1,則畫出一個圓形
           int x=50+50*j,y=50+50*i;
           fill(255);ellipse(x,y,40,40);
        }
     }
   }
}


程式碼:
int [][]go={
  {1,0,0,0,0,0,0,0,0},
  {1,0,0,0,0,0,0,0,0},
  {1,0,0,0,0,0,0,0,0},
  {1,0,0,0,0,0,0,0,0},
  {1,0,0,0,0,0,0,0,0},
  {1,0,0,0,0,0,0,0,0},
  {1,0,0,0,0,0,0,0,0},
  {1,0,0,0,0,0,0,0,0},
  {1,0,0,0,0,0,0,0,0},
};
void setup(){
  size(500,500); 
}
void draw(){
  background(253,236,180);
  for(int i=0;i<9;i++){
    line(50+50*i,50,50+50*i,450);
    line(50,50+50*i,450,50+50*i);
  }
  for(int i=0;i<9;i++){
     for(int j=0;j<9;j++){
        if(go[i][j]==1){
           int x=50+50*j,y=50+50*i;
           fill(255);ellipse(x,y,40,40);
        }
     }
   }
}
void mousePressed(){///滑鼠點擊的位置,陣列裡的值變為1,就有棋子產生
   int j=(mouseX-50)/50;
   int i=(mouseY-50)/50;
   go[i][j]=1;
}



程式碼:
int [][]go={
  {1,0,0,0,0,0,0,0,0},
  {1,0,0,0,0,0,0,0,0},
  {1,0,0,0,0,0,0,0,0},
  {1,0,0,0,0,0,0,0,0},
  {1,0,0,0,0,0,0,0,0},
  {1,0,0,0,0,0,0,0,0},
  {1,0,0,0,0,0,0,0,0},
  {1,0,0,0,0,0,0,0,0},
  {1,0,0,0,0,0,0,0,0},
};
void setup(){
  size(500,500); 
}
void draw(){
  background(253,236,180);
  for(int i=0;i<9;i++){
    line(50+50*i,50,50+50*i,450);
    line(50,50+50*i,450,50+50*i);
  }
  for(int i=0;i<9;i++){
     for(int j=0;j<9;j++){
        if(go[i][j]==1){
           int x=50+50*j,y=50+50*i;
           fill(255);ellipse(x,y,40,40);
        }
     }
   }
}
void mousePressed(){
   int j=(mouseX-25)/50;///偵測更準確
   int i=(mouseY-25)/50;
   go[i][j]=1;
}


三、
程式碼:
int [][]go={
  {0,0,0,0,0,0,0,0,0},
  {0,0,0,0,0,0,0,0,0},
  {0,0,0,0,0,0,0,0,0},
  {0,0,0,0,0,0,0,0,0},
  {0,0,0,0,0,0,0,0,0},
  {0,0,0,0,0,0,0,0,0},
  {0,0,0,0,0,0,0,0,0},
  {0,0,0,0,0,0,0,0,0},
  {0,0,0,0,0,0,0,0,0},
};
void setup(){
  size(500,500); 
}
void draw(){
  background(253,236,180);
  for(int i=0;i<9;i++){
    line(50+50*i,50,50+50*i,450);
    line(50,50+50*i,450,50+50*i);
  }
  for(int i=0;i<9;i++){
     for(int j=0;j<9;j++){
        if(go[i][j]==1){///陣列值為1,印出白棋
           int x=50+50*j,y=50+50*i;
           fill(255);ellipse(x,y,40,40);
        }else if(go[i][j]==2){///陣列值為2,印出黑棋
           int x=50+50*j,y=50+50*i;
           fill(0);ellipse(x,y,40,40);
        }
     }
   }
}
void mousePressed(){
   int j=(mouseX-25)/50;
   int i=(mouseY-25)/50;
   if(mouseButton==LEFT)go[i][j]=1;///按滑鼠左鍵,陣列值為1
   if(mouseButton==RIGHT)go[i][j]=2;///按滑鼠右鍵,陣列值為2
   if(mouseButton==CENTER)go[i][j]=0;///按滑鼠中鍵,陣列值為0,棋子會消失
}



程式碼:
void setup(){
   size(500,500); 
}
void draw(){
   for(float a=0;a<360;a++){
      float x =250+250*cos(radians(a));
      float y =250+250*sin(radians(a));
      ellipse(x,y,4,4);
   }
}


四.
程式碼:
void setup(){
   size(500,500); 
}
void draw(){
  background(128);
   for(float a=0;a<360;a+=1){
      float x =250+mouseX*cos(radians(a));
      float y =250+mouseY*sin(radians(a));
      ellipse(x,y,mouseY,mouseX);
   }
}


程式碼:
void setup(){
   size(500,500); 
}
void draw(){
  background(128);
  noFill();
   for(float a=0;a<360;a+=1){
      float x =250+mouseX*cos(radians(a));
      float y =250+mouseY*sin(radians(a));
      ellipse(x,y,mouseY,mouseX);
   }
}


程式碼:
void setup(){
   size(500,500); 
}
void draw(){
  background(128);
  noFill();
  stroke(mouseX,mouseY,255);///改變顏色
   for(float a=0;a<360;a+=1){
      float x =250+mouseX*cos(radians(a));
      float y =250+mouseY*sin(radians(a));
      ellipse(x,y,mouseY,mouseX);
   }
}

程式碼:
void setup(){
   size(500,500); 
}
float w=30;
float r=0,g=255,b=0;
void draw(){
  stroke(r,g,b);
  noFill();
  r+=random(3);if(r>255)r=0;
  g+=random(3);if(g>255)r=0;
  b+=random(3);if(b>255)r=0;
  ellipse(mouseX,mouseY,w,w);
  w+=0.5;
  if(w>100)w=30;
}


























沒有留言:

張貼留言