2023年10月5日 星期四

10160756廖云瑄 week04

 

Week04 UNO

第一步先劃出uno的卡牌格子

void setup(){
    size(400,400);
}
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*30,i*50,30,100);
    }
  }
}
















填上四個顏色紅、黃、藍、綠

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*30,i*50,30,100);
    }
  }
}













劃出圓角跟灰色框框

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++){
      drawCard(j*32,i*50,C[i%4]);
    }
  }
}
void drawCard(int x,int y,color c){
  stroke(128);///灰框
  fill(255);///白
  rect(x,y,32,50,7);
  noStroke();
  fill(c);
  rect(x+3,y+3,32-5,50-5,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++){
      drawCard(j*32,i*50,C[i%4]);
    }
  }
}
void drawCard(int x,int y,color c){
  stroke(128);///灰框
  fill(255);///白
  rect(x,y,32,50,7);
  noStroke();
  fill(c);
  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();

}













畫上左上角的數字跟中間的數字1-10

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++){
      drawCard(j*32,i*50,C[i%4],j);
    }
  }
}
void drawCard(int x,int y,color c,int n){
  stroke(128);///灰框
  fill(255);///白
  rect(x,y,32,50,7);
  noStroke();
  fill(c);
  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+25);

}























洗牌
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[]cardC = new int[88];///card color
int[]cardN = new int[88];///card number
color [] C ={#FF5555,#FFAA00,#55AA55,#5555FF};
void draw(){
  background(255);
  for(int i=0;i<8;i++){
    for(int j=0;j<11;j++){
      //drawCard(j*32,i*50,C[i%4],j);
      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);///灰框
  fill(255);///白
  rect(x,y,32,50,7);
  noStroke();
  fill(c);
  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+25);

}



放大一張卡牌
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[]cardC = new int[88];///card color
int[]cardN = new int[88];///card number
color [] C ={#FF5555,#FFAA00,#55AA55,#5555FF};
void draw(){
  background(255);
  for(int i=0;i<8;i++){
    for(int j=0;j<11;j++){
      //drawCard(j*32,i*50,C[i%4],j);
      drawCard(j*32,i*50,cardC[i*11+j],cardN[i*11+j],32);
    }
  }
  drawCard(450,50,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);///灰框
  fill(255);///白
  rect(x,y,32*s,50*s,7*s);
  noStroke();
  fill(c);
  rect(x+2.5*s,y+2.5*s,32*s-5*s,50*s-5*s,5*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);

}



如果按右鍵會跑出下一張牌,左鍵會秀出所有卡牌
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[]cardC = new int[88];///card color
int[]cardN = new int[88];///card number
color [] C ={#FF5555,#FFAA00,#55AA55,#5555FF};
void draw(){
  background(255);
  if(mousePressed && mouseButton==RIGHT){//cheat
  for(int i=0;i<8;i++){
    for(int j=0;j<11;j++){
      //drawCard(j*32,i*50,C[i%4],j);
      drawCard(j*32,i*50,cardC[i*11+j],cardN[i*11+j],32);
      }
    }
  }else drawCard(50,50,#000000,99,128);
 
 for(int i=0;i<myCard;i++){
  drawCard(450+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);///灰框
  fill(255);///白
  rect(x,y,32*s,50*s,7*s);
  noStroke();
  fill(c);
  rect(x+2.5*s,y+2.5*s,32*s-5*s,50*s-5*s,5*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);

}






















發牌
void setup(){
    size(850,850);
    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[]cardC = new int[88];///card color
int[]cardN = new int[88];///card number
color [] C ={#FF5555,#FFAA00,#55AA55,#5555FF};
void draw(){
  background(255);
  if(mousePressed && mouseButton==RIGHT){//cheat
  for(int i=0;i<8;i++){
    for(int j=0;j<11;j++){
      //drawCard(j*32,i*50,C[i%4],j);
      drawCard(j*32,i*50,cardC[i*11+j],cardN[i*11+j],32);
      }
    }
  }else drawCard(50,50,#000000,99,128);
 
 for(int i=0;i<myCard;i++){
  if(i%4==0)drawCard(430  +40*i/4,50,cardC[i],cardN[i],128);
   if(i%4==1)drawCard(630 +40*i/4,350,cardC[i],cardN[i],128);
    if(i%4==2)drawCard(430 +40*i/4,650,cardC[i],cardN[i],128);
    if(i%4==3)drawCard(230 +40*i/4,350,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);///灰框
  fill(255);///白
  rect(x,y,32*s,50*s,7*s);
  noStroke();
  fill(c);
  rect(x+2.5*s,y+2.5*s,32*s-5*s,50*s-5*s,5*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);

}











沒有留言:

張貼留言