編程語言越來越發達,對於圖形的處理功能也越來越強大,學習的時候我們用一種最原始的方法來繪製俄羅斯方塊遊戲的圖形,C#中的Graphics語句。
工具/原料
visual studio 2008/2010 C#
方法/步驟
先說下我的思路:
§1.畫出幾種圖形
§2.移動圖形,左,右移動。
§3.讓圖形在指定的範圍內顯示,正確的位置停止。
§4.讓每種圖形由用戶控制旋轉
§5.當每一行圖形全滿後,能夠將此行擦去
§6.擦去一行後將上面所有的圖形全部往下移
理想中的思路:
§定義三個類:
§1.Huatu (畫圖) 類 用來畫幾種基本圖形
§2.Bianhuan (變換) 類 用來旋轉圖形
§3.Panduan (判斷) 類 限制圖形在指定的位置,判斷圖形有某一行圖形滿後,消去一行
§主程序做初始化工作,隨機產生標誌,產生某個圖形。等等..
實際後來操作的方法與理論上有差距:
§因為三個類都會用到相同的數組,靜態數組定義後實現不成功。中間變轉換,有點麻煩,時間也稍晚了些。 §現在就用了一個類,程序規劃待後繼續。
§旋轉(bianhaun)和判斷(panduan)類,都放到了畫圖(hautu)類裡。
幾種基礎圖形:
§每個圖形用一個數組存放其位置
使用Graphics繪製俄羅斯方塊圖形#
方法/步驟2
一、畫圖形1.自己定義圖形的初始位置
使用Graphics繪製俄羅斯方塊圖形#
二、用timer移動圖形
§在Timer裡不斷改變每種圖形數組的值,使得改變圖形的位置
§實現方法:先把當前位置的圖形擦去,然後調用zhuanL(Z,T,l1)改變位置值,再在現在的位置畫出新的圖形。
§ huatu.ca_L(); //把原來的圖形擦去,
§ huatu.zhuanL(); //改變位置,
§ huatu.hua_L(); //再畫出圖
2.擦、畫圖形
使用Graphics繪製俄羅斯方塊圖形#
三、讓圖形在正確的位置顯示
使用Graphics繪製俄羅斯方塊圖形#
圖形停止後,要做的工作
§1.重新產生,產生圖形的隨機數
§2.把圖形數組再賦初值
四、旋轉圖形
使用Graphics繪製俄羅斯方塊圖形#
§圖形模擬二維數組顯示效果圖:
使用Graphics繪製俄羅斯方塊圖形#
判斷是否落到別的圖形上
§此步可以和判斷圖形顯示的位置一起
§定義了youtu數組之後:
§在剛才的基礎上只需判斷youtu數組裡的值是否為1即可,若為1則執行初始化的那段程序
五、判斷一行已滿,將此行消去
§定義一個數組public int [,] youtu=new int[1001,1001];//定義記錄是否劃到圖,圖停留
§在一個圖形落下,停止後,把圖形的位置用數組記錄下來。把圖形的位置放入數組的下標,把其值賦為1.
§圖形顯示框是一行21個圖形,此時只需判斷youtu數組裡一行中的每一個值都是1,則說明這一行已滿。
使用Graphics繪製俄羅斯方塊圖形#
六、將上面的圖形全部往下移
使用Graphics繪製俄羅斯方塊圖形#
注意事項
閱讀時根據步驟內容裡面的序號來閱讀