顯示具有 08160732_陳品宏 標籤的文章。 顯示所有文章
顯示具有 08160732_陳品宏 標籤的文章。 顯示所有文章

2021年11月15日 星期一

week08 字形

 今天來教有關字形的程式碼!!


size(600,600);  視窗大小

fill(255,0,0);    文字顏色

textSize(40);    字形大小

text("Hello",50,50);    顯示的字加上座標











void setup() 改成函式寫法

{

size(600,600);

fill(255,0,0);

textSize(40);

}

void draw()

{

  text("Hello",50,100);

}



void setup()

{

size(600,600);

fill(255,0,0); 文字顏色

textSize(40);

}

void draw()

{

  background(255); 背景顏色

  text("Time:"+frameCount,50,100); 加上一個一直遞增的數字

}









millis是比較準的時間光用time會因為程式的讀取而慢了一點點,下圖是time跟millis的時間比較

void setup()

{

size(600,600);

fill(255,0,0);

textSize(80);

}

void draw()

{

  background(255);

  text("Time:"+frameCount/60,50,100); 慢了一點

  text("millis():"+millis()/1000,50,200);比較準確

}













void setup()

{

  size(600,600);

  fill(255,0,0);

  textSize(80);

}

void draw()

{

  background(255);

  text(hour()+":"+minute()+":"+second(), 50,100);  讀入現在時間

  text("millis():"+millis()/1000,50,200); 準確秒數

}











PFont myFont;  可以顯示中文啦!!

void setup()

{

  size(500,500);

  myFont=createFont("標楷體",100);

  textFont(myFont);

  text("中文",100,100);

}












PFont font1,font2;     改掉字體跟背景!!!

void setup()

{

  size(500,500);

  font1=createFont("標楷體",100);

  textFont(font1);

  font2=createFont("微軟正黑體 Bold",100);

}

void draw()

{

  background(0);

  text("中文",100,100);

  if(mousePressed) textFont(font2);

  else textFont(font1);

}












顯示現在的時間!!!

void setup()

{

  size(600,600);

  fill(255,0,0);

  textSize(80);

}

void draw()

{

  background(255);

  String hh=nf(hour(),2);

  String mm=nf(minute(),2);

  String ss=nf(second(),2);

  text(hh+":"+mm+":"+ss, 50,100); 

}











void setup(){

  size(600,600);

  fill(235,0,0);

  textSize(80);

}

void draw()

{

  background(#1A6FFF);//白

  String hh=nf(hour(),2);

  String mm=nf(minute(),2);

  String ss=nf(second(),2);

  text("現在:"+hh+":"+mm+":"+ss,50,100);

  text("下課:16:40:00",50,200);

  

  int now=hour()*60*60+minute()*60+second();

  int next=15*60*60+40*60+0;

  int remain=next-now;

  text("剩下:"+remain,50,300);

  hh=nf(remain/60/60%60,2);

  mm=nf(remain/60%60,2);

  ss=nf(remain%60,2);

  text("剩下:"+hh+":"+mm+":"+ss,50,400);

}






























7



























2021年10月25日 星期一

week06

畫五子棋啦!!!

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

  }

}















直線的迴圈加上橫線的迴圈棋盤就完成啦!!
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);

  }
}












加那一大段程式碼看起來雖然沒啥但要放棋子的話就一定要用到他歐!

void setup(){

  size(500,500);

}

///int [][]go=new int[9][9];

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

    }

  }

}

看下方的圖就知道陣列對應的是棋盤上的位置,只要是1就會出現白旗

void setup(){

  size(500,500);

}

///int [][]go=new int[9][9];

int [][]go={

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

  {0,0,0,0,0,0,0,0,0},

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

  {1,0,0,0,0,0,0,0,0},

  {1,0,0,0,0,0,0,0,0}};

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

      }

    }

  }

}













只能利用陣列變1加白旗也太憋屈了八,所以要加上用滑鼠點擊就可以下棋的程式碼!!

void setup(){


  size(500,500);


}


///int [][]go=new int[9][9];


int [][]go={

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

 {0,0,0,0,0,0,0,0,0},

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

  {1,0,0,0,0,0,0,0,0},

  {1,0,0,0,0,0,0,0,0}};

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;    -50點棋盤會不準確可以改成-25會比較準確歐!!!

    int i=(mouseY-50)/50;    可以改成-25會比較準確歐!!!

    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)

      {

        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;

}















































1237

2021年10月4日 星期一

