2022年9月12日 星期一

辰 互動概論_week02 卡片

今天在家裡上課 下大雨
畫卡片所用的RECT 最後一項參數是圓角大小

成果如上!


void setup(){
  size(500,500);
}
int W=18;
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(#FF00F2);
  rect(x,y, 150, 250, 20); 
}
將畫卡片轉為呼叫函式的形式~

繪製撲克牌牌面~
void setup(){
  size(500,500);
}
int W=25;
void draw(){
  drawPokerCard(100,100, "S4");
  drawPokerCard(130,150, "H3");
  drawPokerCard(160,200, "D5");
  drawPokerCard(190,250, "CJ");
}
void drawPokerCard(int x, int y, String face){
  fill(255);
  rect(x-W/2,y-W/2, 150+W, 250+W, 20);
  fill(#FF00F2);
  rect(x,y, 150, 250, 20); 
  fill(0);
  textSize(40);
  text( face, x, y+40 );
}

卡牌字面中文化~

原先顯示錯誤後debug更改為標楷體就能顯示中文了!

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");
}
void drawPokerCard(int x, int y, String face){
  fill(255);
  rect(x-W/2,y-W/2, 150+W, 250+W, 20);
  fill(#6FF9FF);
  rect(x,y, 150, 250, 20); 
  if( face.indexOf("黑桃") == -1 && face.indexOf("梅花") == -1) fill(#FF0000);
  else fill(0);
  textSize(40);
  text( face, x, y+40 );
}
------------------------------------------
face.indexOf("黑桃") == -1
-1指的是沒有找到即為-1
洗牌使用的是random指令
花色以字串的方式

滑鼠點擊觸發洗牌!

沒有留言:

張貼留言