2022年9月12日 星期一

xyt week02

week02 畫卡片

  1. 畫一張卡片

```java
//畫卡片
size(500, 500);
int W=25;
rect(100-W/2, 100-W/2, 150+W, 250+W, 20);
fill(#FF00F2);
rect(100, 100, 150, 250, 20);
```

    2. 畫多張卡片

```java
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(#FF00F2);
  rect(x, y, 150, 250, 20);
}
```

    3. 將卡片加上牌面編號

```java
void setup(){
  size(500, 500);
}
int W=25;
void draw(){
  drawPokerCard(100, 100, "S4");
  drawPokerCard(130, 130, "H3");
  drawPokerCard(160, 160, "D5");
  drawPokerCard(190, 250, "CJ");
}///牌面:Spade, Heart, Dimand, Club
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);
}
```

    4. 將卡片牌面編號改成中文

```java
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, Dimand, Club
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);
}
```

 


    5. 將紅心和方塊的字改成紅色

```java
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, Dimand, Club
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);
  //fill(0);
  if( face.indexOf("黑桃") == -1 && face.indexOf("梅花") == -1 ) fill(#FF0000);
  else fill(0);
  textSize(40);
  text( face, x, y+40);
}
```

    6. 將數字做成隨機

```java
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, Dimand, 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(#6FF9FF);
  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);
}

```

 

沒有留言:

張貼留言