邢閣 吉林動畫學院
開發相關程序時,可以運用二維數組方式,達到對方框狀態有效管控的目的。 基于Microsoft Visual C++程序語言下,適用于Windows98、WindowsXP以上等操作系統。對俄羅斯方塊的圖案類型與狀態進行判斷和分析。其中主要包含了7個不同種類的圖案,各類圖案存在著不同的變形狀態。見下圖1。

圖1
當某種圖案下落時,借助對鍵盤的操作,能夠實現針對不同類型圖案狀態的有效轉換。鑒于方塊處于Windows下能依靠可視窗口進行呈現,所以,應該合理利用位圖資源。一般而言,基于Windows操作系統下,各個位圖資源均通過矩形加以界定。假如采用各個位圖代表各類別圖案的每一種變形狀態,根據上圖1獲悉,應該定義19個位圖,如此,使位圖繪制的任務量變大,進行變形狀態之間轉換的過程中易于出現閃爍、抖動的情況,并且帶給方塊下落過程中判定一定的阻礙。由于不同類別圖案包含了四個一致的小方塊。依靠各個位置的組合方式,能夠產生一共19類狀態的圖案。所以,應該進行一個小方塊DIB位圖的科學繪制。因為實施持續調用位圖所花費的時間不長,在人眼視覺停留時間之內,位圖表現出一定的完整性。對于不同小方塊左上角的坐標而言,可應用(cx1,cy1),(cx2,cy2),(cx3,cy3),(cx4,cy4)進行表示,通過科學管控程序當中不同坐標間的關聯,能夠對小方塊組合形狀有效控制的效果。下圖2代表的為第三類圖案變形狀態的具體轉換狀況。

圖2
進行游戲窗口定義的過程當中,假設游戲左上角的坐標點是(ulPosx,ulPosy),有關邊框的寬度則定義成frmwidth,相應的邊框寬度、高度依次為 16mWidth、20mHeight。在這當中,mWidth、mHeight依次為小方塊的寬度、高度,假設二者是相等的。從功能發揮的角度而言,通過對相關圖案進行擦除的方式,然后朝下移動一個mHeight的距離之后,可以重新呈現圖案。假如移動了一個mHeight距離以后,所有小方塊左上角的縱坐標均未超過相應的方框底線,同時小方塊所在方位相應的數組元素均不為1的時候,表明目前的圖案尚未到達底部,同時也未碰到任何障礙物,能夠從中加以有效呈現;不然,當開始呈現以前,需要朝上移動一個mHeight距離,并把全部進行的距離移動均加以取消。對于擦除圖案、呈現圖案依次借助函數EraseDesign()、PaintDesign()予以代表; 通過運用函數CalcStatus(),可以對public變量i1-i4、j1-j4的數值加以科學計算。
在深入理解與掌握二維數組概念與內涵之后,便可以科學判斷一行是否已經填滿。通過對二維數組當中的不同元素進行掃描的方式,假如一行的全部元素均為1,說明該行已經填滿,無需進行消除,接著對該行之上不同行的狀態輪流進行下移;假如彼此鄰近的兩行均已填滿的時候,應該再次進行一次處理。
從此次論文的闡述和分析當中,可以獲悉,系統分析與思考二維數組在俄羅斯方塊游戲編程當中的有效應用策略顯得尤為必要,具有一定的研究意義和實施價值。本文以二維數組在俄羅斯方塊游戲編程中的具體應用作為主要的研究內容加以展開論述與分析:確保方塊圖案類型與狀態分析的科學性、強化對游戲窗口的準確定義、注重一行是否填滿的科學判定。望此次研究與分析的內容和結果,能夠得到有關俄羅斯方塊游戲編程技術工作人員的關注與重視,并且從中獲取相應的啟發和幫助,以便充分發揮出二維數組在俄羅斯方塊游戲編程當中的良好作用,進而推動我國游戲編程技術的不斷發展與進步。