2021年10月25日 星期一

week04

 void setup(){

  size(500,500);

}

void draw(){

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

}

畫棋盤線

但是9行麻煩,用FOR好了

void setup(){

  size(500,500);

}

void draw(){

  for(int i=1;i<=9;i++){

    line(50*i,50,50*i,450);//規律

  }

}

畫出來是一樣的


再來要畫橫線

void setup(){

  size(500,500);

}

void draw(){

  for(int i=1;i<=9;i++){

    line(50*i,50,50*i,450);

    line(50,50*i,450,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);

    }

  }

}


橫行(x)J,直行(y)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;

  }



但會偏移,要修正成-25

加上黑白分別的棋子,左鍵白右鍵黑中鍵去棋子

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

}

float w=30,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)g=0;

  b+=random(3); if(b>255)b=0;

  ellipse(mouseX,mouseY,w,w);

  w+=0.5;

  if(w>100)w=30;

}

隨機畫圓

把今天寫的專案上傳GITHUB


沒有留言:

張貼留言