2021年10月25日 星期一

(☞゚ヮ゚)☞ Week04

 

✨Week04✨

🐧製作棋盤

繪製直線

💻程式碼

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



用for迴圈繪製直線

💻程式碼

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迴圈繪製網格


💻程式碼

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 [][]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},
};
//int go[9][9]; C語言
//int [][]go=new int[9][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);
    line(50,50+50*i,450,50+50*i);
  }

}

雙重陣列與迴圈

💻程式碼

int [][]c=
{
  {1,0,0},
  {0,0,0},
  {0,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=
{
  {0,0,0,0,0,0,0,0,0},
  {0,0,0,0,0,0,0,0,0},
  {0,0,0,0,0,0,0,0,0},
  {0,0,0,0,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,0,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*i+50; //棋子座標 
        fill(255); ellipse(x,y,40,40); //繪製棋子
      }
    }
  }
}

滑鼠點擊放棋子(位置有落差)

⁕棋子會出現在點擊位子左上 而不是最靠近的位置


💻程式碼

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},
};
//int go[9][9]; C語言
//int [][]go=new int[9][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);
    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*i+50;
        fill(255); ellipse(x,y,40,40);
      }
    }
  }
}
void mousePressed() //無條件捨去 5.99→5
{
  int j=(mouseX-50)/50;
  int i=(mouseY-50)/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},
};
//int go[9][9]; C語言
//int [][]go=new int[9][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);
    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*i+50;
        fill(255); ellipse(x,y,40,40);
      }
    }
  }
}
void mousePressed() //點擊 5.99→出現 第6格
{                                //點擊 5.01→出現 第5格
  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},
};
//int go[9][9]; C語言
//int [][]go=new int[9][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);
    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*i+50;
        fill(255); ellipse(x,y,40,40);
      }
      else if(go[i][j]==2) //黑棋的顏色
      {
        int x=50+50*j, y=50*i+50;
        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));//250圓中心
    float y=250+250*sin(radians(a)); //radians弧度
    ellipse(x,y,4,4);//圓形
  }
}

Processing畫作

💻程式碼

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,mouseY);
  }
}

隨機變色

💻程式碼

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,mouseY);
  }
}

💻程式碼

void setup()
{
  size(500,500);
}
float w=30;
float r=0,g=0,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;
}


沒有留言:

張貼留言