vc++程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告-俄羅斯方塊游戲

vc++程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告-俄羅斯方塊游戲

ID:6364481

大?。?06.00 KB

頁數(shù):24頁

時間:2018-01-11

vc++程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告-俄羅斯方塊游戲_第1頁
vc++程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告-俄羅斯方塊游戲_第2頁
vc++程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告-俄羅斯方塊游戲_第3頁
vc++程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告-俄羅斯方塊游戲_第4頁
vc++程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告-俄羅斯方塊游戲_第5頁
資源描述:

《vc++程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告-俄羅斯方塊游戲》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫

1、西安科技大學(xué)計(jì)算機(jī)學(xué)院VC++程序設(shè)計(jì)實(shí)驗(yàn)報(bào)告題目俄羅斯方塊游戲?qū)W號0808030405專業(yè)及班級計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)0804班姓名日期2010/11/2524實(shí)驗(yàn)?zāi)康谋緦?shí)驗(yàn)的目的是綜合前面所學(xué)的知識,參考實(shí)驗(yàn)指導(dǎo)書的知識,開發(fā)一個俄羅斯游戲。一、設(shè)計(jì)思路1.游戲說明及規(guī)則Tetris游戲在一個m*n的矩形框內(nèi)進(jìn)行。游戲開始時,矩形框的頂部會隨機(jī)出現(xiàn)一個由四個小方塊構(gòu)成的磚塊,每過一個很短時間(我們稱這個時間為一個tick),它就會下落一格,直到它碰到矩形框的低部,然后再過一個tick它就會固定在矩形框的底部,成為固定塊。接著再過一個tick頂部又會現(xiàn)一個隨機(jī)形狀,同樣

2、每隔一個tick都會下落,直到接觸到底部或者接觸到下面的固定塊時,再過一個tick它也會成為固定塊,再過一個tick之后會進(jìn)行檢查,發(fā)現(xiàn)有充滿方塊的行則會消除它,同時頂部出現(xiàn)下一個隨機(jī)形狀。直到頂部出現(xiàn)的隨機(jī)形狀在剛出現(xiàn)時就與固定塊重疊,表示游戲結(jié)束。操作說明:光標(biāo)左鍵—左移光標(biāo)右鍵—右移光標(biāo)上鍵—翻轉(zhuǎn)光標(biāo)下鍵—下移2.Tetris的游戲分析,設(shè)計(jì)與實(shí)現(xiàn)(1)Tetris游戲的矩形框類—CBin首先我們應(yīng)該描述Tetris游戲的矩形框。這里我們定義一個CBin類描述Tetris游戲的矩形框。對矩形框進(jìn)行分析,它應(yīng)該有三個私有的數(shù)據(jù)成員為:image,width和heig

3、ht.Cbin類將Tetris游戲的矩形框描述成為一個二維數(shù)組image,變量width和height存儲了image的維數(shù)。接下來為CBin類添加五個成員函數(shù):構(gòu)造函數(shù):CBin(unsignedintw,unsignedinth),析構(gòu)函數(shù):~Cbin(),voidgetImage(unsignedchar**destImage),voidsetImage(unsignedchar**srcImage),unsignedintremoveFullIines().然后分別在bin.h和bin.cpp中完成Cbin類的定義和函數(shù)實(shí)現(xiàn)。(2)Tetris游戲的磚塊類:第一

4、步:建立類:CIBrick,CLBrick,CSBrick,CTBrick,CFSBrick,CFLBrick,COBrick,它們的基類都是CBrick類。它們都有有四個數(shù)據(jù)成員:orientation,posX,posy,colour.Orientation表示”1”磚塊的四個狀態(tài),可能取值為{0,1,2,3},由狀態(tài)0到狀態(tài)1是”1”磚塊固定一個特定點(diǎn)順時針旋轉(zhuǎn)90度.依次類推,狀態(tài)3的下一個狀態(tài)是狀態(tài)0.posX,posy記錄了特定點(diǎn)的坐標(biāo),colour為磚塊的顏色值.為CIBrick重載7個虛構(gòu)函數(shù):intshifLeft(CBin*bin),intshifR

5、ight(CBin*bin),24intshifDown(CBin*bin),introtateClockwise(CBin*bin),intcheckCollision(CBin*bin),voidoperator>>(unsignedchar**binImage),voidputAtTop(unsignedintnewOrient,unsignedintnewPosX).第二步:仿照CIBrick,完成CLBrick,CSBrick,CTBrick,CFSBrick,CFLBrick,COBrick類的實(shí)現(xiàn),同樣將類定義代碼寫在brick.h文件中,類實(shí)現(xiàn)代碼寫在b

6、rick.h文件中.3.進(jìn)一步完善(1)實(shí)現(xiàn)磚塊的三維化在試圖類定義(NewTetrisView.h)中添加兩個公有的成員函數(shù)聲明。在視圖類的實(shí)現(xiàn)文件(NewTetrisView.cpp)中,添加這兩個函數(shù)的實(shí)現(xiàn)代碼。修改試圖類的DrawImage函數(shù),添加代碼。(2)使用雙緩沖技術(shù)解決屏幕閃爍修改視圖類的OnDraw函數(shù)。修改視圖類的DrawImage函數(shù)。4.背景音樂的實(shí)現(xiàn)。一、代碼實(shí)現(xiàn)(代碼省略部分參照實(shí)驗(yàn)指導(dǎo)書)1.然后分別在bin.h和bin.cpp中完成Cbin類的定義和函數(shù)實(shí)現(xiàn):在文件bin.h中添加三個成員變量和六個成員函數(shù)并初始化(代碼省略)unsig

7、nedchar**imgage;unsignedintwidth;unsignedintheight;CBin(unsignedintw,unsignedinth);~CBin();unsignedintgetWidth(){returnwidth;};unsignedintgetHeight(){returnheight;};voidgetImage(unsignedchar**destImage);voidsetImage(unsignedchar**srcImage);unsignedintremoveFullLines();};(

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。