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