資源描述:
《flash俄羅斯方塊項(xiàng)目說明》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、數(shù)學(xué)與計(jì)算機(jī)學(xué)院課程設(shè)計(jì)說明書課程名稱:Flash游戲程序設(shè)計(jì)課程代碼:題目:俄羅斯方塊年級(jí)/專業(yè)/班:2012級(jí)計(jì)科開始時(shí)間:2015年3月2日完成時(shí)間:2015年5月4日課程設(shè)計(jì)成績(jī):學(xué)習(xí)態(tài)度及平時(shí)成績(jī)(20)技術(shù)水平與實(shí)際能力(20)完成情況(20)創(chuàng)新(5)說明書(計(jì)算書、圖紙、分析報(bào)告)撰寫質(zhì)量(35)總分(100)22目錄一、系統(tǒng)分析與總體設(shè)計(jì)21需求分析32總體設(shè)計(jì)3二、系統(tǒng)實(shí)現(xiàn)與調(diào)試71算法分析7三、程序代碼13四、總結(jié)21五、分工22一、系統(tǒng)分析與總體設(shè)計(jì)1需求分析俄羅斯方塊是一個(gè)比較簡(jiǎn)單的游戲。它游戲過程僅需要玩家將不斷下落的各種
2、形狀的方塊移動(dòng)、翻轉(zhuǎn),如果某一行被方塊充滿了,那就將些行消掉;而當(dāng)窗口中無法再容納下落的方塊時(shí),就宣告游戲的結(jié)束。游戲的需求分析如下:界面設(shè)計(jì)需求:(1)實(shí)驗(yàn)功能需求雖需要的按鈕(2)顯示積分和等級(jí)的文本(3)下一個(gè)方塊下落提示界面,需要用不同的顏色表示(4)游戲運(yùn)行界面功能需求:(1)實(shí)現(xiàn)各種方塊的生產(chǎn),包括形狀和顏色等信息;(2)實(shí)現(xiàn)各個(gè)方塊的上下左右移動(dòng)和旋轉(zhuǎn)的功能(鼠標(biāo)操作和鍵盤操作)。(3)實(shí)現(xiàn)消行的功能;(4)實(shí)現(xiàn)得分的統(tǒng)計(jì)功能;(5)實(shí)現(xiàn)開始,暫停,結(jié)束等功能;2總體設(shè)計(jì)2.1系統(tǒng)總體功能設(shè)計(jì)22首先需要對(duì)俄羅斯方塊的設(shè)計(jì)和功能需求進(jìn)行
3、詳細(xì)的了解和分析,一個(gè)具有功能完全滿足基本需要的系統(tǒng)需要包括以下幾個(gè)功能模塊。如圖1-1所示是俄羅斯方塊總體設(shè)計(jì)功能圖。圖1-1俄羅斯方塊總體設(shè)計(jì)功能圖2.2游戲界面設(shè)計(jì)游戲界面設(shè)計(jì)包括:游戲界面的布局,包括開始界面,游戲顯示界面,下一個(gè)方塊下落是界面,積分和等級(jí)記錄界面等。如圖1-2所示,游戲界面設(shè)計(jì)圖:2222圖1-2游戲界面設(shè)計(jì)圖2.3操作設(shè)計(jì)操作設(shè)計(jì)包括:①游戲開始結(jié)束暫停操作設(shè)計(jì):在游戲開始界面上有開始按鈕,用鼠標(biāo)操作,選擇是否要進(jìn)入游戲。②方塊形狀轉(zhuǎn)換操作:良好的方塊形狀設(shè)計(jì),繪制七種常見的基本圖形(長(zhǎng)條形、Z字形、反Z形、田字形、7字形
4、、反7形、T字型),各個(gè)方塊要能實(shí)現(xiàn)它的變形,可設(shè)為順時(shí)針或逆時(shí)針變形,一般為逆時(shí)針。如表1-1所示俄羅斯方塊定位點(diǎn)設(shè)置表俄羅斯方塊定位點(diǎn)設(shè)置,以黑色點(diǎn)為(0,0)坐標(biāo)狀態(tài)類型12341234567表1-1俄羅斯方塊方塊形狀圖鍵盤處理事件:方塊下落時(shí),可通過鍵盤方向鍵(上、下、左、右鍵)對(duì)該方塊進(jìn)行向上(變形),向下(加速)、向左、向右移動(dòng)。22③消行操作:當(dāng)方塊落到游戲界面最底部并且鋪滿最后一行,就能消去所在這一行,積分增加10分,消2行30分,消3行60分,消4行100分,而積分增加到一定數(shù)值時(shí),玩家等級(jí)增加。④積分等級(jí)記錄設(shè)計(jì):隨著玩家對(duì)游戲的
5、熟悉程度,對(duì)游戲的掌握程度,當(dāng)玩家進(jìn)行操作所消的行數(shù)越多,積分增加得越多,玩家等級(jí)也隨之增加。2.4流程圖22圖2-2程序流程圖一、系統(tǒng)實(shí)現(xiàn)與調(diào)試1.方塊產(chǎn)生代碼//先建立180個(gè)小方塊角色備用for(i=0;i<180;i++){_root.attachMovie("Block","b"+i,i);}22//定義方塊邊長(zhǎng)varblockWidth=16;//存放各種旋轉(zhuǎn)角度及各種方塊形狀的數(shù)組varBlockSet=newArray();//******長(zhǎng)條形TempArray=newArray();TempArray.push([[-2,0],[
6、-1,0],[0,0],[1,0]]);TempArray.push([[0,-2],[0,-1],[0,0],[0,1]]);TempArray.push([[-1,0],[0,0],[1,0],[2,0]]);TempArray.push([[0,-1],[0,0],[0,1],[0,2]]);//將長(zhǎng)條形數(shù)據(jù)推入BlockSet數(shù)組BlockSet.push(TempArray);//******田字形TempArray=newArray();TempArray.push([[0,0],[1,0],[0,1],[1,1]]);TempArray
7、.push([[0,0],[1,0],[0,1],[1,1]]);TempArray.push([[0,0],[1,0],[0,1],[1,1]]);TempArray.push([[0,0],[1,0],[0,1],[1,1]]);BlockSet.push(TempArray);//T字形TempArray=newArray();TempArray.push([[0,-1],[-1,0],[0,0],[1,0]]);TempArray.push([[0,-1],[0,0],[1,0],[0,1]]);TempArray.push([[-1,0],
8、[0,0],[1,0],[0,1]]);TempArray.push([[0,-1],[-1,0],[0,0