俄羅斯方塊游戲開發(fā)實(shí)習(xí)報(bào)告.doc
《俄羅斯方塊游戲開發(fā)實(shí)習(xí)報(bào)告.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《俄羅斯方塊游戲開發(fā)實(shí)習(xí)報(bào)告.doc(6頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
本科中期實(shí)習(xí)報(bào)告 姓 名: 學(xué) 號: 專 業(yè): 軟件工程 院 系: 指導(dǎo)教師: 完成日期: 2013 年 12月 25 日 西安財(cái)經(jīng)學(xué)院教務(wù)處 制 實(shí)習(xí)報(bào)告名稱 《俄羅斯方塊》小游戲開發(fā)實(shí)習(xí)報(bào)告 實(shí)習(xí)時(shí)間 2013年11月30日至 2013年12月21日 共 3 周 實(shí)習(xí)地點(diǎn) 實(shí)驗(yàn)樓 軟件實(shí)驗(yàn)室 指導(dǎo)教師 李秀娟 職稱 講師 二級學(xué)院、系 信息學(xué)院 軟件工程系 實(shí)習(xí)內(nèi)容(后附實(shí)習(xí)報(bào)告) 俄羅斯方塊是個(gè)老幼皆宜的小游戲,它的實(shí)現(xiàn)由四塊正方形的色塊組成,然后存儲(chǔ)在一個(gè)數(shù)組的元素中,計(jì)算機(jī)隨機(jī)產(chǎn)生不同類型的方塊,根據(jù)計(jì)算機(jī)時(shí)鐘控制它以一定的速度下落,用戶根據(jù)鍵盤的四個(gè)方向鍵控制翻轉(zhuǎn)、向左、向右和向下操作,當(dāng)出現(xiàn)滿行的情況時(shí)將自動(dòng)消除并計(jì)算分?jǐn)?shù)。游戲最后由玩家的得分來評判水平的高低。 在實(shí)習(xí)中我們通過屏幕的繪制、時(shí)間的控制、鍵盤的讀取、數(shù)據(jù)的處理四個(gè)方面來實(shí)現(xiàn)俄羅斯方塊的開發(fā)。 指 導(dǎo) 教 師 評 語 及成績 成績: 簽字(蓋章): 年 月 日 系意見 簽字(蓋章): 年 月 日 《俄羅斯方塊》小游戲開發(fā)實(shí)習(xí)報(bào)告 俄羅斯方塊是個(gè)老幼皆宜的小游戲,它的實(shí)現(xiàn)由四塊正方形的色塊組成,然后存儲(chǔ)在一個(gè)數(shù)組的元素中,計(jì)算機(jī)隨機(jī)產(chǎn)生不同類型的方塊,根據(jù)計(jì)算機(jī)時(shí)鐘控制它以一定的速度下落,用戶根據(jù)鍵盤的四個(gè)方向鍵控制翻轉(zhuǎn)、向左、向右和向下操作,當(dāng)出現(xiàn)滿行的情況時(shí)將自動(dòng)消除并計(jì)算分?jǐn)?shù)。游戲最后由玩家的得分來評判水平的高低。 在實(shí)習(xí)中我們通過屏幕的繪制、時(shí)間的控制、鍵盤的讀取、數(shù)據(jù)的處理和消除主游戲區(qū)底部填滿的行幾個(gè)方面來實(shí)現(xiàn)俄羅斯方塊的開發(fā)。 一、實(shí)習(xí)目的 中期實(shí)習(xí)是大學(xué)教育一個(gè)極為重要的實(shí)踐性教學(xué)環(huán)節(jié)。我們通過開發(fā)一個(gè)俄羅斯方塊游戲,深入理解、掌握、運(yùn)用老師所傳授知識,進(jìn)一步深化專業(yè)知識,增強(qiáng)感性認(rèn)識,培養(yǎng)我們綜合運(yùn)用所學(xué)的基礎(chǔ)理論、基本技能和專業(yè)知識;鍛煉我們獨(dú)立分析和解決實(shí)際問題的能力。在實(shí)習(xí)中教會(huì)我們把理論和實(shí)踐結(jié)合起來,提高實(shí)踐動(dòng)手能力,為我們畢業(yè)后走上工作崗位打下一定的基礎(chǔ)。通過中期實(shí)習(xí),我們可以了解軟件行業(yè)基本情況,從整體項(xiàng)目設(shè)計(jì)和建模開始,了解游戲軟件的需求、分析游戲軟件的功能、進(jìn)而構(gòu)建游戲軟件的構(gòu)架;同時(shí)可以檢驗(yàn)教學(xué)效果,為進(jìn)一步提高教育教學(xué)質(zhì)量,培養(yǎng)合格人才積累經(jīng)驗(yàn),并為自己能順利與社會(huì)環(huán)境接軌做準(zhǔn)備。 二、實(shí)習(xí)內(nèi)容 (一)俄羅斯方塊的基本規(guī)則 1、游戲方塊預(yù)覽功能。在游戲過程中,當(dāng)在游戲底板中出現(xiàn)一個(gè)游戲方塊時(shí),必須在游戲方塊預(yù)覽區(qū)域中出現(xiàn)下一個(gè)游戲方塊。由于在此游戲中存在7種不同的游戲方塊,所以在游戲方塊預(yù)覽區(qū)域中需要顯示隨機(jī)生成的游戲方塊。 2、游戲方塊控制功能。通過各種條件的判斷,實(shí)現(xiàn)對游戲方塊的左移、右移、快速下移、自由下落、旋轉(zhuǎn)功能,以及行滿消除行的功能。 (二)開發(fā)環(huán)境 在中期實(shí)習(xí)中,整個(gè)游戲是在linux環(huán)境下進(jìn)行開發(fā)的。 嵌入式linux是將日益流行的Linux操作系統(tǒng)進(jìn)行裁剪修改,使之能在嵌入式計(jì)算機(jī)系統(tǒng)上運(yùn)行的一種操作系統(tǒng)。嵌入式linux既繼承了Internet上無限的開放源代碼資源,又具有嵌入式操作系統(tǒng)的特性。嵌入式Linux的特點(diǎn)是版權(quán)費(fèi)免費(fèi);購買費(fèi)用媒介成本技術(shù)支持全世界的自由軟件開發(fā)者提供支持網(wǎng)絡(luò)特性免費(fèi),而且性能優(yōu)異,軟件移植容易,代碼開放,有許多應(yīng)用軟件支持,應(yīng)用產(chǎn)品開發(fā)周期短,新產(chǎn)品上市迅速,因?yàn)橛性S多公開的代碼可以參考和移植,實(shí)時(shí)性能RT_Linux Hardhat Linux 等嵌入式Linux支持,實(shí)時(shí)性能穩(wěn)定性好、安全性好。 (3) 俄羅斯方塊的實(shí)現(xiàn)方法 在為期四天的實(shí)習(xí)中,我們在郭老師的帶領(lǐng)下從零開始,運(yùn)用所學(xué)過的知識和新的概念、方法,自己動(dòng)手設(shè)計(jì)了俄羅斯方塊小游戲,體驗(yàn)了一次小游戲開發(fā)的完整過程。游戲的設(shè)計(jì)分四個(gè)模塊進(jìn)行。 1、屏幕的繪制 在屏幕的繪制中,首先應(yīng)該修改屏幕的顏色,我們學(xué)習(xí)到修改代碼為 \33[nm,其中n 為(30-37)修改的為背景色,n為(40-47)修改的為前景色。其次,要定義一個(gè)方塊類,將生成的小方塊放入其中。還沒學(xué)習(xí)之前,我很疑惑那些小方塊是怎樣生成的,而郭老師巧妙的將前景色和背景色設(shè)置為同一種顏色,這樣,一個(gè)字符顯示在屏幕上就是一個(gè)小方塊。 2、時(shí)間的控制 控制方塊的下落速度是設(shè)計(jì)中必須實(shí)現(xiàn)的功能,方塊的下落速度也就是時(shí)間間隔,因此我們只需定義一個(gè)時(shí)間類,設(shè)置好時(shí)間間隔即可。其次,我們也需要控制屏幕的刷新速度,而刷新速度必須比方塊下落時(shí)間間隔快。因此,如何在一個(gè)程序中體現(xiàn)兩種不同的時(shí)間控制是此模塊的一個(gè)難點(diǎn)。在郭老師的指導(dǎo)下,我們通過一個(gè)while語句很好的解決了這個(gè)問題。 while(1){ ftime(&ctm); if(ctm.time * 1000 + ctm.millitm - ptm.time*1000-ptm.millitm > 1000){ timer(); ptm = ctm; } 3、鍵盤的讀取 我們需要對鍵盤中上、下、左、右鍵的讀取實(shí)現(xiàn)對方塊的變形、下落、右移和右移的功能。在此模塊中,我們用到了第三方庫中定義的方法。 4、數(shù)據(jù)的處理 在第四個(gè)模塊中,我們主要處理三個(gè)數(shù)據(jù)。 (1)方塊的下落,相應(yīng)鍵盤:需要判斷下鍵是否按下,并加快時(shí)鐘周期。完成下落后,還原到原來的時(shí)鐘周期。 (2)形狀的下落, 實(shí)現(xiàn)旋轉(zhuǎn):不同旋轉(zhuǎn)角度顯示不同方向的方塊來完成的。所以程序要控制方塊的旋轉(zhuǎn)方向,只要控制顯示哪副圖就可以了。 (3)消去主游戲區(qū)底部填滿的行:查看主游戲區(qū)底部的每行是否填滿的方式是,遍歷主游戲區(qū)的二維數(shù)組,判斷每行的所有方格的flag表示是否都為1,都為1時(shí),表示圖形都填滿了,這時(shí)可以消除填滿的行了。 三、實(shí)習(xí)總結(jié) 中期實(shí)習(xí)是培養(yǎng)我們綜合運(yùn)用所學(xué)知識、發(fā)現(xiàn)、提出、分析和解決實(shí)際問題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對我們實(shí)際工作能力的具體訓(xùn)練和考察過程。回顧起中期實(shí)習(xí),至今我仍感慨頗多,在這為期四天的日子里,可以說得是苦多于甜,但是我們的收獲也是頗豐的。 首先,我們不僅鞏固了以前所學(xué)過的知識,而且學(xué)到了很多在書本上所沒有學(xué)到過的知識。俄羅斯方塊是經(jīng)典游戲,也是每一個(gè)程序員必須會(huì)編寫的程序之一,但是編程就像寫文章,不同的人有不同的看法,實(shí)現(xiàn)的算法也就不盡相同。通過編寫這個(gè)小游戲,我學(xué)會(huì)了將實(shí)際問題抽象成程序。比如對方快存儲(chǔ)結(jié)構(gòu)體的定義,方塊編寫前后的聯(lián)系,以及最后極端情況的調(diào)試。在這個(gè)程序中,有幾個(gè)函數(shù)是我初次使用,以前也不知道那些函數(shù)。C提供了豐富的庫函數(shù),熟練掌握那些函數(shù),是對一個(gè)優(yōu)秀程序員基本的要求,我們要通過大量的實(shí)踐來熟悉這些函數(shù)。 其次,在整個(gè)開發(fā)的過程中,我明白學(xué)習(xí)來不得馬虎,一個(gè)微小的疏忽可能導(dǎo)致致命的錯(cuò)誤,雖然經(jīng)歷了很多次失敗的,但在失敗中我們成長。通過查閱資料讓我知道了許多未探索的知識,團(tuán)隊(duì)的合作更讓我們理解到人多力量大的道理,而老師的諄諄教導(dǎo)也讓我受益匪淺。 另外,這次中期實(shí)習(xí)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。我們在實(shí)習(xí)過程中遇到很多問題,可以說得上是困難重重,這畢竟第一次做的,難免會(huì)遇到過各種各樣的問題,同時(shí)在實(shí)習(xí)的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固。通過中期實(shí)習(xí)之后,把以前所學(xué)過的知識重新溫故。 最后,也是最重要的一點(diǎn),在這次俄羅斯方塊小游戲的設(shè)計(jì)中,我發(fā)覺了團(tuán)隊(duì)合作的重要性。當(dāng)你為程序中一個(gè)小錯(cuò)誤找不出而急的焦頭爛額時(shí),也許隊(duì)友很快就能幫你找出錯(cuò)誤;當(dāng)你思考的問題進(jìn)入瓶頸難以進(jìn)展時(shí),可能隊(duì)友的一個(gè)觀點(diǎn)就讓你豁然開朗。一個(gè)人能力與思維方式畢竟是局限的,通過團(tuán)隊(duì)合作,我們可以集思廣益,共同進(jìn)步。 這次課程設(shè)計(jì)終于順利完成了,在設(shè)計(jì)中遇到了很多編程問題,最后在老師的指導(dǎo)下,終于迎刃而解。在此我表示感謝。今后步入社會(huì)的日子里,我會(huì)更加努力的學(xué)習(xí)。- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 俄羅斯方塊 游戲 開發(fā) 實(shí)習(xí) 報(bào)告
鏈接地址:http://www.820124.com/p-9063647.html