蘭州交通大學(xué)C++俄羅斯方塊程序設(shè)計(共22頁).doc
《蘭州交通大學(xué)C++俄羅斯方塊程序設(shè)計(共22頁).doc》由會員分享,可在線閱讀,更多相關(guān)《蘭州交通大學(xué)C++俄羅斯方塊程序設(shè)計(共22頁).doc(22頁珍藏版)》請在匯文網(wǎng)上搜索。
1、精選優(yōu)質(zhì)文檔-傾情為你奉上 課 程 設(shè) 計 課程名稱: 課題名稱: 班 級: 完成人: 指導(dǎo)教師: 一、設(shè)計目的 熟練掌握函數(shù)的利用,結(jié)合循環(huán)結(jié)構(gòu)、數(shù)組、結(jié)構(gòu)體還有點指針與文件,并且進(jìn)一步掌握和利用C語言進(jìn)行設(shè)計的能力,練習(xí)并且積累經(jīng)驗逐漸培養(yǎng)編程能力。二、系統(tǒng)的功能分析2.1游戲需求 隨機(jī)給出不同的形狀(長條形、Z字形、反Z形、田字形、7字形、反7形、T字型)下落填充給定的區(qū)域,若填滿一條便消掉,記分,當(dāng)達(dá)到一定的分?jǐn)?shù)時,過關(guān),每關(guān)方塊下落的速度不同,若在游戲中各形狀填滿了給定區(qū)域,為輸者。2.2游戲界面需求:良好的用戶界面,以鍵盤操作,有關(guān)數(shù)顯示和分?jǐn)?shù)顯示。讓方塊在一定的區(qū)域內(nèi)運(yùn)動和變形,
2、并且顯示下一個即將出現(xiàn)的方塊。2.3游戲形狀(方塊)需求:良好的方塊形狀設(shè)計,繪制七種常見的基本圖形(長條形、Z字形、反Z形、田字形、7字形、反7形、T字型),各個方塊要能實現(xiàn)它的變形,可設(shè)為順時針或逆 時針變形,一般為逆時針。三、系統(tǒng)的程序設(shè)計與實現(xiàn)必須包括:1.系統(tǒng)的運(yùn)行環(huán)境Win-TC2.開發(fā)環(huán)境(用什么語言或集成開發(fā)環(huán)境)C語言3.系統(tǒng)的詳細(xì)設(shè)計3.3.1獲取鍵盤輸入? 在Tc2.0中有一個處理鍵盤輸入的函數(shù)bioskey(); int bioskey(int cmd); 當(dāng)cmd為1時,bioskey()檢測是否有鍵按下。沒有鍵
3、按下時返回0;有鍵按下時返回按鍵碼(任何按鍵碼都不為0),但此時并不將檢測到的按 鍵碼從鍵盤緩沖隊列中清除。 當(dāng)cmd為0時,bioskey()返回鍵盤緩沖隊列中的按鍵碼,并將此按鍵碼從鍵盤緩沖隊列中清除。如果鍵盤緩沖隊列為空,則一直等到有鍵按 下,才將得到的按鍵碼返回。 3.3.2怎樣控制方塊的移動方塊移動的實現(xiàn)很簡單,將方塊原來的位置用背景色畫一個同樣大小的方塊,將原來的方塊涂去。然后在新的位置上重新繪制方塊就可以 了。3.3.3怎樣控制時間間隔(用于游戲中控制形狀的下落) 解決這個問題要用到時鐘中斷。時鐘中斷大約每秒鐘發(fā)生18.2次
4、。截獲正常的時鐘中斷后,在處理完正常的時鐘中斷后,將一個計時變量 加1。這樣,每秒鐘計時變量約增加18。需要控控制時間的時候,只需要看這個計時變量就行了。 3.3.4游戲中的各種形狀及整個游戲空間-1 0 1 2 -3 -2 -1 0 所有的各種形狀都可以放在4x4的格子里。假定第二列,第四行的格子坐標(biāo)為(0,0)(如上圖中黑塊所示),則每個形狀的四個方塊都可以用4 個數(shù)對來表示。坐標(biāo)x從左向右依次增加,y從上到下依次增加。表示的時候,組成該形狀的四個方塊從左到右,從上到
5、下(不一定非要按這個順 序)。如上面七種形狀的第一個用數(shù)對來表示就是(-2,0)、(-1,0)、(0,0)、(1,0)。結(jié)構(gòu)shape中的xy就是用來表示這4個數(shù)對的。為了簡化程序,用一維數(shù)組xy8來表示。xy0、xy1表示第一個數(shù)對,xy2、xy3表示第二個數(shù)對,依次類推。 shape中的color表示形狀的顏色,不同的形狀有不同的顏色。七種形狀及它們旋轉(zhuǎn)后的變形體一共有19種形狀,用一個全局?jǐn)?shù)組表示。假定旋轉(zhuǎn)的方向是逆時針方向(順時針方向道理一樣)。shape中的next就表示當(dāng)前形狀逆時針旋轉(zhuǎn)后的下一個形狀的序號。例如:第一種形狀及其旋 轉(zhuǎn)變形的形狀用
6、結(jié)構(gòu)表示如下。 游戲空間指的是整個游戲主要的界面實際上是一個寬10格子、高20格子的 游戲板。用一個全局?jǐn)?shù)組board1222表示。表示的時候:boardxy為1時表示游戲板上(x,y)這個位置上已經(jīng)有方塊占著了,boardxy 為0表示游戲板上這位置還空著。為了便于判斷形狀的移動是否到邊、到底,初始的時候在游戲板的兩邊各加一列,在游戲板的下面加一行,全
- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
20 積分
下載 | 加入VIP,下載共享資源 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 蘭州 交通大學(xué) C+ 俄羅斯方塊 程序設(shè)計 22