1-1
複習上禮拜的重新洗牌,按滑鼠可以直接洗牌增加myShuffle為洗牌,把myShuffle丟入按滑鼠程式,就變成按滑鼠洗牌。
void setup(){
background(#F0D988);
size(500,500);
PFont font=createFont("標楷體",40);
textFont(font);
myShuffle();
}
void myShuffle(){
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);
}
String face1,face2,face3,face4;
void draw(){
drawPokerCard(100,100,face1);
drawPokerCard(130,150,face2);
drawPokerCard(160,200,face3);
drawPokerCard(190,250,face4);
}
void mousePressed(){
myShuffle();
}
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(#81E566);
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);
}
size(500,500);
PFont font=createFont("標楷體",40);
textFont(font);
myShuffle();
}
void myShuffle(){
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);
}
String face1,face2,face3,face4;
void draw(){
drawPokerCard(100,100,face1);
drawPokerCard(130,150,face2);
drawPokerCard(160,200,face3);
drawPokerCard(190,250,face4);
}
void mousePressed(){
myShuffle();
}
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(#81E566);
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);
}
1-2
做出52張空白的牌
void setup(){
size(700,700);
}
void draw(){
background(#FFFFF2);
for(int i=0;i<52;i++){
int x=(i%10)*60;
int y=int (i/10)*120;
rect(x,y,60,120);
}
}
2-1
52張牌中加上黑桃1-12
void setup(){
size(700,700);
PFont font=createFont("標楷體",10);
textFont(font);
}
String[]faces={
"黑桃A","黑桃2","黑桃3","黑桃4","黑桃5","黑桃6","黑桃7","黑桃8","黑桃9","黑桃10","黑桃J","黑桃Q","黑桃K",
"黑桃A","黑桃2","黑桃3","黑桃4","黑桃5","黑桃6","黑桃7","黑桃8","黑桃9","黑桃10","黑桃J","黑桃Q","黑桃K",
"黑桃A","黑桃2","黑桃3","黑桃4","黑桃5","黑桃6","黑桃7","黑桃8","黑桃9","黑桃10","黑桃J","黑桃Q","黑桃K",
"黑桃A","黑桃2","黑桃3","黑桃4","黑桃5","黑桃6","黑桃7","黑桃8","黑桃9","黑桃10","黑桃J","黑桃Q","黑桃K"};
void draw(){
background(#FFFFF2);
for(int i=0;i<52;i++){
int x=(i%10)*60;
int y=int (i/10)*120;
fill(255); rect(x,y,60,120);
fill(0) ; text(faces[i],x+25,y+80);
}
}
2-2
牌的不同花色會有黑色或是紅色的改變
void setup(){
size(800,600);
PFont font=createFont("標楷體",16);
textFont(font);
}
String[]faces={
"黑桃A","黑桃2","黑桃3","黑桃4","黑桃5","黑桃6","黑桃7","黑桃8","黑桃9","黑桃10","黑桃J","黑桃Q","黑桃K",
"紅心A","紅心2","紅心3","紅心4","紅心5","紅心6","紅心7","紅心8","紅心9","紅心10","紅心J","紅心Q","紅心K",
"方塊A","方塊2","方塊3","方塊4","方塊5","方塊6","方塊7","方塊8","方塊9","方塊10","方塊J","方塊Q","方塊K",
"梅花A","梅花2","梅花3","梅花4","梅花5","梅花6","梅花7","梅花8","梅花9","梅花10","梅花J","梅花Q","梅花K"};
void draw(){
background(#FFFFF2);
for(int i=0;i<52;i++){
int x=(i%13)*60;
int y=int (i/13)*120;
fill(255); rect(x,y,60,120);
if(faces[i].indexOf("紅心")==-1 && faces[i].indexOf("方塊")==-1)fill(0);
else fill(255,0,0);
text(faces[i],x+15,y+80);
}
}
3-1
按下滑鼠能夠洗牌,牌不會只待在同個位置上
void setup(){
size(800,600);
PFont font=createFont("標楷體",16);
textFont(font);
}
String[]faces={
"黑桃A","黑桃2","黑桃3","黑桃4","黑桃5","黑桃6","黑桃7","黑桃8","黑桃9","黑桃10","黑桃J","黑桃Q","黑桃K",
"紅心A","紅心2","紅心3","紅心4","紅心5","紅心6","紅心7","紅心8","紅心9","紅心10","紅心J","紅心Q","紅心K",
"方塊A","方塊2","方塊3","方塊4","方塊5","方塊6","方塊7","方塊8","方塊9","方塊10","方塊J","方塊Q","方塊K",
"梅花A","梅花2","梅花3","梅花4","梅花5","梅花6","梅花7","梅花8","梅花9","梅花10","梅花J","梅花Q","梅花K"};
void draw(){
background(#FFFFF2);
for(int i=0;i<52;i++){
int x=(i%13)*60;
int y=int (i/13)*120;
fill(255); rect(x,y,60,120);
if(faces[i].indexOf("紅心")==-1 && faces[i].indexOf("方塊")==-1)fill(0);
else fill(255,0,0);
text(faces[i],x+15,y+80);
}
}
void mousePressed (){
int a=int (random(52));
int b=int (random(52));
String temp=faces[a];
faces[a]=faces[b];
faces[b]=temp;
}
3-2
把上禮拜的牌加上今天教的程式,可以透過滑鼠進行洗牌。
void setup(){
background(#F0D988);
size(500,500);
PFont font=createFont("標楷體",40);
textFont(font);
myShuffle();
}
String[]faces={
"黑桃A","黑桃2","黑桃3","黑桃4","黑桃5","黑桃6","黑桃7","黑桃8","黑桃9","黑桃10","黑桃J","黑桃Q","黑桃K",
"紅心A","紅心2","紅心3","紅心4","紅心5","紅心6","紅心7","紅心8","紅心9","紅心10","紅心J","紅心Q","紅心K",
"方塊A","方塊2","方塊3","方塊4","方塊5","方塊6","方塊7","方塊8","方塊9","方塊10","方塊J","方塊Q","方塊K",
"梅花A","梅花2","梅花3","梅花4","梅花5","梅花6","梅花7","梅花8","梅花9","梅花10","梅花J","梅花Q","梅花K"};
void myShuffle(){
for(int k=0;k<10000;k++){
int a=int (random(52));
int b=int (random(52));
String temp=faces[a];
faces[a]=faces[b];
faces[b]=temp;
}
face1=faces[0];
face2=faces[1];
face3=faces[2];
face4=faces[3];
}
String face1,face2,face3,face4;
void draw(){
drawPokerCard(100,100,face1);
drawPokerCard(130,150,face2);
drawPokerCard(160,200,face3);
drawPokerCard(190,250,face4);
}
void mousePressed(){
myShuffle();
}
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(#81E566);
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);
}






沒有留言:
張貼留言