week 04 小畫家

 void setup(){

  size(500,500);

}

void draw(){

  if(mousePressed)background(255,0,0);

  else background(0,255,0);

}

不壓是綠色,壓下去變紅色











void setup(){

  size(500,500);

}

void draw(){   ///畫畫

  if(mousePressed)line(mouseX,mouseY,0,0);   ///按滑鼠出現線條(00從左上角開始)

  ///else background(0,255,0);

}












void setup(){

  size(500,500);

}

void draw(){

  if(mousePressed)line(mouseX,mouseY,pmouseX,pmouseY);

}

這次變真的小畫家了可以按住跟著滑鼠畫























void setup(){
  size(500,500);
  fill(255,0,0);rect(0,0,100,100);///紅色
  fill(0,255,0);rect(0,100,100,100);///綠色
}
void draw(){
  if(mousePressed){
     if(mouseX<100){
       if(mouseY<100) stroke(255,0,0);///紅色
       else if(mouseY<200) stroke(0,255,0);///綠色
     }else line(mouseX,mouseY,pmouseX,pmouseY);
  }
}
可以換顏色畫畫拉 典籍左邊的色塊就可以換顏色









void setup(){

  size(500,500);

  rect(0,0,100,100);ellipse(50,50,8,8);///8的圓

  rect(0,100,100,100);ellipse(50,150,4,4);///4的圓

}

void draw(){

  if(mousePressed){

     if(mouseX<100){

       if(mouseY<100) strokeWeight(8);///粗

       else if(mouseY<200) strokeWeight(4);///中

     }else line(mouseX,mouseY,pmouseX,pmouseY);

  }

}

上次是點色塊選顏色,這次是選擇筆畫的粗細












void setup(){

  size(500,500);

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

  rect(0,i*50,50,50);

  ellipse(25,25+i*50,i,i);

  } ///用for迴圈慢慢增大圓的大小

}

void draw(){

  if(mousePressed){

     if(mouseX<100){

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

         if(mouseY>i*50 && mouseY<i*50+50){

           strokeWeight(i);

         }

       }

     }else line(mouseX,mouseY,pmouseX,pmouseY);

  }

}












void setup(){

  size(500,500);

  rect(0,50,50,50);ellipse(25,25+50,1,1);

  rect(0,100,50,50);ellipse(25,25+100,2,2);

  rect(0,150,50,50);ellipse(25,25+150,3,3);

  rect(0,200,50,50);ellipse(25,25+200,4,4);

  rect(0,250,50,50);ellipse(25,25+250,5,5);

  rect(0,300,50,50);ellipse(25,25+300,6,6);

  rect(0,350,50,50);ellipse(25,25+350,7,7);

  rect(0,400,50,50);ellipse(25,25+400,8,8);

}

void draw(){

  if(mousePressed){

    if(mouseX<50){

      if(mouseY>1*50 && mouseY<1*50+50)strokeWeight(1);

      if(mouseY>2*50 && mouseY<2*50+50)strokeWeight(2);

      if(mouseY>3*50 && mouseY<3*50+50)strokeWeight(3);

      if(mouseY>4*50 && mouseY<4*50+50)strokeWeight(4);

      if(mouseY>5*50 && mouseY<5*50+50)strokeWeight(5);

      if(mouseY>6*50 && mouseY<6*50+50)strokeWeight(6);

      if(mouseY>7*50 && mouseY<7*50+50)strokeWeight(7);

      if(mouseY>8*50 && mouseY<8*50+50)strokeWeight(8);

    }else line(mouseX,mouseY,pmouseX,pmouseY);

  }

}

土法煉鋼式的粗細選擇












