2022年9月12日 星期一

Week2_栗子的程式日記_我想放颱風假

 Week02

今天下大雨,遠距開心:)))))

1.1運用上禮拜所學的,畫出一個卡片

程式碼:

//畫卡片

size(500,500);

rect(90,90, 170,270, 20);

fill(#FF2121);

rect(100,100,150,250,20); //弧度

1.2進階一點,運用函式畫很多卡片

程式碼:

void setup(){
 size(500,500); 
}
int W=25;
void draw(){
 drawCard(100,100);
 drawCard(130,130);
 drawCard(160,160);
}
void drawCard(int x, int y){
 fill(255);
 rect(x-W/2,y-W/2,150+W,250+W, 20);
 fill(#FF2121);
 rect(x,y,150,250,20);
}


2.1畫出撲克牌!! 

程式碼:
void setup(){
 size(500,500); 
}
int W=25;
void draw(){
 drawPokerCard(100,100,"S4"); ///使用函式
 drawPokerCard(130,150,"H3");
 drawPokerCard(160,200,"A5");
 drawPokerCard(190,250,"CJ");
}///牌面:黑桃Spade Heart,Dimaind,Club
void drawPokerCard(int x, int y,String face){
 fill(255);
 rect(x-W/2,y-W/2,150+W,250+W, 20);
 fill(#FF2121);
 rect(x,y,150,250,20); //弧度
 fill(0);
 textSize(40);
 text(face,x,y+40);
}

2.2為了讓牌面清楚一點,加上了中文字體 PFont 功能

程式碼:
void setup(){
 size(500,500); 
 PFont font = createFont("標楷體",40);
 textFont(font);
}
int W=25;
void draw(){
 drawPokerCard(100,100,"黑桃4"); ///使用函式
 drawPokerCard(130,150,"紅心3");
 drawPokerCard(160,200,"方塊5");
 drawPokerCard(190,250,"梅花J");
}///牌面:黑桃Spade Heart,Dimaind,Club
void drawPokerCard(int x, int y,String face){
 fill(255);
 rect(x-W/2,y-W/2,150+W,250+W, 20);
 fill(#FF2121);
 rect(x,y,150,250,20); //弧度
 fill(0);
 textSize(40);
 text(face,x,y+40);
}

2.3更改顏色,除了梅花跟黑桃以外填充紅色的字

程式碼:
void setup(){
 size(500,500); 
 PFont font = createFont("標楷體",40);
 textFont(font);
}
int W=25;
void draw(){
 drawPokerCard(100,100,"黑桃4"); ///使用函式
 drawPokerCard(130,150,"紅心3");
 drawPokerCard(160,200,"方塊5");
 drawPokerCard(190,250,"梅花J");
}///牌面:黑桃Spade Heart,Dimaind,Club
void drawPokerCard(int x, int y,String face){
 fill(255);
 rect(x-W/2,y-W/2,150+W,250+W, 20);
 fill(#D064FF);
 rect(x,y,150,250,20); //弧度
 //fill(0);
 if(face.indexOf("黑桃") == -1 && face.indexOf("梅花") == -1 )fill(#FF0000);
 else fill(0);
 textSize(40);
 text(face,x,y+40);
}

3.1 把全部牌都變成隨機的👄

程式碼:
void setup(){
 size(500,500); 
 PFont font = createFont("標楷體",40);
 textFont(font);
 String[]flower ={"黑桃","紅心","方塊","梅花"};///陣列
 face1 = flower[int(random(4))] + int(random(13)+1);
 face2 = flower[int(random(4))] + int(random(13)+1);
 face3 = flower[int(random(4))] + int(random(13)+1);
 face4 = flower[int(random(4))] + int(random(13)+1);
 //取整數0..12,所以再加1
}///洗牌的英文Shuffle
String face1,face2,face3,face4;

void draw(){
 drawPokerCard(100,100,face1); ///使用函式
 drawPokerCard(130,150,face2);
 drawPokerCard(160,200,face3);
 drawPokerCard(190,250,face4);
}///牌面:黑桃Spade Heart,Dimaind,Club
void drawPokerCard(int x, int y,String face){
  int W=25;
  fill(255);
  rect(x-W/2,y-W/2,150+W,250+W, 20);
  fill(#D064FF);
  rect(x,y,150,250,20); //弧度
  //fill(0);
  if(face.indexOf("黑桃") == -1 && face.indexOf("梅花") == -1 )fill(#FF0000);
  else fill(0);
  textSize(40);
  text(face,x,y+40);
}


沒有留言:

張貼留言