摘要:俄羅斯方塊是一款十分經(jīng)典的游戲,它的主要運(yùn)行規(guī)律為對系統(tǒng)隨機(jī)產(chǎn)生的圖形進(jìn)行上下左右移動、旋轉(zhuǎn)等操縱,使之排列成完整的一行或多行并且消除得分。它上手容易,難度循序漸進(jìn),老少皆宜,深入人心,標(biāo)志著一代人的童年。同時以俄羅斯方塊為基礎(chǔ)由衍生出了很多種應(yīng)用,因此進(jìn)行俄羅斯方塊的設(shè)計(jì)十分必要.本文遵循設(shè)計(jì)流程,通過總體方案設(shè)計(jì),代碼實(shí)現(xiàn)以及運(yùn)行調(diào)試分析三個階段實(shí)現(xiàn)游戲設(shè)計(jì)。
關(guān)鍵詞:俄羅斯方塊開發(fā);游戲編程;程序開發(fā)
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9599 (2012) 21-0000-02
C語言則是現(xiàn)在java,c++等編程語言的基礎(chǔ),它具有自己獨(dú)特的優(yōu)點(diǎn),尤其是它的指針概念,更是C語言的精華所在,因此我進(jìn)行了本次設(shè)計(jì)實(shí)驗(yàn),并將設(shè)計(jì)的所有過程記錄如下:
1 總體方案設(shè)計(jì)
總體的設(shè)計(jì)思路主要有兩個部分,一個部分是數(shù)據(jù)部分,另一個就是顯示界面部分。其中數(shù)據(jù)部分是整個游戲?qū)嶋H的核心.整個游戲的設(shè)計(jì)主要包括:游戲方塊的預(yù)覽、游戲方塊的控制、游戲的更新顯示、游戲速度分?jǐn)?shù)的更新控制。
1.1 游戲方塊控制功能討論
左右下移動:在這些移動中都要滿足移動后方塊的任何一個部分都不能超過邊界。同時好要保證游戲方塊的下面的一個方格沒有被占用。在進(jìn)行移動以后原來的圖形必須要清除掉。同理于右移。
旋轉(zhuǎn)移動:主要滿足條件為:旋轉(zhuǎn)過程中是否有非法部分,旋轉(zhuǎn)后要清除原來的方塊圖形。
滿格清除:從下至上判斷每行是否滿格,并清除已滿的行,并將剩下的行順次移動到游戲下邊界。同時從新繪制游戲最下層的狀態(tài)。
清除方塊:先畫出圖塊的輪廓在用填充背景顏色的方式填充每一個小方塊的顏色,然后再使用前景色,畫一個游戲地板的中的小方塊,如此循環(huán)。
等級以及速度的改變:每清除一行方塊就會得到10分,每積累30分就升一個等級,因此定義level=speed==score/speed_step,同時通過時間計(jì)數(shù)器判斷條件來斷定時間中斷的間隔長短。
1.2 數(shù)據(jù)結(jié)構(gòu)討論
經(jīng)查閱了很多有關(guān)游戲設(shè)計(jì)的書,發(fā)現(xiàn)BOARD結(jié)構(gòu)體,通過這種結(jié)構(gòu)體來實(shí)現(xiàn)7個方塊19種狀態(tài)的編碼。具體如下: