2022年12月5日 星期一

(OwO)week14_12/5

這周的進度:可洗牌

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);

  }

}





沒有留言:

張貼留言