2022年11月14日 星期一

(OwO)week11_11/14

先把骨牌做出來:

 int N=10;

int a=0,b=0;

Domino [] d;

String [] number1={"W","I","II","III","IV","V","VI"};

String [] number2={"W","1","2","3","4","5","6"};

void setup(){

  size(1000,1000);

  

  d= new Domino[N];

  for(int i=0;i<N;i++){

    d[i]=new Domino();

  }

  textSize(30);

  textAlign(CENTER,CENTER);

}


void draw(){

  background(#FFFFF2);

  for(int i=0;i<N;i++){ 

     if(a==0){

       d[i].draw();

     }

     else{

       d[i].draw();

       d[b].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;       

        if(a==0)a=1;

        else a=0;

        b=i;

      }

    }

  }

}


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;

  Domino(){

    x=(int)random(100,800);

    y=(int)random(100,800);

    n1=(int)random(6);

    n2=(int)random(6);

  }

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

  }

}






右鍵可以伸縮,但只能指定單一骨牌....





沒有留言:

張貼留言