2021年10月25日 星期一

鴨力山大 week04


先畫出9條直線

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

}


用迴圈畫出線,可以畫出9條直線後,試著寫出橫的
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);
  }
  for(int i=0;i<9;i++){
    line(50,50+50*i,450,50+50*i);
  }
}

老師的迴圈寫法

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 go[][]:C語言

//int [][]go =new int [][];Java/Processing

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

  }

}





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

    }

  }

}

J是x方向,I是y方向


開始可以把旗子放上去



//陣列、for迴圈:五子棋(棋盤)

//int go[][]:C語言

//int [][]go =new int [][];Java/Processing

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},

  {1,1,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);

      }

    }

  }

}

點十字會出現白棋,會有點不精準是因為他的判斷會無條件捨去,可以把-50改-25會比較精準



//陣列、for迴圈:五子棋(棋盤)
//int go[][]:C語言
//int [][]go =new int [][];Java/Processing
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},
  {1,1,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-50)/50;
  int i=(mouseY-50)/50;
  go[i][j]=1;
}
這是精準的版本


//陣列、for迴圈:五子棋(棋盤)
//int go[][]:C語言
//int [][]go =new int [][];Java/Processing
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},
  {1,1,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;
}

最後做出可以點出白棋跟黑棋的棋盤遊戲

//陣列、for迴圈:五子棋(棋盤)
//int go[][]:C語言
//int [][]go =new int [][];Java/Processing
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){
        int x=50+50*j,y=50+50*i;
        fill(255);ellipse(x,y,40,40);
      }else if(go[i][j]==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;
  if(mouseButton==RIGHT) go[i][j]=2;
  if(mouseButton==CENTER) go[i][j]=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++){
    float x=250+250*cos(radians(a));
    float y=250+250*sin(radians(a));
    ellipse(x,y,mouseY,mouseX);
  }
}

畫出不同顏色的圓

void setup(){
  size(500,500);
}
void draw(){
  background(255);
  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);
  }
}



沒有留言:

張貼留言