2023年10月5日 星期四

Hank week4

UNO

1 . 先列出卡牌的格子

void setup()
{
   size(800,800);
   
}
int [][] card = new int[8][11];
void draw()
{
   background(255);
   for(int i=0;i<8;i++)
   {
      for(int j=0; j<11;j++)
      {
         rect(j*32, i*50, 32, 50); 
      }
   }
}



2 . 新增顏色
void setup()
{
   size(400,400);
   
}
int [][] card = new int[8][11];
color [] C = {#FF5555, #FFAA00, #55AA55, #5555FF}; 
void draw()
{
   background(255);
   for(int i=0;i<8;i++)
   {
      for(int j=0; j<11;j++)
      { 
        fill(C[i%4]); 
        rect(j*32, i*50, 32, 50); 
      }
   }
}


3 . 新增圓框框及邊線
void setup()
{
   size(400,400);
   
}
int [][] card = new int[8][11];
color [] C = {#FF5555, #FFAA00, #55AA55, #5555FF}; 
void draw()
{
   background(255);
   for(int i=0;i<8;i++)
   {
      for(int j=0; j<11;j++)
      { 
        fill(C[i%4]); 
        drawCard(j*32, i*50, C[i%4]); //製作小框框
      }
   }
}
void drawCard(int x, int y, color c)
{
    stroke(128);//gray stroke
    fill(255);
    rect(x, y, 32, 50, 7);
    noStroke();
    fill(c);//white
    rect(x+3, y+3, 32-5, 50-5, 4);
}

4 . 新增橢圓形
void setup()
{
   size(400,400);
   
}
int [][] card = new int[8][11];
color [] C = {#FF5555, #FFAA00, #55AA55, #5555FF}; 
void draw()
{
   background(255);
   for(int i=0;i<8;i++)
   {
      for(int j=0; j<11;j++)
      { 
        fill(C[i%4]); 
        drawCard(j*32, i*50, C[i%4]); //製作小框框
      }
   }
}
void drawCard(int x, int y, color c)
{
    stroke(128);//gray stroke
    fill(255);
    rect(x, y, 32, 50, 7);
    noStroke();
    fill(c);//white
    rect(x+3, y+3, 32-5, 50-5, 4);
    
    pushMatrix();
    fill(255);
    translate(x+16, y+25);
    rotate(radians(45));
    ellipse(0, 0, 20, 30);
    popMatrix();
}



5 . 增加數字 先將數字變為一
void setup()
{
   size(400,400);
   
}
int [][] card = new int[8][11];
color [] C = {#FF5555, #FFAA00, #55AA55, #5555FF}; 
void draw()
{
   background(255);
   for(int i=0;i<8;i++)
   {
      for(int j=0; j<11;j++)
      { 
        fill(C[i%4]); 
        drawCard(j*32, i*50, C[i%4]); //製作小框框
      }
   }
}
void drawCard(int x, int y, color c)
{
    stroke(128);//gray stroke
    fill(255);
    rect(x, y, 32, 50, 7);
    noStroke();
    fill(c);//white
    rect(x+3, y+3, 32-5, 50-5, 4);
    
    pushMatrix();
    fill(255);
    translate(x+16, y+25);
    rotate(radians(45));
    ellipse(0, 0, 20, 30);
    popMatrix();
    
    textAlign(CENTER, CENTER);
    textSize(9);
    text("1", x+7, y+6);
    
    textSize(20);
    fill(c);
    text("1", x+16, y+22);
    
    
}



6 . 更改數字
void setup()
{
   size(400,400);
   
}
int [][] card = new int[8][11];
color [] C = {#FF5555, #FFAA00, #55AA55, #5555FF}; 
void draw()
{
   background(255);
   for(int i=0;i<8;i++)
   {
      for(int j=0; j<11;j++)
      { 
        fill(C[i%4]); 
        drawCard(j*32, i*50, C[i%4], j); //製作小框框
      }
   }
}
void drawCard(int x, int y, color c, int n)
{
    stroke(128);//gray stroke
    fill(255);
    rect(x, y, 32, 50, 7);
    noStroke();
    fill(c);//white
    rect(x+3, y+3, 32-5, 50-5, 4);
    
    pushMatrix();
    fill(255);
    translate(x+16, y+25);
    rotate(radians(45));
    ellipse(0, 0, 20, 30);
    popMatrix();
    
    textAlign(CENTER, CENTER);
    textSize(9);
    text(""+n, x+7, y+6);
    
    textSize(20);
    fill(c);
    text(""+n, x+16, y+22);
    
    
}


7 . 洗牌
void setup()
{
   size(400,400);
   myShuffle();
   
}
void myShuffle()
{
   for(int i=0; i<8; i++)
   {
      for(int j=0; j<11; j++)
      {
         cardN[i*11+j] = j;
         cardC[i*11+j] = C[i%4];
      }
   }
   int a = int(random(88)), b = int(random(88));
   int temp = cardN[a];
    cardN[a]= cardN[b];
    cardN[b]= temp;
    temp = cardC[a];
    cardC[a] = cardC[b];
    cardC[b] = temp;
}
//int [][] card = new int[8][11];
int [] cardN = new int[88];//card number
int [] cardC = new int[88];//card color
color [] C = {#FF5555, #FFAA00, #55AA55, #5555FF}; 
void draw()
{
   background(255);
   for(int i=0;i<8;i++)
   {
      for(int j=0; j<11;j++)
      { 
        fill(C[i%4]); 
        drawCard(j*32, i*50, cardC[i*11+j], cardN[i*11+j]); //製作小框框
      }
   }
}
void drawCard(int x, int y, color c, int n)
{
    stroke(128);//gray stroke
    fill(255);
    rect(x, y, 32, 50, 7);
    noStroke();
    fill(c);//white
    rect(x+3, y+3, 32-5, 50-5, 4);
    
    pushMatrix();
    fill(255);
    translate(x+16, y+25);
    rotate(radians(45));
    ellipse(0, 0, 20, 30);
    popMatrix();
    
    textAlign(CENTER, CENTER);
    textSize(9);
    text(""+n, x+7, y+6);
    
    textSize(20);
    fill(c);
    text(""+n, x+16, y+22);
    
    
}


8 . 大量洗牌
void setup()
{
   size(400,400);
   myShuffle();
   
}
void myShuffle()
{
   for(int i=0; i<8; i++)
   {
      for(int j=0; j<11; j++)
      {
         cardN[i*11+j] = j;
         cardC[i*11+j] = C[i%4];
      }
   }
   for(int i=0; i<10000; i++)
   {
       int a = int(random(88)), b = int(random(88));
       int temp = cardN[a];
       cardN[a]= cardN[b];
       cardN[b]= temp;
       temp = cardC[a];
       cardC[a] = cardC[b];
       cardC[b] = temp;  
   }
   
}
//int [][] card = new int[8][11];
int [] cardN = new int[88];//card number
int [] cardC = new int[88];//card color
color [] C = {#FF5555, #FFAA00, #55AA55, #5555FF}; 
void draw()
{
   background(255);
   for(int i=0;i<8;i++)
   {
      for(int j=0; j<11;j++)
      { 
        fill(C[i%4]); 
        drawCard(j*32, i*50, cardC[i*11+j], cardN[i*11+j]); //製作小框框
      }
   }
}
void drawCard(int x, int y, color c, int n)
{
    stroke(128);//gray stroke
    fill(255);
    rect(x, y, 32, 50, 7);
    noStroke();
    fill(c);//white
    rect(x+3, y+3, 32-5, 50-5, 4);
    
    pushMatrix();
    fill(255);
    translate(x+16, y+25);
    rotate(radians(45));
    ellipse(0, 0, 20, 30);
    popMatrix();
    
    textAlign(CENTER, CENTER);
    textSize(9);
    text(""+n, x+7, y+6);
    
    textSize(20);
    fill(c);
    text(""+n, x+16, y+22);
    
}


9 . 將卡片放大

void setup()
{
   size(800,400);
   myShuffle();
   
}
void myShuffle()
{
   for(int i=0; i<8; i++)
   {
      for(int j=0; j<11; j++)
      {
         cardN[i*11+j] = j;
         cardC[i*11+j] = C[i%4];
      }
   }
   for(int i=0; i<10000; i++)
   {
       int a = int(random(88)), b = int(random(88));
       int temp = cardN[a];
       cardN[a]= cardN[b];
       cardN[b]= temp;
       temp = cardC[a];
       cardC[a] = cardC[b];
       cardC[b] = temp;  
   }
   
}
//int [][] card = new int[8][11];
int [] cardN = new int[88];//card number
int [] cardC = new int[88];//card color
color [] C = {#FF5555, #FFAA00, #55AA55, #5555FF}; 
void draw()
{
   background(255);
   for(int i=0;i<8;i++)
   {
      for(int j=0; j<11;j++)
      { 
        fill(C[i%4]); 
        drawCard(j*32, i*50, cardC[i*11+j], cardN[i*11+j], 32); //製作小框框
      }
   }
   drawCard(500, 100, cardC[7], cardN[77], 128);
}
void drawCard(int x, int y, color c, int n, int w)
{
    float s = w/32.0;//scale size
    stroke(128);//gray stroke
    fill(255);
    rect(x, y, 32*s, 50*s, 7*s);
    noStroke();
    fill(c);//white
    rect(x+3*s, y+3*s, 32*s-5*s, 50*s-5*s, 4*s);
    
    pushMatrix();
    fill(255);
    translate(x+16*s, y+25*s);
    rotate(radians(45));
    ellipse(0, 0, 20*s, 30*s);
    popMatrix();
    
    textAlign(CENTER, CENTER);
    textSize(9*s);
    text(""+n, x+7*s, y+6*s);
    
    textSize(20*s);
    fill(c);
    text(""+n, x+16*s, y+22*s);
    
}


10 . 抽牌
void setup()
{
   size(800,400);
   myShuffle();
   
}
void myShuffle()
{
   for(int i=0; i<8; i++)
   {
      for(int j=0; j<11; j++)
      {
         cardN[i*11+j] = j;
         cardC[i*11+j] = C[i%4];
      }
   }
   for(int i=0; i<10000; i++)
   {
       int a = int(random(88)), b = int(random(88));
       int temp = cardN[a];
       cardN[a]= cardN[b];
       cardN[b]= temp;
       temp = cardC[a];
       cardC[a] = cardC[b];
       cardC[b] = temp;  
   }
   
}
//int [][] card = new int[8][11];
int [] cardN = new int[88];//card number
int [] cardC = new int[88];//card color
color [] C = {#FF5555, #FFAA00, #55AA55, #5555FF}; 
void draw()
{
   background(255);
   if(mousePressed && mouseButton == RIGHT)
   {
     for(int i=0;i<8;i++)
     {
        for(int j=0; j<11;j++)
        { 
          fill(C[i%4]); 
          drawCard(j*32, i*50, cardC[i*11+j], cardN[i*11+j], 32); //製作小框框
        }
     }
   }
   else drawCard(50, 50, #000000, 90, 128);
   for(int i=0; i<myCard; i++)
   {
     drawCard(430+40*i, 50, cardC[i], cardN[i], 128);  
   }
   
}
int myCard = 0;
void mousePressed()
{
   if(mouseButton == LEFT) myCard++; 
}
void drawCard(int x, int y, color c, int n, int w)
{
    float s = w/32.0;//scale size
    stroke(128);//gray stroke
    fill(255);
    rect(x, y, 32*s, 50*s, 7*s);
    noStroke();
    fill(c);//white
    rect(x+3*s, y+3*s, 32*s-5*s, 50*s-5*s, 4*s);
    
    pushMatrix();
    fill(255);
    translate(x+16*s, y+25*s);
    rotate(radians(45));
    ellipse(0, 0, 20*s, 30*s);
    popMatrix();
    
    textAlign(CENTER, CENTER);
    textSize(9*s);
    text(""+n, x+7*s, y+6*s);
    
    textSize(20*s);
    fill(c);
    text(""+n, x+16*s, y+22*s);
    
}





沒有留言:

張貼留言