2023年1月13日 星期五

CY.hsin week19

 //加入下棋音效

import processing.sound.*;

SoundFile soundHit;

void setup(){

    size(600,600);

    soundHit=new SoundFile(this,"hit.mp3");

    

}

int [][] go={

  {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},

  {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},

  {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},

  {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},

  {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},

  {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},

  {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},

  {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},

  {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},

  {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},  

  {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},

  {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},

  {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},

  {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},

  {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},

  {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},

  {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},

  {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},

  {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},

};

int N=0;//現在有幾個棋子

void draw(){

  background(#FFAA64);

  //畫線

  for(int i=1;i<=19;i++){//畫19條線

    line(30,30*i,570,30*i);//直線

    line(30*i,30,30*i,570);//橫線

  }

  //畫棋盤上的點點

  fill(0);//黑色的

  ellipse(120,120,10,10);

  ellipse(120,300,10,10);

  ellipse(120,480,10,10);

  ellipse(300,120,10,10);

  ellipse(300,300,10,10);

  ellipse(300,480,10,10);

  ellipse(480,120,10,10);

  ellipse(480,300,10,10);

  ellipse(480,480,10,10);

  //畫黑棋/白棋

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

    for(int j=0;j<19;j++){

      if(go[i][j]==1){

        fill(0);

        ellipse(30+j*30,30+i*30,30,30);//30*30的黑棋,下在鼠標按的位置

      }else if(go[i][j]==2){

        fill(255);

        ellipse(30+j*30,30+i*30,30,30);//30*30的白棋,下在鼠標按的位置

       }

    }

  }

}

void mousePressed(){

  int i=(mouseY-15)/30;//x座標

  int j=(mouseX-15)/30;//y座標

  soundHit.play();//下棋播放音效

  go[i][j]=(N%2==0)?1:2;//不是1就是2,1=白色、2=黑色。

  N++;//增加棋子

}

沒有留言:

張貼留言