這周的進度:可洗牌
int N=10;
Domino [] d;
String [] number1={" ","1","2","3","4","5","6"};
String [] number2={" ","1","2","3","4","5","6"};
String [] word={"右鍵可將牌翻轉","a鍵可以讓牌轉90度","s鍵可以將牌重製","p鍵可以洗牌"};
void setup(){
size(1000,600);
PFont font = createFont("標楷體", 40);
textFont(font);
d= new Domino[N];
for(int i=0;i<N;i++){
d[i]=new Domino();
}
textSize(30);
textAlign(CENTER,CENTER);
}
void draw(){
background(#F2EB98);
fill(#98EEF2);
rect(0,0,210,30);
rect(210,0,260,30);
rect(470,0,260,30);
rect(730,0,260,30);
fill(0);
text(word[0],100,10);
fill(0);
text(word[1],340,10);
fill(0);
text(word[2],600,10);
fill(0);
text(word[3],850,10);
for(int i=0;i<N;i++){
if(d[i].a==0)d[i].draw();
else d[i].draw2();
}
}
void mousePressed(){
if(mouseButton==RIGHT){
for(int i=0;i<N;i++){
if(d[i].x<mouseX && mouseX<d[i].x+120 && d[i].y<mouseY && mouseY<d[i].y+60)
{
int t=d[i].n1;
d[i].n1=d[i].n2;
d[i].n2=t;
}
}
}
}
void keyPressed(){
if(key=='a' || key=='A'){
for(int i=0;i<N;i++){
if(d[i].x<mouseX && mouseX<d[i].x+120 && d[i].y<mouseY && mouseY<d[i].y+60){
if(d[i].a==0)d[i].a=1;
else d[i].a=0;
}
}
}
if(key=='s' || key=='S'){
for(int i=0;i<N;i++){
if(d[i].x<mouseX && mouseX<d[i].x+120 && d[i].y<mouseY && mouseY<d[i].y+60){
d[i].n1=(int)random(7);
d[i].n2=(int)random(7);
}
}
}
if(key=='s' || key=='S'){
for(int i=0;i<N;i++){
if(d[i].x<mouseX && mouseX<d[i].x+120 && d[i].y<mouseY && mouseY<d[i].y+60){
d[i].n1=(int)random(7);
d[i].n2=(int)random(7);
}
}
}
if(key=='p' || key=='P'){
for(int i=0;i<N;i++){
d[i].n1=(int)random(7);
d[i].n2=(int)random(7);
d[i].x=(int)random(100,800);
d[i].y=(int)random(100,500);
}
}
}
void mouseDragged(){
for(int i=0;i<N;i++)
{
if(d[i].x<mouseX && mouseX<d[i].x+120 && d[i].y<mouseY && mouseY<d[i].y+60){
d[i].x+=(mouseX-pmouseX);
d[i].y+=(mouseY-pmouseY);
}
}
}
class Domino{
int x,y;
int n1,n2;
int a,b;
Domino(){
x=(int)random(100,800);
y=(int)random(100,500);
n1=(int)random(7);
n2=(int)random(7);
a=0;
b=0;
}
void draw(){
fill(50);
rect(x+60,y,60,60);
rect(x,y,60,60);
fill(255);
text(number1[n1],x+30,y+30);
text(number2[n2],x+60+30,y+30);
}
void draw2(){
fill(50);
rect(x,y,60,60);
rect(x,y+60,60,60);
fill(255);
text(number1[n1],x+30,y+30);
text(number2[n2],x+30,y+60+30);
}
}

沒有留言:
張貼留言