邢閣 吉林動(dòng)畫(huà)學(xué)院
開(kāi)發(fā)相關(guān)程序時(shí),可以運(yùn)用二維數(shù)組方式,達(dá)到對(duì)方框狀態(tài)有效管控的目的。 基于Microsoft Visual C++程序語(yǔ)言下,適用于Windows98、WindowsXP以上等操作系統(tǒng)。對(duì)俄羅斯方塊的圖案類型與狀態(tài)進(jìn)行判斷和分析。其中主要包含了7個(gè)不同種類的圖案,各類圖案存在著不同的變形狀態(tài)。見(jiàn)下圖1。
圖1
當(dāng)某種圖案下落時(shí),借助對(duì)鍵盤的操作,能夠?qū)崿F(xiàn)針對(duì)不同類型圖案狀態(tài)的有效轉(zhuǎn)換。鑒于方塊處于Windows下能依靠可視窗口進(jìn)行呈現(xiàn),所以,應(yīng)該合理利用位圖資源。一般而言,基于Windows操作系統(tǒng)下,各個(gè)位圖資源均通過(guò)矩形加以界定。假如采用各個(gè)位圖代表各類別圖案的每一種變形狀態(tài),根據(jù)上圖1獲悉,應(yīng)該定義19個(gè)位圖,如此,使位圖繪制的任務(wù)量變大,進(jìn)行變形狀態(tài)之間轉(zhuǎn)換的過(guò)程中易于出現(xiàn)閃爍、抖動(dòng)的情況,并且?guī)Ыo方塊下落過(guò)程中判定一定的阻礙。由于不同類別圖案包含了四個(gè)一致的小方塊。依靠各個(gè)位置的組合方式,能夠產(chǎn)生一共19類狀態(tài)的圖案。所以,應(yīng)該進(jìn)行一個(gè)小方塊DIB位圖的科學(xué)繪制。因?yàn)閷?shí)施持續(xù)調(diào)用位圖所花費(fèi)的時(shí)間不長(zhǎng),在人眼視覺(jué)停留時(shí)間之內(nèi),位圖表現(xiàn)出一定的完整性。對(duì)于不同小方塊左上角的坐標(biāo)而言,可應(yīng)用(cx1,cy1),(cx2,cy2),(cx3,cy3),(cx4,cy4)進(jìn)行表示,通過(guò)科學(xué)管控程序當(dāng)中不同坐標(biāo)間的關(guān)聯(lián),能夠?qū)π》綁K組合形狀有效控制的效果。下圖2代表的為第三類圖案變形狀態(tài)的具體轉(zhuǎn)換狀況。
圖2
進(jìn)行游戲窗口定義的過(guò)程當(dāng)中,假設(shè)游戲左上角的坐標(biāo)點(diǎn)是(ulPosx,ulPosy),有關(guān)邊框的寬度則定義成frmwidth,相應(yīng)的邊框?qū)挾?、高度依次?16mWidth、20mHeight。在這當(dāng)中,mWidth、mHeight依次為小方塊的寬度、高度,假設(shè)二者是相等的。從功能發(fā)揮的角度而言,通過(guò)對(duì)相關(guān)圖案進(jìn)行擦除的方式,然后朝下移動(dòng)一個(gè)mHeight的距離之后,可以重新呈現(xiàn)圖案。假如移動(dòng)了一個(gè)mHeight距離以后,所有小方塊左上角的縱坐標(biāo)均未超過(guò)相應(yīng)的方框底線,同時(shí)小方塊所在方位相應(yīng)的數(shù)組元素均不為1的時(shí)候,表明目前的圖案尚未到達(dá)底部,同時(shí)也未碰到任何障礙物,能夠從中加以有效呈現(xiàn);不然,當(dāng)開(kāi)始呈現(xiàn)以前,需要朝上移動(dòng)一個(gè)mHeight距離,并把全部進(jìn)行的距離移動(dòng)均加以取消。對(duì)于擦除圖案、呈現(xiàn)圖案依次借助函數(shù)EraseDesign()、PaintDesign()予以代表; 通過(guò)運(yùn)用函數(shù)CalcStatus(),可以對(duì)public變量i1-i4、j1-j4的數(shù)值加以科學(xué)計(jì)算。
在深入理解與掌握二維數(shù)組概念與內(nèi)涵之后,便可以科學(xué)判斷一行是否已經(jīng)填滿。通過(guò)對(duì)二維數(shù)組當(dāng)中的不同元素進(jìn)行掃描的方式,假如一行的全部元素均為1,說(shuō)明該行已經(jīng)填滿,無(wú)需進(jìn)行消除,接著對(duì)該行之上不同行的狀態(tài)輪流進(jìn)行下移;假如彼此鄰近的兩行均已填滿的時(shí)候,應(yīng)該再次進(jìn)行一次處理。
從此次論文的闡述和分析當(dāng)中,可以獲悉,系統(tǒng)分析與思考二維數(shù)組在俄羅斯方塊游戲編程當(dāng)中的有效應(yīng)用策略顯得尤為必要,具有一定的研究意義和實(shí)施價(jià)值。本文以二維數(shù)組在俄羅斯方塊游戲編程中的具體應(yīng)用作為主要的研究?jī)?nèi)容加以展開(kāi)論述與分析:確保方塊圖案類型與狀態(tài)分析的科學(xué)性、強(qiáng)化對(duì)游戲窗口的準(zhǔn)確定義、注重一行是否填滿的科學(xué)判定。望此次研究與分析的內(nèi)容和結(jié)果,能夠得到有關(guān)俄羅斯方塊游戲編程技術(shù)工作人員的關(guān)注與重視,并且從中獲取相應(yīng)的啟發(fā)和幫助,以便充分發(fā)揮出二維數(shù)組在俄羅斯方塊游戲編程當(dāng)中的良好作用,進(jìn)而推動(dòng)我國(guó)游戲編程技術(shù)的不斷發(fā)展與進(jìn)步。