趙素萍
(山西農(nóng)業(yè)大學信息學院 山西省晉中市 030800)
俄羅斯方塊游戲是1984年由俄羅斯人阿列克謝·帕基特諾發(fā)明的。他是蘇聯(lián)科學院一名普通的軟件工程師。他非常喜歡開發(fā)電腦游戲,俄羅斯方塊是不同形狀的方塊落在矩形框中,如果某一行沒有空格,就可以將該行刪除。這一特點不僅需要玩家開動腦筋,也可以釋放玩家的壓力,同時還有一定的挑戰(zhàn)。最主要的是該游戲符合“整理心理學”,即人們需要通過下落的新的方塊來整理已有的混亂局面。所以游戲開發(fā)出來后很快就風靡全球。
該游戲基本規(guī)則[3]是通過一定的旋轉(zhuǎn)和移動來放置方塊,方塊在下落、旋轉(zhuǎn)或左右移動前要判斷方塊的下一個位置是否全部位置都沒有方塊,并且沒有超出界限,如果滿足條件即可移動,否則不能移動。當方塊不能繼續(xù)下落時,要判斷所有行是否有滿行,如果有則要消除所有的滿行,將剩下行整行下降,并給玩家適當加分。該游戲包含5 大功能:方塊預覽、等級設(shè)置、方塊移動、行滿消除、游戲幫助。
方塊預覽提示:因為下一個將要出現(xiàn)的方塊是隨機[4]的,所以設(shè)置了方塊預覽功能。玩家在移動控制當前的方塊時,可以在界面中看到下一個將要出現(xiàn)的方塊的形狀。這樣有利于玩家在下一個出現(xiàn)時第一時間做出反應(yīng)。
等級設(shè)置:如果游戲設(shè)置太快難度大的話,玩家會因為受挫而放棄;如果游戲太簡單可以一直玩下去,玩家會因為沒有挑戰(zhàn)而失去興趣。
方塊移動控制:方塊左右下和旋轉(zhuǎn)移動的前提有兩點:
(1)不出界;
(2)無方塊阻攔。
行滿消除:從下往上判斷,如果某一行滿行則先將該行擦除,再將上面行下移。
游戲幫助:如果玩家需要看游戲規(guī)則,會彈出按鍵使用說明。
方塊預覽提示:
當前方塊不能再移動時,將下一個方塊變成當前方塊,使用隨機函數(shù)確定一個隨機值,通過該隨機值確定下一個方塊,并在具體位置顯示。
好的玩家應(yīng)該掌握以下幾點:一次消除的行數(shù)越多越好、空洞數(shù)越少越好,堆的越低越好。游戲界面如圖1所示。
玩家為了使得界面更加整齊,可以根據(jù)界面的布局以及下一個方塊的預覽,通過按上鍵來調(diào)整方塊的形狀。如圖2 中的F 方塊有4 種形狀可以變化。圖3 為變化后的一種情況。
當游戲結(jié)束時,會根據(jù)用戶的得分給出相應(yīng)的等級,分別為A+,A,B,C。如圖4所示。
圖1:游戲界面
圖2:形狀變換前
圖3:形狀變換后
圖4:結(jié)束界面
通過該游戲的設(shè)計與開發(fā),能夠讓開發(fā)者更熟練的掌握C 語言中的數(shù)組、循環(huán)、函數(shù)等知識點。在開發(fā)的過程中也遇到了很多問題,由于需求分析階段沒有打下很好的基礎(chǔ),導致在后期開發(fā)的過程中出現(xiàn)了很多問題。通過該游戲的開發(fā),更熟練的掌握了項目開發(fā)的流程。