2017年11月23日 星期四

Week09 ShiRo

期中作品試做(三)


➤加入音樂

     程式碼:
                 import ddf.minim.*;
                 Minim minim;
                 AudioPlayer player;

                
void setup(){
                  minim=new Minim(this);
                  player=minim.loadFile("music.mp3",2048);
                  player.play();
                  player.loop();
}

➤滑鼠事件

  1. 拖曳

void mouseDragged(){
   if(stage==1){
         int i=int((mouseY-100)/20);
         int j=int((mouseX-100)/20);
         touch[j][i]=1;
         if(touch[j][i]==1 && puzzle[j][i]==0 && dist(j,i,(pmouseX-100)/20,(pmouseY-100)/20)>1/20)           count--;
  }
}

     2.按壓

void mousePressed(){
        //場景為關卡遊戲時
         if(stage==1){  
               int i=int((mouseY-100)/20);
               int j=int((mouseX-100)/20);
               touch[j][i]=1;
               if(puzzle[j][i]==0 && touch[j][i]==1)count--;
               if(count==0){}
         }
        //場景為GameOver畫面時
        if(stage==2) {
               stage=0;
               count=10;
               bad=0;
           for(int i=0;i<20;i++){
               for(int j=0;j<20;j++){
                 touch[i][j]=0;
                 check[i][j]=0;
               }
            }
        }
}

➤鍵盤按鍵


1.製作場景的 切換: 按下k鍵跳到遊戲畫面
          2.關卡進行 當玩家過關後 可以按鍵盤右鍵到下一關卡繼續遊戲
             或是案左鍵到之前關卡在玩一次。
             重新觸碰和檢查陣列--> touch[][]=0; check[][]=0 
 

➤初始設定

1.拼圖陣列puzzle  2.觸碰陣列 touch 3.檢查陣列check  都設定為20*20大小
4.關卡level(總共有6關)5.生命條count(容許錯誤次數)6.場景stage
7.bad錯誤次數 8.六張過關圖和一張背景圖PImage img1...imgBack 匯入圖片      ex➜img1=loadImage("a1.jpg");
 


 

➤畫圖﹑

  • 在開始畫面做設計: 1.放入背景圖 並訂好大小
                 2.文字大小、顏色和內容
                                                textSize(); fill(); text("內容",x位置,y位置);
  • 在關卡1的畫面設定: 1.背景圖 並訂好大小
                                              2.做生命的計次顯示 文字大小、顏色和內容➜ count
                                             3.畫遊戲時的格子 
                                                選取格子時沒有選到    就顯示背景顏色(白)
                                                若有選取格子但不是答案的格子 就顯示紅色
                                                 若有選取格子且是答案的格子     就顯示深灰色
  • 畫格子旁的數字 (作為遊戲時的猜測答案的格子)分為行跟列
  • 沒有生命時跳到GameOver畫面 if(count<0) stage=2;
  •  檢查系統 : 對於答案和玩家所選的格子存放在check陣列中
                              若check陣列長度和答案不一樣 就會bad++ 
                                        若check陣列長度和答案一樣 就可以顯示過關畫面




沒有留言:

張貼留言