2012年10月30日 星期二

Week08, HW08

(1) 之前完成的進度

a. 調整俄羅斯方塊介面設計
b. 用鍵盤控制方向 ( ↑、↓、←、→ )


(2) 第 8 周預期完成進度

a. 每個方塊的旋轉狀態用陣列去宣告
b. 方塊在二維陣列中怎麼和背景貼齊
c. 預計用的背景圖


 










(3) 遇到的問題及可能的解決方法

  a 問題:
           在方塊創立時已經使用二維陣列宣告,
           也把1、0放進去 if 做判斷,
           但是方塊沒有依照1的位置正確填色
           譬如說我的二維陣列是

                      int nts[][]={{0,0,1,0},
                                       {0,1,1,0},
                                       {0,1,0,0},
                                       {0,0,0,0}};


                     for(int a=0;a<4;a++){
                       for(int b=0;b<4;b++)
                      if(nts[a][b]==1){
                      fill(91,0,183);
                      rect(a,b,20,20);

          在呼叫進draw時,只出現一個 rect ,
          正常應該是要由四個 rect 拼成一個 N型的方塊類型。

發現並解決: 
          在 rect 的座標軸要加一個位置值,他就出現 N 型方塊種類
           rect(a*20+320,b*20,20,20);



    b.問題:
             七個俄羅斯的方塊種類 已經設定完畢
              在map (陣列地圖) 的初始值也設定ok

              可是我在draw中隨機呼叫俄羅斯的種類時遇到了問題

              隨機呼叫就是 任意種類的俄羅斯方塊被我呼叫進map中
              利用swich的方式,雖然把所有方塊類型都有亂數跑出來
              但是亂數停不了,所有的方塊在map中都是一閃一閃的

          k=round(random(0)); 
          println(k);

          if(k>=0){
          switch(k){
          case 0:
          translate(110,0+(s/500)*20);
          Lt(270,0,20,20);
          break;
          case 1:
          It(270,0,20,20);
          break;
          case 2:
          Wt(270,0,20,20);
           break;
           case 3:
           Nt(270,0,20,20);
           break;
           }}
          

發現並解決:
             目前還沒有找到方法可以解決這個問題
  


(4)心得:

           在這幾週試著去處理俄羅斯方塊遇到的問題
       發現其實俄羅斯方塊還需要解決的問題還很多
       但是希望我們未來遇到的問題能順利的解決
       在這上面得到成就感



沒有留言:

張貼留言