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); }
沒有留言:
張貼留言