2022年12月19日 星期一

(OwO)week16_12/19

 這周進度:加入音樂

PImage img;
import processing.sound.*;
SoundFile Sound;
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);
  Sound = new SoundFile(this,"happy.mp3");
  Sound.play();
  background(#F2EB98);
  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);
  
  img = loadImage("1.png");
  image(img,0,0,width,height);
  
  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);
  }
}

沒有留言:

張貼留言