void setup(){

  size(500,500);

  fill(#FF0000);rect(0,50,50,50);

  fill(#FF8000);rect(0,100,50,50);

  fill(#EDFF00);rect(0,150,50,50);

  fill(#10FF00);rect(0,200,50,50);

  fill(#0057FF);rect(0,250,50,50);

  fill(#0092FF);rect(0,300,50,50);

  fill(#8B00FF);rect(0,350,50,50);

  fill(#FF00D5);rect(0,400,50,50);

}

void draw(){

  if(mousePressed){

    if(mouseX<50){

      if(mouseY>1*50 && mouseY<1*50+50)stroke(#FF0000);

      if(mouseY>2*50 && mouseY<2*50+50)stroke(#FF8000);

      if(mouseY>3*50 && mouseY<3*50+50)stroke(#EDFF00);

      if(mouseY>4*50 && mouseY<4*50+50)stroke(#10FF00);

      if(mouseY>5*50 && mouseY<5*50+50)stroke(#0057FF);

      if(mouseY>6*50 && mouseY<6*50+50)stroke(#0092FF);

      if(mouseY>7*50 && mouseY<7*50+50)stroke(#8B00FF);

      if(mouseY>8*50 && mouseY<8*50+50)stroke(#FF00D5);

    }else line(mouseX,mouseY,pmouseX,pmouseY);

  }

} 

土法煉鋼式的顏色選擇













void setup(){

  size(500,500);

  rect(0,50,50,50);ellipse(25,25+50,1,1);

  rect(0,100,50,50);ellipse(25,25+100,2,2);

  rect(0,150,50,50);ellipse(25,25+150,3,3);

  rect(0,200,50,50);ellipse(25,25+200,4,4);

  rect(0,250,50,50);ellipse(25,25+250,5,5);

  rect(0,300,50,50);ellipse(25,25+300,6,6);

  rect(0,350,50,50);ellipse(25,25+350,7,7);

  rect(0,400,50,50);ellipse(25,25+400,8,8);

  fill(#FF0000);rect(450,50,50,50);

  fill(#FF8000);rect(450,100,50,50);

  fill(#EDFF00);rect(450,150,50,50);

  fill(#10FF00);rect(450,200,50,50);

  fill(#0057FF);rect(450,250,50,50);

  fill(#0092FF);rect(450,300,50,50);

  fill(#8B00FF);rect(450,350,50,50);

  fill(#FF00D5);rect(450,400,50,50);

}

void draw(){

  if(mousePressed){

    if(mouseX<50){

      if(mouseY>1*50 && mouseY<1*50+50)strokeWeight(1);

      if(mouseY>2*50 && mouseY<2*50+50)strokeWeight(2);

      if(mouseY>3*50 && mouseY<3*50+50)strokeWeight(3);

      if(mouseY>4*50 && mouseY<4*50+50)strokeWeight(4);

      if(mouseY>5*50 && mouseY<5*50+50)strokeWeight(5);

      if(mouseY>6*50 && mouseY<6*50+50)strokeWeight(6);

      if(mouseY>7*50 && mouseY<7*50+50)strokeWeight(7);

      if(mouseY>8*50 && mouseY<8*50+50)strokeWeight(8);

    }else if(mouseX>450){

      if(mouseY>1*50 && mouseY<1*50+50)stroke(#FF0000);

      if(mouseY>2*50 && mouseY<2*50+50)stroke(#FF8000);

      if(mouseY>3*50 && mouseY<3*50+50)stroke(#EDFF00);

      if(mouseY>4*50 && mouseY<4*50+50)stroke(#10FF00);

      if(mouseY>5*50 && mouseY<5*50+50)stroke(#0057FF);

      if(mouseY>6*50 && mouseY<6*50+50)stroke(#0092FF);

      if(mouseY>7*50 && mouseY<7*50+50)stroke(#8B00FF);

      if(mouseY>8*50 && mouseY<8*50+50)stroke(#FF00D5);

    }else line(mouseX,mouseY,pmouseX,pmouseY);

  }

}

把顏色跟粗細整合












2021年9月27日 星期一

week03

 size(600,600);  視窗大小

background(128);  背景顏色


fill(255); 方框臉顏色

noStroke();//臉 (無邊框線線)

rect(100,100,400,400); 方塊,大小


stroke(128);

strokeWeight(5);//雙眼,線條粗細

ellipse(200,300,30,30); 橢圓,大小

ellipse(400,300,30,30);


noStroke(); 嘴巴

fill(#CC6600);

ellipse(300,400,200,100);


stroke(255); 嘴巴中間的白色長條

line(200,400,400,400);












改成函式寫法


void setup(){

  size(600,600);

}

void draw(){

  background(128);

  fill(255);

  noStroke();//臉

  rect(100,100,400,400);

  stroke(128);

  strokeWeight(5);//雙眼

  ellipse(mouseX,mouseY,30,30); 新增滑鼠依附

  ellipse(400,300,30,30);

  noStroke();

  fill(#CC6600);//嘴巴

  ellipse(300,400,200,100);

  stroke(255);//嘴巴的直線

  line(200,400,400,400);

}//重點1:畫圖函式,每秒60次 1小時=60分,1秒=60畫面frame

眼睛會依附在滑鼠上面











































1