版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 前 言</b></p><p> 俄羅斯方塊游戲是一款風(fēng)靡全球的電視游戲機(jī)和掌上游戲機(jī)產(chǎn)品,它曾經(jīng)造就了無與倫比的商業(yè)價(jià)值,影響了一代游戲產(chǎn)業(yè)鏈。這款游戲的最初是由蘇聯(lián)的游戲制作人Alex Pajitnov制作的,它看似簡單但卻變化無窮,令人上癮,而且引發(fā)無數(shù)遐想。相信廣大讀者都還記得為它如癡如醉、茶不思飯不想的那個(gè)時(shí)代。</p><p&g
2、t; 隨著信息社會日新月異的發(fā)展,計(jì)算機(jī)已經(jīng)普及到人們的日常生活中。為了使用戶在繁忙的日長工作中的得到放松,于是出現(xiàn)了各種各樣的休閑工具,如聊天工具,休閑游戲等。《俄羅斯方塊》作為一款經(jīng)典的休閑游戲在該游戲新鮮出爐時(shí)就顯得非常直觀,雖然經(jīng)過了大量的變形和更改,但游戲的核心依然保持不變。</p><p> 這個(gè)小游戲在Visual Studio 2005 的環(huán)境下開發(fā)的,從而了解使用Visual Studio
3、2005 集成開發(fā)環(huán)境來迅速創(chuàng)建小型簡單游戲的方法。在開發(fā)中我們可以體驗(yàn)到C#在開發(fā)界面軟件程序或者游戲程序方面所具有的強(qiáng)大功能,利用其可視化的編程方式可以很輕松地創(chuàng)建簡單的游戲界面。同時(shí)它還提供了相當(dāng)優(yōu)秀的代碼編輯,調(diào)試,向?qū)?,編譯和可視化資源編輯等功能,這些強(qiáng)大的功能使它成為當(dāng)今世界最好的系統(tǒng)開發(fā)工具之一。</p><p><b> 摘 要</b></p><p&g
4、t; 俄羅斯方塊游戲,從俄羅斯人阿萊克斯帕伊特諾夫在八十年代末制作成功以來,以其規(guī)則簡單,容易上手,游戲過程變化無窮,且能在娛樂中益智等特點(diǎn),它已經(jīng)成為一個(gè)家喻戶曉,老少皆宜的大眾游戲。</p><p> 游戲?qū)崿F(xiàn)由四個(gè)方塊正方形的色塊組成,然后儲存在數(shù)組的四個(gè)元素中,計(jì)算機(jī)隨機(jī)產(chǎn)生不同七種類型的方塊。用戶根據(jù)鍵盤的四個(gè)方向鍵控制翻轉(zhuǎn)、向左、向右和向下操作(控制鍵的實(shí)現(xiàn)是由鍵盤的方向鍵的事件處理實(shí)現(xiàn))。然后程
5、序根據(jù)這七種方塊堆疊成各種不同的模型。從軟件問題定義開始,接著進(jìn)行可行性研究、需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì),最后對軟件進(jìn)行了測試,整個(gè)開發(fā)過程貫穿軟件開發(fā)的知識體系。這款游戲具有豐富的游戲操作功能,用戶可以根據(jù)自己的操作水平和喜好進(jìn)行相應(yīng)的游戲操作設(shè)置,從而不僅游戲初學(xué)者也能從中享受到成功的快樂,即便高水平的玩家也能品嘗到挑戰(zhàn)的刺激。該游戲在Visual Studio 2005 環(huán)境中使用C#開發(fā)實(shí)現(xiàn)。C#是基于面向?qū)ο蟮拈_發(fā)設(shè)計(jì)的編程
6、語言,面向?qū)ο蟮拈_發(fā)在近年已廣為普及,成為軟件開發(fā)最基本的方法。Visual Studio 2005 作為當(dāng)前功能最為強(qiáng)大的可視化集成開發(fā)環(huán)境,它不僅支持傳統(tǒng)的軟件開發(fā)方法,更重要的是它能支持可視化的開發(fā)風(fēng)格。</p><p> 關(guān)鍵詞:俄羅斯方塊,面向?qū)ο?,集成開發(fā)環(huán)境</p><p><b> Abstract</b></p><p>
7、 In the 1980s, a Russian named Alex Pajitnov designed and developed the Tetris game .After that the Tetris game has become a well-known and all age’s game because of its simple roles, easy controlling and changeable gam
8、ing process .The Tetris game that I designed allows you to play the game in your own way. I designed the Tetris game ,then save in one four chemical elements of the piece set ,random creation dissimilarity of calculator
9、seven the square piece of the category type control it. </p><p> The customer is inside out according to four directions key control of the keyboard, to left, rightwards and get down the operation (the real
10、ization of the control key is to carry out by the event handling of the direction key of the keyboard),then the procedure pileds according to these seven kinds of square pieces various different model .Definition begins
11、from software problem ,proceed to carry out feasibility study ,need analysis ,essentials design ,detailed design ,the at last has carried o</p><p> Key words: Tetris, OOP, IDE</p><p><b>
12、 目 錄</b></p><p><b> 前 言I</b></p><p><b> 摘 要II</b></p><p> AbstractIII</p><p><b> 目 錄IV</b></p><p><b&g
13、t; 第一章 緒論1</b></p><p> 1.1課題背景及目的1</p><p> 1.2國內(nèi)外研究概況1</p><p> 1.3開發(fā)工具簡介1</p><p> 1.4研究的主要內(nèi)容2</p><p> 1.5研究方法、技術(shù)路線2</p><p>
14、 第二章 系統(tǒng)分析3</p><p> 2.1 研究可行性分析3</p><p> 2.1.1設(shè)計(jì)目的3</p><p> 2.1.2游戲面向的用戶群體3</p><p> 2.1.3可行性研究前提3</p><p> 2.1.4可行性分析3</p><p><b&g
15、t; 2.1.5結(jié)論3</b></p><p> 2.2 系統(tǒng)需求分析4</p><p> 2.2.1用戶界面需求4</p><p> 2.2.2軟硬件環(huán)境需求4</p><p> 2.2.3游戲質(zhì)量需求4</p><p> 第三章 系統(tǒng)說明5</p><p>
16、; 3.1游戲功能描述5</p><p> 3.2系統(tǒng)功能分析5</p><p> 3.3算法的描述和流程圖5</p><p> 3.4系統(tǒng)功能模塊圖6</p><p> 第四章 系統(tǒng)設(shè)計(jì)8</p><p> 4.1數(shù)據(jù)庫模塊設(shè)計(jì)及部分代碼8</p><p> 4.2數(shù)
17、據(jù)庫與界面之間的連接9</p><p> 4.3用戶登錄模塊設(shè)計(jì)及部分代碼9</p><p> 4.4管理員管理模塊設(shè)計(jì)及部分代碼12</p><p> 4.5成績排行模塊設(shè)計(jì)及部分代碼15</p><p> 4.6游戲窗體菜單項(xiàng)和控制按鈕模塊設(shè)計(jì)及部分代碼16</p><p> 第五章 軟件的測試
18、18</p><p> 5.1數(shù)據(jù)庫與界面之間連接測試18</p><p> 5.2用戶登錄模塊測試18</p><p> 5.3管理員管理模塊測試18</p><p> 5.4成績排行模塊測試18</p><p> 5.5游戲界面菜單選項(xiàng)和控制按鈕功能測試19</p><p&
19、gt;<b> 第六章 總結(jié)21</b></p><p><b> 參考文獻(xiàn)22</b></p><p><b> 致 謝23</b></p><p><b> 第一章 緒論</b></p><p> 1.1課題背景及目的</p>
20、;<p> 背景:俄羅斯方塊是一款風(fēng)靡全球的電視游戲機(jī)和掌上游戲機(jī)游戲,它曾經(jīng)造成的轟動與經(jīng)濟(jì)價(jià)值可以說是游戲史上的一件大事。這款游戲最是由蘇聯(lián)的游戲Alex Pajitnow制作的,它看似簡單卻變化無窮,令人著迷,相信大多數(shù)人都還記得為它的規(guī)則簡單,容易上手,且游戲過程變化無窮。而在“聯(lián)眾俄羅斯方塊”中,游戲人既能感受到游戲中的樂趣,也能提供一個(gè)展現(xiàn)自己高超技藝的場所,究其歷史,俄羅斯方塊最早還是出現(xiàn)在PC機(jī)上,無數(shù)人
21、進(jìn)入游戲編程的世界都是從編寫俄羅斯方塊游戲開始的,因?yàn)檫@是檢驗(yàn)一個(gè)人對開發(fā)語言,環(huán)境和基本數(shù)據(jù)結(jié)構(gòu)知識熟練程度的便捷途徑。Microsoft Visual Studio提供了開發(fā)Window應(yīng)用程序的最迅速,最簡捷的方法。不論Window應(yīng)用程序的資深專業(yè)開發(fā)人員還是初學(xué)者,Microsoft Visual Studio 都為他們提供了整套的工具,以便開發(fā)應(yīng)用程序。</p><p> 目的:在實(shí)現(xiàn)俄羅斯方塊的基
22、本游戲的前提下,優(yōu)化其算法與數(shù)據(jù)結(jié)構(gòu),并增加一些傳統(tǒng)游戲中沒有的新特點(diǎn),最終實(shí)現(xiàn)一款小巧精致的益智俄羅斯方塊游戲。本課題要求在.net平臺下采用C#實(shí)現(xiàn),圖形使用GDI,并增添一些傳統(tǒng)游戲沒有的新特點(diǎn),如用戶信息和分?jǐn)?shù)排行的數(shù)據(jù)庫,登錄界面的Flash動畫制作等。通過對本課題設(shè)計(jì)的實(shí)現(xiàn),能提高對熟悉.net開發(fā)環(huán)境,數(shù)據(jù)庫的運(yùn)用,F(xiàn)lash動畫制作。</p><p> 1.2國內(nèi)外研究概況</p>
23、<p> 俄羅斯方塊紅遍世界的各個(gè)角落,一個(gè)本來是吃大鍋飯的人在消極怠工的時(shí)候發(fā)明的娛樂工具成了造福全人類的寶貝,它的價(jià)值遠(yuǎn)遠(yuǎn)超越了開發(fā)時(shí)候的預(yù)想,這是一個(gè)算法實(shí)現(xiàn)的比較簡單,但又樂趣無窮的游戲。課題用C#實(shí)現(xiàn),這是一種基于面向?qū)ο蟮姆椒ㄕ艿饺澜缭絹碓綇?qiáng)烈的關(guān)注和高度重視,針對日趨復(fù)雜的軟件需求,業(yè)界也越來越崇尚利用面向?qū)ο蟮姆椒ê退枷脒M(jìn)行軟件開發(fā)。</p><p><b> 1.3
24、開發(fā)工具簡介</b></p><p> C#作為微軟在21世紀(jì)推出的新語言,有著其他語言無法比擬的優(yōu)勢。C#語言的應(yīng)用非常廣泛,在軟件行業(yè)的多個(gè)應(yīng)用領(lǐng)域中,它已成為基于.NET Framework解決方案的首選語言。C#作為一門新的程序設(shè)計(jì)語言,集中了C、C++和Java等語言的優(yōu)點(diǎn),是一門現(xiàn)代的、優(yōu)越的、具有廣闊發(fā)展前景的程序設(shè)計(jì)語言。</p><p> SQL Serv
25、er 2005是數(shù)據(jù)庫管理系統(tǒng),具備了通常數(shù)據(jù)庫管理系統(tǒng)最基本的功能。Microsoft SQL Server 是一種基于客戶機(jī)/服務(wù)器的關(guān)系型,一種基于數(shù)據(jù)庫管理系統(tǒng),用來對存放在計(jì)算機(jī)中的數(shù)據(jù)庫進(jìn)行組織、管理和檢索,它使用Transact-SQL 語言在檢索,它使用語言在服務(wù)器和客戶機(jī)之間傳送請求。</p><p> 1.4研究的主要內(nèi)容</p><p> 在整個(gè)俄羅斯方塊游戲項(xiàng)目
26、中,我負(fù)責(zé)數(shù)據(jù)庫模塊設(shè)計(jì),數(shù)據(jù)庫與界面之間的連接,用戶登錄模塊設(shè)計(jì),管理窗體中負(fù)責(zé)實(shí)現(xiàn)管理員對普通用戶進(jìn)行添加,修改,刪除的操作。在游戲窗體的界面中,負(fù)責(zé)窗體的菜單選項(xiàng)和可見控件的實(shí)現(xiàn)。最后是對軟件的用戶登錄、管理員管理操作、數(shù)據(jù)庫與界面之間的連接、成績排行、游戲界面菜單選項(xiàng)和課件控件分別進(jìn)行測試。研究主要內(nèi)容如圖1-1所示:</p><p> 圖1-1:研究的主要內(nèi)容</p><p>
27、 1.5研究方法、技術(shù)路線</p><p> 本課題完全按照課題要求實(shí)現(xiàn),在保持原有俄羅斯方塊規(guī)則不變的前提下,盡可能的提高游戲的樂趣。比如添加數(shù)據(jù)庫模塊,數(shù)據(jù)庫與C#連接,用戶登錄模塊,管理員對普通用戶進(jìn)行管理模塊等等。本設(shè)計(jì)在.net平臺下采用C#實(shí)現(xiàn)。創(chuàng)建數(shù)據(jù)庫,增加項(xiàng)目的復(fù)雜性,用兩個(gè)Label控件的疊加,可見性與不可見性來更改用戶權(quán)限。用Read()方法讀取數(shù)據(jù)庫表中數(shù)據(jù)。用SQL語句的插入、更新、
28、刪除更新數(shù)據(jù)等等。</p><p><b> 第二章 系統(tǒng)分析</b></p><p> 2.1 研究可行性分析</p><p><b> 2.1.1設(shè)計(jì)目的</b></p><p> 綜合運(yùn)用在校期間所學(xué)理論知識和技能,設(shè)計(jì)開發(fā)俄羅斯方塊,使自己熟悉應(yīng)用系統(tǒng)的開發(fā)過程,培養(yǎng)獨(dú)立思考能力,檢
29、驗(yàn)學(xué)習(xí)效果和動手能力,提高軟件實(shí)踐能力,為將來實(shí)際工作打下堅(jiān)實(shí)的基礎(chǔ)。</p><p> 2.1.2游戲面向的用戶群體</p><p> 游戲愛好者,休閑娛樂!</p><p> 2.1.3可行性研究前提</p><p> ?。?)系統(tǒng)開發(fā)的總體任務(wù)是實(shí)現(xiàn)游戲的可操作性、美觀性、及時(shí)性及適當(dāng)?shù)墓δ?lt;/p><p>
30、;<b> 擴(kuò)展。</b></p><p> (2)采用結(jié)構(gòu)化設(shè)計(jì)方法,開發(fā)出一個(gè)可操作性、美觀性、及時(shí)性的游戲,并通過此次軟件開發(fā)過程全面提高自身的綜合素質(zhì)。</p><p> (3)通過研究分析俄羅斯方塊所具備的能力及實(shí)現(xiàn)的方法、確定主體結(jié)構(gòu)。利用現(xiàn)階段所達(dá)到的能力,以最簡潔、最容易的辦法,邊開發(fā)邊測試邊修改,實(shí)現(xiàn)一個(gè)有一定可玩性的游戲軟件。</p&g
31、t;<p> ?。?)本游戲盡量追求游戲操作的合理性及正確性,但是仍不排除會出現(xiàn)一些偶然性的錯誤;同時(shí)游戲也盡量追求界面的美觀性及功能的豐富性,但是基于時(shí)間的關(guān)系,可能會有極少數(shù)的擴(kuò)展功能不能實(shí)現(xiàn)。</p><p> 2.1.4可行性分析</p><p> ?。?)管理可行性:本游戲設(shè)計(jì)的目的只在于提高自身實(shí)踐水平,并不對外發(fā)布,因此完全具有管理可行性。</p>
32、<p> ?。?)經(jīng)濟(jì)可行性:由于本游戲的主要背景是畢業(yè)課程設(shè)計(jì),不注重直接的經(jīng)濟(jì)效益和其后的發(fā)展方向,只在注重自身水平和能力的提高,對自身的經(jīng)濟(jì)要求也不高,只要有一臺電腦使用便可,所以不用考慮到經(jīng)濟(jì)問題。</p><p> (3)社會可行性:本游戲的開發(fā)作為畢業(yè)課程設(shè)計(jì)以鞏固先前所學(xué)的知識,以個(gè)人為單位,僅供個(gè)人平常娛樂所用,無須考慮有可能造成的社會社會影響,不用考慮到法律、版權(quán)等的社會因素,所
33、以在這方面是完全可行的。</p><p><b> 2.1.5結(jié)論</b></p><p> 綜上所述,本游戲軟件的技術(shù)成熟、完備。各方面均無重大問題,因此本游戲軟件可以開始著手編寫。</p><p> 2.2 系統(tǒng)需求分析</p><p> 2.2.1用戶界面需求</p><p> 用
34、戶界面需求,如表2-1所示:</p><p> 表2-1:用戶界面需求</p><p> 2.2.2軟硬件環(huán)境需求</p><p> 軟硬件環(huán)境需求,如表2-2所示:</p><p> 表2-2:軟硬件環(huán)境需求</p><p> 2.2.3游戲質(zhì)量需求</p><p> 游戲質(zhì)量需求
35、,如表2-3所示:</p><p> 表2-3:俄羅斯方塊質(zhì)量需求表</p><p><b> 第三章 系統(tǒng)說明</b></p><p><b> 3.1游戲功能描述</b></p><p> 對于俄羅斯方塊游戲,其功能描述如下:</p><p> ?。?)當(dāng)程序運(yùn)行
36、時(shí),出現(xiàn)登錄界面,填寫用戶名稱和密碼,正確后,管理員進(jìn)入管理界面,進(jìn)行添加、修改、刪除操作。普通用戶進(jìn)入主界面,進(jìn)行游戲。</p><p> ?。?)游戲開始,游戲區(qū)域上方不斷地出現(xiàn)預(yù)定義形狀的下墜物件。</p><p> (3)下墜物件可以通過旋轉(zhuǎn)改變其顯示形態(tài),并且不斷地往下墜,直到它接觸到游戲區(qū)域底部或其他之前已經(jīng)壘疊起的下墜物件。當(dāng)一個(gè)下墜物件到達(dá)底部后,其位置則確定下來并占有該
37、空間的位置區(qū)域。</p><p> ?。?)當(dāng)游戲區(qū)域的某一行被下墜物件完全填充,則消除該行的所有下墜物,壘在其上面的物件將掉下代替該行空間。</p><p> ?。?)游戲的結(jié)束是以下墜物件的頂部到達(dá)游戲區(qū)域的頂部作為判斷依據(jù),表示裝滿溢出。并且在某一瞬間,下一個(gè)方塊的形態(tài)在游戲區(qū)域的右上方有預(yù)先提示,同時(shí)每抵消一行空間積分自增。</p><p><b>
38、; 3.2系統(tǒng)功能分析</b></p><p> 俄羅斯方塊游戲?qū)V大讀者來說應(yīng)該并不陌生,所以本項(xiàng)目實(shí)例的主要功能就是控制游戲的運(yùn)行,實(shí)現(xiàn)游戲的完整運(yùn)行。具體來說,主要包括如下功能模塊:</p><p> ?。?)數(shù)據(jù)庫與界面之間的連接:完善項(xiàng)目。</p><p> ?。?)游戲登錄界面:管理員和普通用戶進(jìn)行用戶名和密碼的核對。</p>
39、<p> ?。?)游戲管理員管理界面:管理員可以對用戶進(jìn)行添加、修改、刪除操作。</p><p> (4)游戲控制菜單:可以控制游戲的開始、退出和樣式的選擇。</p><p> ?。?)設(shè)置菜單:可以設(shè)置游戲的顯示樣式,并提供游戲幫助等信息。</p><p> 3.3算法的描述和流程圖</p><p> 首先,在游戲開始后
40、檢查當(dāng)前的下墜方塊是否已經(jīng)到了底部,如果不是的話就將下墜方塊到了該定時(shí)器間隔的時(shí)間后整體往下移動一個(gè)單位,否則,進(jìn)行到達(dá)底部后的操作。對于到達(dá)底部后的操作,可以分為以下幾個(gè)步驟來處理。</p><p> ?。?)先對進(jìn)行到底部后的所有可以抵消的行進(jìn)行銷行處理。</p><p> ?。?)生成一個(gè)新的“下一個(gè)方塊”,這個(gè)方塊的形態(tài)需要隨機(jī)地生成。</p><p>
41、(3)在將舊的“下一個(gè)方塊”置換成新的下一個(gè)方塊,并在屏幕右上方顯示。</p><p> ?。?)將當(dāng)前的“方塊”換成以前產(chǎn)生的舊的“下一個(gè)方塊”,并且馬上使用。由于在這個(gè)過程中已經(jīng)重新使用了一個(gè)新的下墜方塊,在剛使用時(shí)并且還沒有下降前,應(yīng)該判斷它是否已經(jīng)不可以下降到底部(也就是說,在方塊已經(jīng)堆砌到接近游戲區(qū)域頂部的時(shí)候,下墜方塊一旦被使用,就已經(jīng)到達(dá)了底部),如果時(shí)剛好到達(dá)底部則實(shí)行銷行檢測和操作,并且判斷頂部
42、(第一行)的某些區(qū)域是否已經(jīng)被占用了,是則表示游戲已經(jīng)觸發(fā)結(jié)束的標(biāo)志時(shí)間,應(yīng)該進(jìn)入游戲結(jié)束狀態(tài)。</p><p> (5)在前面判斷為到達(dá)底部后,進(jìn)行銷行檢測與操作。</p><p> ?。?)在下墜方塊到達(dá)底部的同時(shí),判斷是否已經(jīng)到達(dá)了游戲的頂部,是則表示游戲結(jié)束,進(jìn)行游戲結(jié)束的資源釋放與數(shù)據(jù)庫環(huán)境清理工作。</p><p> 俄羅斯方塊游戲的流程圖,如圖3-
43、1所示:</p><p> 圖3-1:俄羅斯方塊游戲流程圖</p><p> 3.4系統(tǒng)功能模塊圖 </p><p> 系統(tǒng)開發(fā)流程圖,如圖3-2所示:</p><p> 圖3-2:系統(tǒng)開發(fā)流程圖</p><p> 系統(tǒng)運(yùn)行流程圖,如圖3-3所示:</p><p> 圖3-3:系統(tǒng)運(yùn)
44、行流程圖</p><p> 游戲主窗體菜單和可見控件運(yùn)行流程圖,如圖3-4所示:</p><p> 圖3-4:游戲模塊運(yùn)行流程圖</p><p><b> 第四章 系統(tǒng)設(shè)計(jì) </b></p><p> 4.1數(shù)據(jù)庫模塊設(shè)計(jì)及部分代碼</p><p> 在建立數(shù)據(jù)庫時(shí),要根據(jù)項(xiàng)目的需要,設(shè)
45、計(jì)表格。</p><p> 打開SQL Server 服務(wù)器,新建數(shù)據(jù)庫,命名為Youxi。</p><p> 創(chuàng)建游戲用戶表,列名主要包括ID、用戶名稱、用戶密碼和用戶權(quán)限,其中ID為主鍵,游戲用戶表主要是用于保存用戶的信息。游戲用戶表設(shè)計(jì)如圖4-1所示:</p><p> 圖4-1:游戲用戶表的設(shè)計(jì)</p><p> 游戲用戶表的
46、測試數(shù)據(jù)如圖4-2所示:</p><p> 圖4-2:游戲用戶表的測試</p><p> 創(chuàng)建游戲成績排行,列名包括用戶名稱和分?jǐn)?shù),其中用戶名稱為主鍵,用于保存用戶游戲成績。游戲成績排行設(shè)計(jì)如圖4-3所示:</p><p> 圖4-3:游戲成績排行的設(shè)計(jì)</p><p> 游戲成績排行的測試數(shù)據(jù)如圖4-4所示:</p>
47、<p> 圖4-4:游戲成績排行的測試</p><p> 4.2數(shù)據(jù)庫與界面之間的連接</p><p> 在用戶登錄窗體的界面中,數(shù)據(jù)庫與界面連接是整個(gè)項(xiàng)目的樞紐,關(guān)鍵代碼如下:</p><p> conn = new SqlConnection("server=.;uid=sa;pwd=123;database=Youxi")
48、;</p><p> //server為數(shù)據(jù)庫服務(wù)器,uid為登入名,pwd為登入密碼,database為數(shù)據(jù)庫名</p><p> DataSet ds = new DataSet();//初始化實(shí)例</p><p> da = new SqlDataAdapter("select 用戶名稱,用戶權(quán)限 from 用戶表", conn);&
49、lt;/p><p> if (conn.State == ConnectionState.Closed)//描述與數(shù)據(jù)源連接的當(dāng)前狀態(tài)</p><p><b> {</b></p><p> conn.Open();</p><p><b> }</b></p><p>
50、 da.Fill(ds, "用戶表");</p><p> conn.Close();</p><p> name.DataSource = ds.Tables["用戶表"];</p><p> name.DisplayMember = "用戶名稱";</p><p> 4
51、.3用戶登錄模塊設(shè)計(jì)及部分代碼</p><p> 打開“Microsoft Visual Studio 2005”,新建項(xiàng)目,名稱為youxi,新建項(xiàng)目圖示如圖4-5所示:</p><p> 圖4-5:新建項(xiàng)目圖示</p><p> 在項(xiàng)目開發(fā)環(huán)境中,創(chuàng)建文件夾用來存放項(xiàng)目中的各種文件和窗體,俄羅斯方塊游戲項(xiàng)目結(jié)構(gòu)如圖4-6所示:</p><
52、;p> 圖4-6:俄羅斯方塊游戲項(xiàng)目結(jié)構(gòu)</p><p> 創(chuàng)建用戶登錄模塊的登錄窗體,命名為frnLogin,窗體界面包括用戶名稱、用戶密碼和用戶權(quán)限。普通用戶填寫用戶名稱和用戶密碼,點(diǎn)擊登錄按鈕,正確后界面轉(zhuǎn)到主窗體。管理員則轉(zhuǎn)到管理界面。用戶登錄模塊設(shè)計(jì)如圖4-7所示:</p><p> 圖4-7:用戶登錄模塊登錄界面</p><p> 登錄窗體
53、中,只允許登錄的用戶信息是數(shù)據(jù)庫Youxi中用戶表存在的數(shù)據(jù)。認(rèn)證用戶輸入的用戶名稱和用戶密碼要與數(shù)據(jù)庫中一樣,否則登錄失敗,重新輸入。管理員和普通用戶權(quán)限不同,要根據(jù)用戶名稱改變用戶權(quán)限。用戶登錄模塊關(guān)鍵代碼如下:</p><p> da = new SqlDataAdapter("select * from 用戶表 where 用戶名稱='" + name.Text.Trim()
54、 + "' and 用戶密碼='" + pwd.Text.Trim() + "'", conn);</p><p> DataSet ds = new DataSet();</p><p> if (conn.State == ConnectionState.Closed)</p><p><
55、b> {</b></p><p> conn.Open();</p><p><b> }</b></p><p> da.Fill(ds, "用戶表");</p><p> conn.Close();</p><p> if (ds.Tables
56、["用戶表"].Rows.Count > 0)</p><p><b> {</b></p><p> //判斷權(quán)限,根據(jù)權(quán)限選擇進(jìn)入不同窗體</p><p> if (userRight == "admin")</p><p><b> {</b&g
57、t;</p><p> guanli g = new guanli();</p><p> this.Hide();</p><p> music.Stop();</p><p><b> g.Show();</b></p><p><b> }</b></p
58、><p> else if (userRight == "user")</p><p> {//給游戲界面?zhèn)鬏斢脩粜畔?lt;/p><p> frmMain frmmain = new frmMain();</p><p> frmmain.UserFen = userfen;</p><p>
59、frmmain.UserName = name.Text.Trim();</p><p> frmmain.Owner = this;</p><p> this.Hide();</p><p> music.Stop();</p><p> frmmain.Show();</p><p><b>
60、 }</b></p><p><b> } </b></p><p> 用戶名稱的文本框獲取數(shù)據(jù)庫中相應(yīng)的用戶名稱,用戶權(quán)限根據(jù)用戶名稱的改變而改變,用兩個(gè)Label控件的疊加,用控件的可見性與不可見性來實(shí)現(xiàn)的,關(guān)鍵代碼如下:</p><p> com = new SqlCommand("select 用戶名稱,用戶
61、權(quán)限 from 用戶表 where 用戶名稱='" + name.Text + "'", conn);</p><p> if (conn.State == ConnectionState.Closed)</p><p><b> {</b></p><p> conn.Open();<
62、/p><p><b> }</b></p><p> dr = com.ExecuteReader();</p><p> if (dr.Read())</p><p><b> {//顯示權(quán)限</b></p><p> userRight = dr["用戶權(quán)
63、限"].ToString();</p><p> if(userRight=="admin")</p><p><b> {</b></p><p> guanli.Visible=true;</p><p> putong.Visible=false;</p><
64、;p><b> }</b></p><p> else if(userRight=="user")</p><p><b> {</b></p><p> guanli.Visible = false;</p><p> putong.Visible = true
65、;</p><p><b> }</b></p><p><b> }</b></p><p> 4.4管理員管理模塊設(shè)計(jì)及部分代碼</p><p> 游戲管理員管理界面,管理員可以對普通用戶分別進(jìn)行添加、修改和刪除的操作管理。游戲管理員管理內(nèi)容圖4-8所示:</p><
66、p> 圖4-8:游戲管理員管理內(nèi)容</p><p> ?。?)在管理員對用戶進(jìn)行添加操作時(shí),根據(jù)用戶名稱和用戶密碼進(jìn)行添加,輸入用戶名稱和用戶密碼,完成后點(diǎn)擊“確定”按鈕,管理員添加普通用戶步驟如圖4-9所示:</p><p> 圖4-9:管理員添加普通用戶步驟</p><p> 管理員添加普通用戶,判斷添加的用戶名稱是否已經(jīng)存在的關(guān)鍵代碼如下: <
67、;/p><p> da = new SqlDataAdapter("select * from 用戶表 where 用戶名稱='" + t1.Text + "'", conn);</p><p> DataSet ds = new DataSet();</p><p> if (conn.State == C
68、onnectionState.Closed)</p><p><b> {</b></p><p> conn.Open();</p><p><b> }</b></p><p> int count = da.Fill(ds, "用戶表");</p>&
69、lt;p> conn.Close();</p><p> if (count != 0)</p><p><b> {</b></p><p> MessageBox.Show("該用戶名稱已存在,請重新輸入!");</p><p><b> return;</b>
70、;</p><p><b> }</b></p><p> 管理員添加普通用戶,把添加的用戶添加到數(shù)據(jù)庫中,關(guān)鍵代碼如下:</p><p> string SQLString;</p><p> SQLString = "insert into 用戶表(用戶名稱,用戶密碼,用戶權(quán)限) values (@
71、用戶名稱,@用戶密碼,@用戶權(quán)限) insert into 成績排行(用戶名稱,分?jǐn)?shù)) values (@用戶名稱,'0')";</p><p> com=new SqlCommand(SQLString,conn);</p><p> com.Parameters.Clear();</p><p> SqlParameter nam
72、eParameter = new SqlParameter();</p><p> nameParameter.ParameterName = "@用戶名稱";</p><p> nameParameter.Value = t1.Text;</p><p> com.Parameters.Add(nameParameter);</p&
73、gt;<p> SqlParameter pwdParameter = new SqlParameter();</p><p> pwdParameter.ParameterName = "@用戶密碼";</p><p> pwdParameter.Value =t2.Text;</p><p> com.Parameter
74、s.Add(pwdParameter);</p><p> SqlParameter quanParameter = new SqlParameter();</p><p> quanParameter.ParameterName = "@用戶權(quán)限";</p><p> quanParameter.Value = "user&qu
75、ot;;</p><p> com.Parameters.Add(quanParameter);</p><p> (2)在管理員對普通用戶進(jìn)行信息修改時(shí),是對用戶名稱和用戶密碼進(jìn)行修改。管理員對普通用戶修改如圖4-10所示:</p><p> 4-10:管理員與普通用戶進(jìn)行修改</p><p> 在管理員對普通用戶進(jìn)行修改時(shí),存放用
76、戶名稱的文本框獲取數(shù)據(jù)庫Youxi用戶表中用戶名稱和相對應(yīng)的用戶密碼,關(guān)鍵代碼如下:</p><p> com = new SqlCommand("select 用戶名稱,用戶密碼 from 用戶表 where 用戶名稱='" + comboBox1.Text + "'", conn);</p><p> if (conn.Sta
77、te == ConnectionState.Closed)</p><p><b> {</b></p><p> conn.Open();</p><p><b> }</b></p><p> dr = com.ExecuteReader();</p><p>
78、 if (dr.Read())</p><p><b> {</b></p><p> userPwd = dr["用戶密碼"].ToString();</p><p> t2.Text = userPwd;</p><p> } </p><p
79、> dr.Close();</p><p> conn.Close();</p><p> 管理員對普通用戶進(jìn)行修改,同時(shí)更新數(shù)據(jù)庫表中關(guān)鍵代碼如下:</p><p> SQLString = " update 用戶表 set 用戶名稱=@用戶名稱,用戶密碼=</p><p> @用戶密碼,用戶權(quán)限=@用戶權(quán)限 wh
80、ere </p><p> 用戶名稱='" + comboBox1.Text + "'";</p><p> ?。?)在管理員對普通用戶進(jìn)行刪除操作時(shí),是根據(jù)用戶名稱進(jìn)行選擇刪除的,管理員對普通用戶進(jìn)行刪除如圖4-11所示:</p><p> 圖4-11:管理員對普通用戶進(jìn)行刪除</p><p&g
81、t; 管理員對普通用戶進(jìn)行刪除用戶操作,根據(jù)用戶名稱進(jìn)行刪除,刪除后要及時(shí)的跟心數(shù)據(jù)表中的數(shù)據(jù),關(guān)鍵代碼如下:</p><p> com = new SqlCommand("delete from 用戶表 where 用戶名稱='" + comboBox1.Text + "'" + " delete from 成績排行 where 用戶名稱=&
82、#39;" + comboBox1.Text + "'", conn);</p><p> if (conn.State == ConnectionState.Closed)</p><p><b> {</b></p><p> conn.Open();</p><p>&l
83、t;b> }</b></p><p> com.ExecuteNonQuery();</p><p> conn.Close();</p><p> MessageBox.Show("刪除數(shù)據(jù)成功!");</p><p> //刪除成功后更新數(shù)據(jù)</p><p> Da
84、taSet ds = new DataSet();</p><p> da = new SqlDataAdapter("select 用戶名稱 from 用戶表 where 用戶權(quán)限='user'", conn);</p><p> if (conn.State == ConnectionState.Closed)</p><p&
85、gt;<b> {</b></p><p> conn.Open();</p><p><b> }</b></p><p> da.Fill(ds, "用戶表");</p><p> conn.Close();</p><p> comboB
86、ox1.DataSource = ds.Tables["用戶表"];</p><p> comboBox1.DisplayMember = "用戶名稱";</p><p> 4.5成績排行模塊設(shè)計(jì)及部分代碼</p><p> 普通用戶游戲主窗體界面,用戶可以直接開始游戲,可以先查看分?jǐn)?shù)排行的前五名,可以查看關(guān)于我們的信息
87、。前五名用戶成績排行圖4-10所示:</p><p> 圖4-12:前五名用戶成績排行</p><p> 查看前五名用戶的成績排行榜,用選擇語句把數(shù)據(jù)庫Youxi表成績排行的數(shù)據(jù)進(jìn)行分?jǐn)?shù)的從高到底排行,然后顯示到成績排行的界面中,前五名用戶成績排行關(guān)鍵代碼如下:</p><p> private void paihang_Load(object sender,
88、 EventArgs e)</p><p><b> {</b></p><p> …...//省略連接數(shù)據(jù)庫成績排行的代碼</p><p><b> try</b></p><p><b> {</b></p><p> da = new S
89、qlDataAdapter("select * from 成績排行 order by 分?jǐn)?shù) desc", conn);</p><p> DataSet ds = new DataSet();</p><p> if (conn.State == ConnectionState.Closed)</p><p><b> {<
90、/b></p><p> conn.Open();</p><p><b> }</b></p><p> int count = da.Fill(ds, "成績排行");</p><p> conn.Close();</p><p> //對成績排行表中的分?jǐn)?shù)
91、進(jìn)行排行,顯示前五名成績</p><p> t1.Text = ds.Tables[0].Rows[0][0].ToString();</p><p> t11.Text = ds.Tables[0].Rows[0][1].ToString();</p><p> t2.Text = ds.Tables[0].Rows[1][0].ToString();<
92、;/p><p> t22.Text = ds.Tables[0].Rows[1][1].ToString();</p><p> t3.Text = ds.Tables[0].Rows[2][0].ToString();</p><p> t33.Text = ds.Tables[0].Rows[2][1].ToString();</p><p
93、> t4.Text = ds.Tables[0].Rows[3][0].ToString();</p><p> t44.Text = ds.Tables[0].Rows[3][1].ToString();</p><p> t5.Text = ds.Tables[0].Rows[4][0].ToString();</p><p> t55.Text
94、= ds.Tables[0].Rows[4][1].ToString();</p><p><b> }</b></p><p> catch (Exception ex)</p><p><b> {</b></p><p> MessageBox.Show(ex.Message.ToSt
95、ring());</p><p><b> }</b></p><p><b> }</b></p><p> 4.6游戲窗體菜單項(xiàng)和控制按鈕模塊設(shè)計(jì)及部分代碼</p><p> 游戲窗體菜單模塊,包括文件、設(shè)置選項(xiàng)和游戲幫助三個(gè)菜單項(xiàng),重新開始、保存、載入和上一輪四個(gè)按鈕,一個(gè)【速度設(shè)置】
96、滑動條。游戲窗體菜單項(xiàng)和控制按鈕主要內(nèi)容如圖4-13所示:</p><p> 圖4-13:游戲窗體菜單項(xiàng)</p><p> 在窗體元素設(shè)置文件frmbegin.Designer.cs內(nèi),定義了各窗體控件的具體設(shè)置屬性,下面的內(nèi)容中將分別進(jìn)行介紹。</p><p><b> ?。?)控制按鈕</b></p><p>
97、 窗體右側(cè)的各控制按鈕控件的功能是控制游戲的過程,例如游戲開始、載入和保存。</p><p><b> ?。?)窗體菜單</b></p><p> 窗體頂部的各菜單都包含對應(yīng)的菜單項(xiàng),甚至還包含子菜單項(xiàng),其功能是對游戲進(jìn)行控制和設(shè)置,并提供游戲的使用和幫助信息。</p><p> ?。?)圖片列表控件和窗體總體設(shè)置</p>&l
98、t;p> 窗體內(nèi)插入了圖片列表控件,其功能是設(shè)置游戲的外觀顯示樣式,供用戶根據(jù)個(gè)人喜好進(jìn)行選擇。而窗體總體設(shè)置屬性的功能是設(shè)置窗體frmbegin的對應(yīng)屬性。游戲外觀顯示樣式的關(guān)鍵代碼如下:</p><p> private void style1ToolStripMenuItem_Click(object sender, EventArgs e)</p><p><b&g
99、t; {</b></p><p> if (sender == style1ToolStripMenuItem)</p><p> youxiControl.ImageList = imageList1;</p><p> else if (sender == style2ToolStripMenuItem)</p><p&g
100、t; youxiControl.ImageList = imageList2;</p><p> if (sender == style3ToolStripMenuItem)</p><p> youxiControl.ImageList = imageList3;</p><p><b> }</b></p><p
101、><b> 第五章 軟件的測試</b></p><p> 5.1數(shù)據(jù)庫與界面之間連接測試</p><p> 當(dāng)程序運(yùn)行時(shí),登錄界面首頁用戶名稱的文本框是有用戶存在的,如5-1所示。在管理員對普通用戶進(jìn)行添加、修改和刪除操作時(shí),數(shù)據(jù)庫會及時(shí)的更新。如果沒有更新,則數(shù)據(jù)庫與界面的連接失敗。</p><p> 圖5-1:用戶名稱的文本框
102、有用戶存在</p><p> 5.2用戶登錄模塊測試</p><p> 點(diǎn)擊“啟動調(diào)試”,運(yùn)行到登錄界面,填寫用戶名和密碼,用戶名和密碼與數(shù)據(jù)庫中用戶表的信息要一致。如果一致,管理員登錄到管理界面,普通用戶登錄到游戲界面。如果不一致,重新輸入。</p><p> 5.3管理員管理模塊測試</p><p> 登錄管理員權(quán)限的界面,界面包
103、括:添加,修改,刪除。但普通用戶不可以管理操作。在管理員界面中,點(diǎn)擊“添加”按鈕時(shí),跳轉(zhuǎn)到添加界面中,填寫姓名和密碼,完成后點(diǎn)擊“確定”按鈕,彈出提示框“操作成功”。點(diǎn)擊“修改” 按鈕時(shí),跳轉(zhuǎn)到修改界面中,選擇要修改的對象,進(jìn)行修改,完成后點(diǎn)擊“確定”按鈕,彈出提示框“操作成功”。點(diǎn)擊“刪除”按鈕時(shí),跳轉(zhuǎn)到刪除界面中,只對姓名進(jìn)行刪除,選擇后點(diǎn)擊“確定”按鈕,彈出提示框“確定要刪除該生的信息嗎?”,點(diǎn)擊“確定” 按鈕,彈出提示框“刪除數(shù)
104、據(jù)成功”。</p><p> 5.4成績排行模塊測試</p><p> 成績排行是按照用戶游戲得分取前五名的成績設(shè)置排行榜。在主窗體中點(diǎn)擊“排行榜”,跳轉(zhuǎn)到排行的界面,顯示前五名的名次,姓名和成績,正確的排行榜如圖5-1所示:</p><p> 圖5-2:正確的前五名成績排行</p><p> 5.5游戲界面菜單選項(xiàng)和控制按鈕功能測試
105、</p><p><b> “文件”菜單測試</b></p><p> 點(diǎn)擊“重新開始(擴(kuò)展)”</p><p> 輸出:游戲開始 </p><p><b> 結(jié)果:正常</b></p><p> 點(diǎn)擊“保存” </
106、p><p> 輸出:另存為的對話框 </p><p><b> 結(jié)果:正常</b></p><p> 點(diǎn)擊“載入“ </p><p> 輸出:打開的對話框 </p><p><b> 結(jié)果:正常</b></p>
107、<p> 點(diǎn)擊“觀看上一輪” </p><p> 輸出:上一輪的游戲記錄 </p><p><b> 結(jié)果:正常</b></p><p> “設(shè)置選項(xiàng)”菜單測試</p><p> 點(diǎn)擊“樣式” →“樣式一” </p><p> 輸出:樣式一圖形的方塊
108、</p><p><b> 結(jié)果:正常</b></p><p> ?。?)“游戲幫助”菜單測試</p><p><b> 點(diǎn)擊“幫助” </b></p><p> 輸出:幫助的窗體界面 </p><p><b> 結(jié)果:正常</b>&l
109、t;/p><p><b> 點(diǎn)擊“關(guān)于” </b></p><p> 輸出:關(guān)于的窗體界面 </p><p><b> 結(jié)果:正常</b></p><p> ?。?)“文件”菜單測試</p><p> 點(diǎn)擊“重新開始(擴(kuò)展)”</p><p&
110、gt; 輸出:游戲開始 </p><p><b> 結(jié)果:正常</b></p><p> 點(diǎn)擊“保存” </p><p> 輸出:另存為的對話框 </p><p><b> 結(jié)果:正常</b></p><p>
111、 點(diǎn)擊“載入“ </p><p> 輸出:打開的對話框 </p><p><b> 結(jié)果:正常</b></p><p> 點(diǎn)擊“觀看上一輪” </p><p> 輸出:上一輪的游戲記錄 </p><p><b> 第六章 總結(jié)
112、</b></p><p> 這次做畢業(yè)設(shè)計(jì)和畢業(yè)論文的經(jīng)歷會使我終生受益,我感受到這是必須要真真正正用心去做的一件事情。這次的畢業(yè)論文和畢業(yè)設(shè)計(jì)是對自己大學(xué)三年所學(xué)知識的運(yùn)用,也是自己學(xué)習(xí)的過程和研究的過程,沒有自己的研究,就不會有所進(jìn)步。這段時(shí)間里,我搜索資料,查看書籍,本來還以為平時(shí)學(xué)過,很簡單,但是實(shí)際操作起來非常困難。</p><p> 在編寫過程中遇到許多問題,例
113、如數(shù)據(jù)庫與界面之間的連接,背景音樂的播放等。在系統(tǒng)分析階段,針對俄羅斯方塊游戲,初步地定下了要實(shí)現(xiàn)的功能,并將整個(gè)游戲分成若干個(gè)部分,包括數(shù)據(jù)庫的設(shè)計(jì)、登錄界面的設(shè)計(jì)、管理員界面的設(shè)計(jì)、主窗體的設(shè)計(jì)、游戲窗體的設(shè)計(jì)和軟件測試模塊。在程序編寫階段,出現(xiàn)了不少技術(shù)上的問題,例如管理員不能對普通用戶進(jìn)行添加,修改和刪除操作等。出于基礎(chǔ)不扎實(shí)這方面的原因,在程序設(shè)計(jì)的時(shí)候遇到了不少的問題,但在一次次的錯誤運(yùn)行中,我們對面向?qū)ο蟪绦蛟O(shè)計(jì)的概念理解
114、得更加深刻,也因此重新燃起斗志。在設(shè)計(jì)開發(fā)過程中,我們不但需要處理好各個(gè)類之間的集成關(guān)系和繼承機(jī)制,還要處理各個(gè)類的相應(yīng)的封裝,并且還要協(xié)調(diào)好各個(gè)模塊之間的邏輯依賴關(guān)系和數(shù)據(jù)通信關(guān)系。</p><p> 通過這次的畢業(yè)設(shè)計(jì),我更深刻地了解到軟件開發(fā)的基本過程,也感受到了團(tuán)隊(duì)合作的重要性。俄羅斯方塊游戲的設(shè)計(jì)對于每個(gè)C#語言設(shè)計(jì)者來說,都是一個(gè)很好的鍛煉機(jī)會,可以進(jìn)行一次從底而上和自上而下的歸納和演繹的過程。在變
115、化多端的游戲面前,總算領(lǐng)悟到了一點(diǎn)它的奧秘,內(nèi)容繁雜,采用的表現(xiàn)手段多姿多彩的游戲世界,即便是再復(fù)雜,也可以通過一定程度的歸納演繹得出適應(yīng)其規(guī)則和變現(xiàn)的契合點(diǎn)。</p><p> 回顧這個(gè)俄羅斯方塊游戲的設(shè)計(jì)過程,我學(xué)到了許多書本上沒有學(xué)到的知識,通過這次游戲開發(fā)的經(jīng)歷,豐富了我自己的實(shí)踐技能,擴(kuò)展了本專業(yè)的知識面,使我受益匪淺,同時(shí)也體驗(yàn)到了做軟件開發(fā)的難度。</p><p><
116、b> 參考文獻(xiàn)</b></p><p> [1] 扶松柏,鄭期彤.深入體驗(yàn)C#項(xiàng)目開發(fā)[M].北京:清華大學(xué)出版社,2011年7月:</p><p> [2] 楊宏偉,李晶.C#程序員開發(fā)手冊[M].北京:北京科學(xué)出版社,2006年:20-29</p><p> [3] 高凌琴,陳青華.俄羅斯方塊游戲關(guān)鍵技術(shù)探討[M].信息技術(shù)與信息化研究
117、探討,2008年第二期</p><p> [4](美)Grady Booch.面向?qū)ο蠓治雠c設(shè)計(jì)(原書第2版)[M].機(jī)械工業(yè)出版社,2003年8 月</p><p> [5] 黃復(fù)賢著.俄羅斯方塊游戲的敏捷設(shè)計(jì)與開發(fā)[M].電腦編程技巧與維護(hù),2005年4月</p><p><b> 致 謝</b></p><p&g
118、t; 經(jīng)歷一個(gè)多月的不斷努力,畢業(yè)設(shè)計(jì)內(nèi)容已經(jīng)基本上完成了。首先,在這里我要由衷地感謝我的指導(dǎo)老師孫榮明,他在畢業(yè)設(shè)計(jì)期間對本人給予悉心指導(dǎo)和大力幫助。在畢業(yè)設(shè)計(jì)期間,在我的課題設(shè)計(jì)和論文撰寫過程中對我進(jìn)行了人認(rèn)真檢查,嚴(yán)格督促和仔細(xì)批閱,并對我的課題提出了許多富有啟發(fā)性和建設(shè)性的意見和建議。</p><p> 在程序設(shè)計(jì)和論文撰寫的艱難過程中,我要感謝我同組的同學(xué),一直以來都是他們在身邊督促我,我們互相鼓勵
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- java俄羅斯方塊畢業(yè)論文
- 畢業(yè)論文----java俄羅斯方塊
- 畢業(yè)論文-java俄羅斯方塊
- 俄羅斯方塊游戲畢業(yè)論文
- 俄羅斯方塊游戲java畢業(yè)論文
- 俄羅斯方塊游戲開發(fā)畢業(yè)論文
- 畢業(yè)論文(java游戲俄羅斯方塊)
- 俄羅斯方塊論文
- 畢業(yè)論文俄羅斯方塊的實(shí)現(xiàn)系統(tǒng)
- 俄羅斯方塊
- 《c++俄羅斯方塊》課程設(shè)計(jì)--俄羅斯方塊
- 俄羅斯方塊分組對抗游戲的實(shí)現(xiàn)畢業(yè)論文
- 基于fpga的俄羅斯方塊游戲設(shè)計(jì)畢業(yè)論文
- 俄羅斯方塊單人游戲的實(shí)現(xiàn)畢業(yè)論文
- 基于fpga的俄羅斯方塊游戲設(shè)計(jì)畢業(yè)論文
- 俄羅斯方塊分組對抗游戲的實(shí)現(xiàn)畢業(yè)論文
- 俄羅斯方塊項(xiàng)目
- 畢業(yè)論文范文——俄羅斯方塊游戲課程設(shè)計(jì)
- 基于安卓android環(huán)境的俄羅斯方塊畢業(yè)論文
- 基于at89s52的俄羅斯方塊畢業(yè)論文
評論
0/150
提交評論