2020年11月16日 星期一

week06 鄭皓文

      今天的課程第一步是教我們如何用Processing寫出字母,其實不難

textSize(40);

text("Hello World",30,30);

這兩行比較重要,一行用來調整字體大小一行用來確定要印出的內容,可是這樣不能完全顯示,改正後:

新增了textAlign(LEFT,TOP);

       X可填入LEFT, CENTERRIGHT,Y可填入TOP, CENTER BOTTOM這樣就會有不同的顯示效果。但是要注意似乎位置是反著來的。

       餐前甜點過後就是主菜,今天要料理的是矩陣,這個觀念從大一就有了,要把它引入圖學:

這樣就可以畫出簡易的西洋棋盤

程式碼如下:

int[][]A=

{

{1,0,1,0},

{0,1,0,1},

{1,0,1,0},

{0,1,0,1}

};

size(400,400);

for(int i=0;i<4;i++)

{

  for(int j=0;j<4;j++)

  {

    if(A[i][j]==0)fill(0);

    else fill(255,255,255);

    rect(j*100,i*100,100,100);

  }

}


下面我們將普通的棋盤色塊替換為圖像:

這樣就可以讓🌽和川普同志一起出現了  

    單獨的顯示功能不夠,我們可以讓他們互相翻牌,看看誰先把誰變沒:

程式碼如下,主要是增加了以下內容改變了陣列:

void mousePressed()

{

  int i=int(mouseY/100);

  int j=int(mouseX/100);

  A[i][j]=0;

}

 

最終程式碼為:

int[][]A=

{

{1,1,1,0},

{1,1,0,2},

{1,0,2,2},

{0,2,2,2}

};

PImage trump,corn;

 

void mousePressed()

{

  int i=int(mouseY/100);

  int j=int(mouseX/100);

  A[i][j]=0;

}

 

void setup()

{

  size(400,400);

  trump=loadImage("trump.jpg");

  corn=loadImage("corn.png");

}

void draw()

{

  background(0);

  for(int i=0;i<4;i++)

  {

    for(int j=0;j<4;j++)

    {

      if(A[i][j]==1)image(trump,j*100,i*100,100,100);

      if(A[i][j]==2)image(corn,j*100,i*100,100,100);

    }

   }

}








沒有留言:

張貼留言