版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 畢業(yè)論文java俄羅斯方塊游戲</p><p><b> 摘 要</b></p><p> 在現(xiàn)今電子信息高速發(fā)展的時(shí)代,電子游戲已經(jīng)深入人們的日常生活,成為老少皆宜的娛樂(lè)方式。但是游戲設(shè)計(jì)結(jié)合了日新月異的技術(shù),在一個(gè)產(chǎn)品中整合了復(fù)雜的設(shè)計(jì)、藝術(shù)、聲音和軟件,所以并不是人人皆知。直到今天,在中國(guó)從事游戲設(shè)計(jì)的人仍然很少,但是游戲行業(yè)的發(fā)
2、展之快,遠(yuǎn)超如家電、汽車等傳統(tǒng)行業(yè),也正因?yàn)槿绱?,游戲人才的教育、培養(yǎng)遠(yuǎn)落后于產(chǎn)業(yè)的發(fā)展。</p><p> 俄羅斯方塊是個(gè)老幼皆宜的小游戲,它實(shí)現(xiàn)由四塊正方形的色塊組成,然后存儲(chǔ)在一個(gè)數(shù)組的四個(gè)元素中,計(jì)算機(jī)隨機(jī)產(chǎn)生不同七種類型的方塊,根據(jù)計(jì)算機(jī)時(shí)鐘控制它在一定的時(shí)間不停的產(chǎn)生,用戶根據(jù)鍵盤的四個(gè)方向鍵控制翻轉(zhuǎn)、向左、向右和向下操作,(控制鍵的實(shí)現(xiàn)是由鍵盤的方向鍵的事件處理實(shí)現(xiàn))。然后程序根據(jù)這七種方塊堆疊成
3、各種不同的模型。</p><p> 論文描述了游戲的歷史,開發(fā)此游戲的環(huán)境,游戲開發(fā)的意義。遵循軟件工程的知識(shí),從軟件問(wèn)題定義開始,接著進(jìn)行可行性研究、需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì),最后對(duì)軟件進(jìn)行了測(cè)試,整個(gè)開發(fā)過(guò)程貫穿軟件工程的知識(shí)體系。</p><p> 此次設(shè)計(jì)在Microsoft Windows XP系統(tǒng)下,以Java為開發(fā)語(yǔ)言,在eclipse開發(fā)平臺(tái)上進(jìn)行游戲的設(shè)計(jì)與實(shí)踐。
4、</p><p> 關(guān)鍵詞:游戲設(shè)計(jì);算法;數(shù)組;事件</p><p><b> 引 言</b></p><p> 游戲是人們活動(dòng)中一項(xiàng)非常重要的內(nèi)容,有人認(rèn)為如果哪一天人類對(duì)所有的游戲都失去興趣,恐怕世界的末日就要到了。電腦對(duì)游戲的貢獻(xiàn)有目共睹,現(xiàn)在摸過(guò)電腦的人很少有沒(méi)玩過(guò)電腦游戲的,喜歡游戲的人也很少有不玩電腦的。</p&
5、gt;<p> 俄羅斯方塊是一款風(fēng)靡全球的電視游戲機(jī)和掌上游戲機(jī)游戲,它曾經(jīng)造成的轟動(dòng)與造成的經(jīng)濟(jì)價(jià)值可以說(shuō)是游戲史上的一件大事。這款游戲最初是由蘇聯(lián)的游戲制作人Alex Pajitnov制作的,它看似簡(jiǎn)單但卻變化無(wú)窮,令人上癮。相信大多數(shù)用戶都還記得為它癡迷得茶不思飯不想的那個(gè)俄羅斯方塊時(shí)代。究其歷史,俄羅斯方塊最早還是出現(xiàn)在PC機(jī)上,而我國(guó)的用戶都是通過(guò)紅白機(jī)了解、喜歡上它的。現(xiàn)在聯(lián)眾又將重新掀起這股讓人沉迷的俄羅斯
6、方塊風(fēng)潮。對(duì)一般用戶來(lái)說(shuō),它的規(guī)則簡(jiǎn)單,容易上手,且游戲過(guò)程變化無(wú)窮,而在"聯(lián)眾俄羅斯方塊"中,更有一些聯(lián)眾網(wǎng)絡(luò)游戲所獨(dú)有的魅力――有單機(jī)作戰(zhàn)與兩人在線對(duì)戰(zhàn)兩種模式,用戶可任選一種進(jìn)行游戲。網(wǎng)絡(luò)模式還增加了積分制,使用戶既能感受到游戲中的樂(lè)趣,也給用戶提供了一個(gè)展現(xiàn)自己高超技藝的場(chǎng)所。</p><p> 俄羅斯方塊游戲可以說(shuō)是隨計(jì)算機(jī)的發(fā)展而發(fā)展,并不斷推陳出新演變出各種類似游戲, 深受廣大
7、玩家喜愛(ài)。這個(gè)游戲有的簡(jiǎn)單, 有的復(fù)雜, 但其根本原理是一樣的都是對(duì)運(yùn)動(dòng)的方塊進(jìn)行組合, 來(lái)訓(xùn)練玩家的反應(yīng)能力。談到游戲軟件, 大多數(shù)人都認(rèn)為其神妙莫測(cè), 高不可及。而一般游戲軟件也確實(shí)具有很高的技術(shù)難度, 隨著開發(fā)工具及軟件開發(fā)方法學(xué)的不斷發(fā)展, 動(dòng)手開發(fā)游戲也不是十分困難的。俄羅斯方塊游戲是一種古老而又有趣的游戲, 游戲軟件不計(jì)其數(shù), 網(wǎng)上就有好多關(guān)于實(shí)現(xiàn)的復(fù)雜算法和設(shè)計(jì), 其難度讓一般初學(xué)者望而卻步。本文利用數(shù)組作為方塊的數(shù)據(jù)結(jié)構(gòu)
8、,提出一種用JAVA語(yǔ)言實(shí)現(xiàn)的簡(jiǎn)易方法, 對(duì)初學(xué)者可仿此開發(fā)類似游戲, 并了解游戲軟件的設(shè)計(jì)與開發(fā)過(guò)程。</p><p><b> 1.緒論</b></p><p> 1.1 電子游戲及其分類</p><p> 電子游戲,也就是運(yùn)行在家用電腦、家用電子游戲機(jī)或是掌中寶游戲機(jī)及街機(jī)上的電子游戲程序。電子游戲是一種結(jié)合劇情故事、美術(shù)、音樂(lè)、
9、動(dòng)畫、程序等技術(shù)于一身的互動(dòng)型娛樂(lè)軟件,涉及到多個(gè)行業(yè)。 </p><p> 從電子游戲的分類來(lái)看,有著多種分類方式。傳統(tǒng)的游戲分類是按照游戲類型,將其分為即時(shí)戰(zhàn)略游戲、第一人稱射擊游戲、角色扮演游戲、策略型游戲等類別。根據(jù)游戲運(yùn)行平臺(tái)的不同,可將電子游戲分為游戲機(jī)游戲、單機(jī)版PC 游戲、互動(dòng)電視游戲、在線游戲和手機(jī)游戲。此外,韓國(guó)政府將電子游戲業(yè)分為家用游戲機(jī)游戲、單機(jī)版PC 游戲、網(wǎng)絡(luò)游戲和街機(jī)游戲四大類。
10、考慮到中韓游戲業(yè)比較接近,論文采用韓國(guó)的分類標(biāo)準(zhǔn)?!熬W(wǎng)絡(luò)游戲”也就是人們一般所指的“在線游戲”,是指通過(guò)互聯(lián)網(wǎng)進(jìn)行的電腦游戲,通過(guò)人與人之間的互動(dòng)達(dá)到交流、娛樂(lè)和休閑的目的。在互聯(lián)網(wǎng)(局域網(wǎng))技術(shù)出現(xiàn)之前,電子游戲都可以歸于單機(jī)版游戲,即“人機(jī)對(duì)戰(zhàn)”游戲,或最多是雙人對(duì)戰(zhàn)游戲。而隨著互聯(lián)網(wǎng)技術(shù)的出現(xiàn),通過(guò)連接游戲服務(wù)器,上百、上千、乃至上萬(wàn)的游戲玩家同時(shí)連線娛樂(lè)成為了現(xiàn)實(shí),這就大大增加了游戲的互動(dòng)性、真實(shí)性,豐富了電子游戲的內(nèi)涵。從網(wǎng)絡(luò)
11、游戲的分類來(lái)看,目前業(yè)界還沒(méi)有一個(gè)比較統(tǒng)一規(guī)范的分類。隨著計(jì)算機(jī)設(shè)備和網(wǎng)絡(luò)技術(shù)的發(fā)展,電子游戲在全球得到了迅猛的發(fā)展,取得了巨大的成功,已成為當(dāng)今世界上不可缺少的精神糧食。</p><p> 1.2 電子游戲發(fā)展現(xiàn)狀</p><p> 1.2.1 電子游戲在國(guó)外的發(fā)展現(xiàn)狀</p><p> 電子游戲是最初產(chǎn)生于美國(guó),1971年,一個(gè)還在MIT就讀的學(xué)生設(shè)計(jì)了世
12、界上第一個(gè)業(yè)務(wù)用游戲機(jī),這個(gè)街機(jī)游戲的名字叫《電腦空間》??梢哉f(shuō)時(shí)至今日,電子游戲仍然是外國(guó)的天下。</p><p> 美國(guó)至今仍是世界第一大游戲市場(chǎng),它遵循的是以發(fā)行商為主的產(chǎn)業(yè)開發(fā)鏈模式,根據(jù)美國(guó)市場(chǎng)調(diào)查公司NPD Group調(diào)查統(tǒng)計(jì),美國(guó)2004年游戲總銷售金額(包括家用、掌上型主機(jī)及軟件)為99億美元,占了全球游戲市場(chǎng)的45%。其中游戲軟件銷售的具體數(shù)字是:視頻游戲軟件的銷售額達(dá)52億美元(1.6億套)
13、,PC游戲軟件銷售額達(dá)11億美元(4500萬(wàn)套),掌機(jī)游戲銷售額達(dá)10億美元(4230萬(wàn)套)。2004年一共大約有2.48億套游戲售出。據(jù)估計(jì),美國(guó)每個(gè)家庭平均購(gòu)買過(guò)2部游戲[3]。</p><p> 日本近20年來(lái)瘋狂賺電子游戲的錢。從上世紀(jì)60年代初的街機(jī),到六七十年代之間的家用游戲機(jī),再到八九十年代的掌上游戲機(jī),日本經(jīng)過(guò)30多年的耕耘,終于把電子游戲這棵“搖錢樹”,培育成第一時(shí)尚娛樂(lè)產(chǎn)業(yè),壟斷全球業(yè)界長(zhǎng)達(dá)
14、10余年。對(duì)于日本來(lái)說(shuō),電玩業(yè)已是國(guó)家經(jīng)濟(jì)的重要支柱之一,在GDP中占有1/5的舉足輕重地位。日本游戲業(yè)在最輝煌的1998年,曾經(jīng)占領(lǐng)全球電子游戲市場(chǎng)硬件90%以上,軟件50%以上。</p><p> 韓國(guó)號(hào)稱世界上網(wǎng)絡(luò)游戲產(chǎn)業(yè)最發(fā)達(dá)國(guó)家之一。迄今為止,國(guó)內(nèi)網(wǎng)絡(luò)游戲市場(chǎng)有超過(guò)60%的產(chǎn)品來(lái)自韓國(guó)游戲軟件開發(fā)商,韓國(guó)網(wǎng)絡(luò)游戲使國(guó)內(nèi)很多游戲運(yùn)營(yíng)公司在游戲營(yíng)銷市場(chǎng)或股票資本市場(chǎng)上獲得了巨大的成功。 韓國(guó)游戲市場(chǎng)的發(fā)展
15、不是偶然,韓國(guó)政府不僅給游戲產(chǎn)業(yè)以正確的定位和引導(dǎo),更是將其和本國(guó)經(jīng)濟(jì)發(fā)展緊密地聯(lián)系到一起,做了很多市場(chǎng)培育方面的工作。韓國(guó)政府認(rèn)識(shí)到,靠重型工業(yè)來(lái)支撐全國(guó)經(jīng)濟(jì)的做法是片面的,于是將IT、娛樂(lè)產(chǎn)業(yè)視為新的經(jīng)濟(jì)增長(zhǎng)點(diǎn),開始大力扶持。從那時(shí)起,科技含量極高而能源消耗極低的游戲制作及相關(guān)產(chǎn)業(yè)擔(dān)負(fù)起了“富國(guó)興邦”的重?fù)?dān)。由文化觀光部出面組建韓國(guó)游戲支援中心,向韓國(guó)游戲產(chǎn)業(yè)提供從資金到技術(shù)上的多方面支援;成立游戲投資聯(lián)盟,政府每年向游戲產(chǎn)業(yè)投入的
16、資金多達(dá)500億韓元,并為游戲企業(yè)提供長(zhǎng)期的低息貸款;設(shè)立信息化基金和文化產(chǎn)業(yè)基金,為游戲產(chǎn)業(yè)服務(wù);對(duì)指定的風(fēng)險(xiǎn)企業(yè)實(shí)行各種稅制優(yōu)惠政策,減少甚至免除游戲企業(yè)的稅務(wù)負(fù)擔(dān);建設(shè)游戲產(chǎn)業(yè)基地以扶持中小游戲企業(yè)的發(fā)展;對(duì)從事游戲產(chǎn)業(yè)的高科技人才免除兩年的兵役。 在韓國(guó),從制作到運(yùn)營(yíng),一個(gè)網(wǎng)絡(luò)游戲公司起步門檻較低,主要得益于政府實(shí)行的援助計(jì)劃。此外,在有</p><p> 1.2.2 電子游戲在國(guó)內(nèi)的發(fā)展現(xiàn)狀</
17、p><p> 與電子游戲發(fā)達(dá)的國(guó)家相比,我國(guó)在電子游戲方面還存在比較大的差距。目前,我國(guó)游戲市場(chǎng)正處于發(fā)展階段,但市場(chǎng)上的游戲軟件主要來(lái)自日本、美國(guó)、韓國(guó)等地,但由本土游戲制作人開發(fā)創(chuàng)作的游戲正在高速增加,國(guó)產(chǎn)原創(chuàng)的游戲即將成為游戲的主流。</p><p> 中國(guó)的游戲產(chǎn)業(yè)經(jīng)過(guò)80年代初期臺(tái)灣廠商的探索至90年代,開始了自己的研發(fā)、發(fā)行的歷程,直至網(wǎng)絡(luò)游戲的風(fēng)行,讓中國(guó)的網(wǎng)絡(luò)游戲開始有了飛
18、速的發(fā)展。 1983年,智冠科技有限公司在中國(guó)臺(tái)灣成立,為全球第一家簽訂授權(quán)重制中文版產(chǎn)品代理銷售合約的公司,2000年智冠在臺(tái)灣股票上市, 2002年其控股的中華網(wǎng)龍?jiān)谂_(tái)灣上市。</p><p> 1996年底,UBI SOFT上海分公司暨上海育碧電腦軟件有限公司成立。同年,全球游戲軟件領(lǐng)軍企業(yè)EA在中國(guó)上海成立辦事處。1997年,由尚洋公司制作的《血獅》正式上市。 1997年,北京新天地互動(dòng)多媒體技術(shù)有限公
19、司成立,該公司引進(jìn)了《古墓麗影III》(TombRaider III)、《盟軍敢死隊(duì)》等著名歐美游戲,并在1999年在中國(guó)率先掀起“游戲軟件價(jià)格革命”,全面推行50元的價(jià)格體系,從此正版游戲價(jià)格開始貼近大眾消費(fèi)者。 1999年,業(yè)內(nèi)估算中國(guó)電腦游戲市場(chǎng)(正版)約1.5億元人民幣。 2000年,大陸華彩軟件代理發(fā)行第一款中文MMORPG《萬(wàn)王之王》正式推出,該游戲于1999年在臺(tái)灣發(fā)行,由臺(tái)灣雷爵資訊(Lager)開發(fā)。也在2000年,繼
20、《萬(wàn)王之王》、《石器時(shí)代》、《網(wǎng)絡(luò)三國(guó)》在臺(tái)灣上市之后,游戲桔子推出了《天堂》,游戲桔子成立于1995年,1999年以《便利店》在臺(tái)灣奠定了地位?!短焯谩愤@款由韓國(guó)著名游戲公司Ncsoft研發(fā)的網(wǎng)絡(luò)游戲不但在本國(guó)大獲成功,也在臺(tái)灣再次奪冠。 2001年初,北京華義在中國(guó)大陸地區(qū)正式推出了《石器時(shí)代》,華義國(guó)際股份有限公司于1993年在臺(tái)北成立,</p><p> 2005年1月21日,中央電視臺(tái)報(bào)道:我國(guó)網(wǎng)絡(luò)游
21、戲產(chǎn)業(yè)當(dāng)年增加了50%,今后幾年都將以50%以上的速度增長(zhǎng);第一屆中國(guó)網(wǎng)絡(luò)游戲年會(huì)報(bào)道:中國(guó)國(guó)內(nèi)網(wǎng)絡(luò)游戲2004年規(guī)模達(dá)24.7億元,2009年規(guī)模將達(dá)到109.6億元。</p><p><b> 2.可行性研究</b></p><p><b> 2.1 設(shè)計(jì)目的</b></p><p> 通過(guò)本游戲的設(shè)計(jì),綜合自己
22、在校期間所學(xué)的理論知識(shí),設(shè)計(jì)開發(fā)俄羅斯方塊游戲,使自己熟悉應(yīng)用系統(tǒng)的開發(fā)過(guò)程,培養(yǎng)獨(dú)立思考能力,檢驗(yàn)學(xué)習(xí)效果和動(dòng)手能力,初步掌握軟件工程的系統(tǒng)理論,初步掌握MVC這種設(shè)計(jì)模式,進(jìn)一步鞏固和加強(qiáng)自身對(duì)j2se基礎(chǔ)知識(shí)的理解,提高自己的編程水平,從而達(dá)到理論與實(shí)踐相結(jié)合的目的。</p><p> 2.2 軟件問(wèn)題定義</p><p> 基本要求:本游戲開發(fā)的總體任務(wù)是實(shí)現(xiàn)游戲的可操作性,以
23、及界面的美觀性。整個(gè)開發(fā)過(guò)程遵循軟件工程規(guī)范,采用JAVA GUI編程來(lái)實(shí)現(xiàn)界面以及事件的控制,用戶根據(jù)鍵盤的四個(gè)方向鍵控制翻轉(zhuǎn)、向左、向右和向下操作,通過(guò)菜單欄中的相應(yīng)菜單選項(xiàng)實(shí)現(xiàn)游戲的開始、結(jié)束、變換方塊、積分以及等級(jí)的功能。</p><p> 目標(biāo):通過(guò)本游戲的開發(fā),主要實(shí)現(xiàn)游戲的可操作性以及美觀性,同時(shí)使自己對(duì)JAVA語(yǔ)言的了解更進(jìn)一層,為將來(lái)的實(shí)際工作打下堅(jiān)實(shí)的基礎(chǔ)。</p><p
24、> 條件、假定和限制:由于知識(shí)以及能力的限制,本游戲所實(shí)現(xiàn)的功能不夠強(qiáng)大,可對(duì)本游戲進(jìn)行改善,從而增強(qiáng)游戲的功能。</p><p> 可行性研究的方法:通過(guò)研究分析俄羅斯方塊所具備的能力及實(shí)現(xiàn)的方法、確定主體結(jié)構(gòu)。利用現(xiàn)階段我所能達(dá)到的能力,以最簡(jiǎn)潔、最容易的辦法,邊開發(fā)邊測(cè)試邊修改,實(shí)現(xiàn)一個(gè)初級(jí)游戲軟件。</p><p> 評(píng)價(jià)尺度:由于本軟件是一個(gè)初級(jí)產(chǎn)品,對(duì)其要求不是太苛
25、刻,所以能夠達(dá)到俄羅斯游戲的一般功能即可。</p><p><b> 2.3 可行性分析</b></p><p> 技術(shù)可行性:開發(fā)本游戲的編程語(yǔ)言有多種,考慮到自身對(duì)語(yǔ)言的掌握程度,選擇JAVA語(yǔ)言進(jìn)行游戲的開發(fā),采用JAVA GUI編程來(lái)實(shí)現(xiàn)界面以及事件的控制。</p><p> 經(jīng)濟(jì)可行性:本游戲的開發(fā)旨在完成畢業(yè)設(shè)計(jì),不注重直接的
26、經(jīng)濟(jì)效益和其后的發(fā)展方向,只在注重自身水平和能力的提高,對(duì)自身的經(jīng)濟(jì)要求也不高,只要有一臺(tái)能運(yùn)行相應(yīng)JAVA程序的電腦便可,所以不用考慮到經(jīng)濟(jì)問(wèn)題。</p><p> 社會(huì)可行性:本游戲的開發(fā)主要為了完成畢業(yè)設(shè)計(jì),開發(fā)的主體是個(gè)人,不存在法律上的侵權(quán)行為,也不會(huì)為社會(huì)造成影響,這方面是完全可行的。</p><p><b> 3.需求分析</b></p>
27、<p><b> 3.1 引言</b></p><p> 對(duì)軟件需求分析就是通過(guò)調(diào)查研究,建立系統(tǒng)的數(shù)據(jù)模型、功能模型、行為模型,用戶和開發(fā)人員在“系統(tǒng)必須做什么”這個(gè)問(wèn)題上實(shí)現(xiàn)相互理解,達(dá)到共識(shí),從而形成雙方認(rèn)可的軟件產(chǎn)品的需求規(guī)格說(shuō)明書。這樣有益于提高軟件開發(fā)過(guò)程中的能見(jiàn)度,便于對(duì)軟件開發(fā)過(guò)程中的控制與管理,便于采用工程方法開發(fā)軟件,提高軟件的質(zhì)量,便于開發(fā)人員、維護(hù)人
28、員、管理人員之間的交流、協(xié)作,并作為工作成果的原始依據(jù),并且在向潛在用戶傳遞軟件功能、性能需求,使其能夠判斷該軟件是否與自己的需求相關(guān)。</p><p><b> 3.2 游戲需求</b></p><p> 28種狀態(tài)的方塊隨機(jī)產(chǎn)生,自由下落,落下時(shí)可由玩家用上、下、左、右控制鍵控制翻轉(zhuǎn)和移動(dòng),以便以玩家所需要的形態(tài)和位置落下。如果落下時(shí),方塊的方格能填滿某一行,
29、則這一行可消去。消去一行后,游戲可給玩家加分,若由存在空格的方塊填滿整個(gè)窗口,則游戲失敗。游戲功能需求如下:</p><p> 游戲界面需求:設(shè)計(jì)良好的游戲界面可以讓玩家充分感受到游戲帶來(lái)的娛樂(lè)性,游戲的背景色是黑色,方塊用藍(lán)色顏色,在一定的區(qū)域內(nèi)運(yùn)動(dòng)和變形,落下后的障礙物用黃色顯示,這樣看起來(lái)會(huì)有一定的美感。</p><p> 游戲形狀需求:用數(shù)組作為存儲(chǔ)方塊28種狀態(tài)的數(shù)據(jù)結(jié)構(gòu),即
30、長(zhǎng)條形、Z字形、反Z形、田字形、7字形、反7形、T字型,各個(gè)方塊要能實(shí)現(xiàn)它的變形,可設(shè)為順時(shí)針或逆時(shí)針變形,一般為逆時(shí)針。</p><p> 鍵盤處理事件需求:方塊下落時(shí),可通過(guò)鍵盤方向鍵(上、下、左、右鍵)對(duì)該方塊進(jìn)行向上(變形),向下(加速)、向左、向右移動(dòng)。</p><p> 鼠標(biāo)處理事件需求:通過(guò)點(diǎn)擊菜單欄中相應(yīng)的菜單項(xiàng),可以實(shí)現(xiàn)游戲的開始、結(jié)束,方塊形狀的變換,分?jǐn)?shù)、等級(jí)的顯
31、示,以及游戲幫助等功能。</p><p> 顯示需求:當(dāng)不同的方塊填滿一行時(shí)可以消行,剩余方塊向下移動(dòng)并統(tǒng)計(jì)分?jǐn)?shù)。當(dāng)達(dá)到一定分?jǐn)?shù)的時(shí)候,會(huì)增加相應(yīng)的等級(jí)。</p><p><b> 3.3 軟硬件需求</b></p><p> 操作系統(tǒng):Microsoft Windows XP Professional Service Pack 2<
32、;/p><p><b> 內(nèi)存:512M</b></p><p><b> 硬盤:80G</b></p><p><b> CPU:賽揚(yáng)2.8</b></p><p> 交互工具:鍵盤/鼠標(biāo)</p><p> 顯示器:VGA顯示器</p>
33、;<p> JDK版本:jdk1.6.0.02</p><p> Eclipse版本:eclipse-SDK-3.4-win32</p><p><b> 3.4 接口控制</b></p><p> 本游戲通過(guò)鍵盤進(jìn)行操作,在Windows的操作系統(tǒng)下,利用鍵盤的上、下、左、右鍵對(duì)方塊進(jìn)行移動(dòng)變形,要使用鍵盤的接口事件。&
34、lt;/p><p><b> 3.5 方案論證</b></p><p> 學(xué)?,F(xiàn)已開設(shè)的課程有C語(yǔ)言、C++,java,自己本身自學(xué)了Java,通過(guò)網(wǎng)上以及圖書館的資料,知道可以通過(guò)C,C++,VB,Delphi,Java實(shí)現(xiàn)俄羅斯方塊游戲的設(shè)計(jì)。下面簡(jiǎn)單介紹下VB、C++、Java各自的優(yōu)點(diǎn):</p><p> 3.5.1 VB的優(yōu)點(diǎn)<
35、;/p><p> 全稱Visual Basic,它是以Basic語(yǔ)言作為其基本語(yǔ)言的一種可視化編程工具。在中國(guó)乃至全世界都能看到它的身影,它曾是在中國(guó)最為流行的編程工具,到現(xiàn)在還占 據(jù)著非常重要的地位,對(duì)于它的好壞大家都有一定的了解,VB作為一種較早出現(xiàn)的開發(fā)程序以其容易學(xué)習(xí),開發(fā)效率較高,具有完善的幫助系統(tǒng)等優(yōu)點(diǎn)曾影響了好 幾代編程人員,但是由于VB不具備跨平臺(tái)這個(gè)特性,從而也決定了VB在未來(lái)的軟件開發(fā)中將會(huì)逐漸
36、地退出其歷史舞臺(tái);它對(duì)組件技術(shù)的支持是基于COM和 ActiveX,對(duì)于組件技術(shù)不斷完善發(fā)展的今天,它也顯出了它的落后性;同時(shí)VB在進(jìn)行系統(tǒng)底層開發(fā)的時(shí)候也是相對(duì)復(fù)雜的,調(diào)用API函數(shù)需聲明,調(diào)用 不方便,不能進(jìn)行DDK編程,不可能深入Ring0編程,不能嵌套匯編;而且面向?qū)ο蟮奶匦圆?;網(wǎng)絡(luò)功能和數(shù)據(jù)庫(kù)功能也沒(méi)有非常突出的表現(xiàn),綜上所 述,VB作為一種可視化的開發(fā)工具由于其本身的局限性,導(dǎo)致了它在未來(lái)軟件開發(fā)中逐步被其他工具所代替。&l
37、t;/p><p> 3.5.2 C++的優(yōu)點(diǎn)</p><p> C++是對(duì)C語(yǔ)言的擴(kuò)充,擴(kuò)充的絕大部分來(lái)自著名語(yǔ)言中的最佳特性:從SIMULA 67中吸取了類,從ALGOL 68中吸取了運(yùn)算符一名多用、引用和在分程序中任何地方說(shuō)明變量,綜合了Ada的類屬和Clu的模塊特點(diǎn),從BCPL中吸取異常處理,從BCPL中吸取了用//表示注釋。</p><p> C++保持了
38、C的緊湊、靈活、高效和易移植強(qiáng)的優(yōu)點(diǎn),它對(duì)數(shù)據(jù)抽象的支持主要在于類概念和機(jī)制,對(duì)面向?qū)ο箫L(fēng)范的支持主要通過(guò)虛擬函數(shù)。C++既有數(shù)據(jù)抽象和面向?qū)ο竽芰?,語(yǔ)言運(yùn)行性能高多,加上C語(yǔ)言的普及,而從C至C++的過(guò)渡較為平滑,以及C++與C的兼容程度可使數(shù)據(jù)巨大的C程序能方便地在C++環(huán)境中重用。</p><p> 盡管C++當(dāng)初的設(shè)計(jì)本意是幫助管理大型程序,但其用途并不僅限于此。C++的面向?qū)ο蟮奶匦钥捎行У赜糜趯?shí)際的
39、程序設(shè)計(jì)工作。C++常常用于設(shè)計(jì)編輯器、數(shù)據(jù)庫(kù)、個(gè)人文件系統(tǒng)以及通訊程序等。而且,由于C++共享C的效率,所以用C++可以構(gòu)成很多高性能的系統(tǒng)軟件。</p><p> 3.5.3 Java的優(yōu)點(diǎn)</p><p><b> (1) 安全性 </b></p><p> Java是一種安全的網(wǎng)絡(luò)編程語(yǔ)言,不支持指針類型,一切對(duì)內(nèi)存的訪問(wèn)都必須通
40、過(guò)對(duì)象的實(shí)例來(lái)實(shí)現(xiàn)。這樣能夠防止他人使用欺騙手段訪問(wèn)對(duì)象的私有成員,也能夠避免在指針操作中易產(chǎn)生的錯(cuò)誤。</p><p> 此外,Java的安全性體現(xiàn)在多個(gè)層次上:在編譯層,有語(yǔ)法檢查;在解釋層,有字節(jié)碼校驗(yàn)器,可進(jìn)行代碼段格式測(cè)試和規(guī)則檢查、訪問(wèn)權(quán)限和類型轉(zhuǎn)換合法性檢查、操作數(shù)堆棧的上溢和下溢檢測(cè)、代碼參數(shù)類型合法性檢查等;在平臺(tái)層上,通過(guò)配置策略,可設(shè)定訪問(wèn)資源域,無(wú)須區(qū)分本地或遠(yuǎn)程。</p>
41、<p> (2) 可移植性 </p><p> Java具備有很好的移植性,這主要得益于它與平臺(tái)無(wú)關(guān)的特性。同時(shí),Java的類庫(kù)中也實(shí)現(xiàn)了與平臺(tái)無(wú)關(guān)的接口,這使得這些類庫(kù)也能移植。同時(shí),Java編譯器主要是由Java本身來(lái)實(shí)現(xiàn)的,Java的運(yùn)行系統(tǒng)(解釋器)由標(biāo)準(zhǔn)C語(yǔ)言實(shí)現(xiàn),因而整個(gè)Java系統(tǒng)都具有可移植性。 </p><p> (3) 多線程機(jī)制 </p&g
42、t;<p> Java具有多線程機(jī)制,這使得應(yīng)用程序能夠并行地執(zhí)行。它的同步機(jī)制也保證了對(duì)共享數(shù)據(jù)的共享操作,而且線程具有優(yōu)先級(jí)的機(jī)制,有助于分別使用不同線程完成特定行為,也提高了交互的實(shí)時(shí)響應(yīng)能力。Java的多線程技術(shù)使網(wǎng)上實(shí)時(shí)交互實(shí)現(xiàn)很容易,從而為解決網(wǎng)上大數(shù)量的客戶訪問(wèn)提供了技術(shù)基礎(chǔ)。</p><p><b> (4) 跨平臺(tái)</b></p><
43、p> 通常,在Windows下編寫的程序是不能直接拿到UNIX上運(yùn)行的,因?yàn)槌绦虻膱?zhí)行最終必須轉(zhuǎn)換成為計(jì)算機(jī)硬件的機(jī)器指令來(lái)執(zhí)行,專門為某種計(jì)算機(jī)硬件和操作系統(tǒng)編寫的程序是不能夠直接放到其他類型的計(jì)算機(jī)硬件上執(zhí)行的,至少要做移植工作。要想讓程序能夠在不同的計(jì)算機(jī)上運(yùn)行,就要求程序設(shè)計(jì)語(yǔ)言能夠跨越各種軟件和硬件平臺(tái),而Java恰恰滿足了這一需求。Java編譯器能夠產(chǎn)生一種與計(jì)算機(jī)體系結(jié)構(gòu)無(wú)關(guān)的字節(jié)指令,只要安裝了Java虛擬機(jī),J
44、ava就可以在相應(yīng)的處理機(jī)上執(zhí)行。</p><p> 3.5.4 方案的選擇</p><p> 面向?qū)ο蟮某绦蛟O(shè)計(jì)吸取了結(jié)構(gòu)化程序設(shè)計(jì)的先進(jìn)思想,并把它們同幾個(gè)支持用戶用新方法進(jìn)行程序設(shè)計(jì)的有力概念結(jié)合在一起。</p><p> 所有面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言一般都包含三個(gè)概念:封裝、多態(tài)性和繼承性。</p><p> 這種方法要求語(yǔ)言必
45、須具備抽象、封裝、繼承和多態(tài)性這幾個(gè)關(guān)鍵要素。</p><p> 面向?qū)ο蟮某绦蛟O(shè)計(jì),是通過(guò)數(shù)據(jù)和代碼建立分塊的內(nèi)存區(qū)域,以便提供對(duì)程序進(jìn)行模塊化的一種程序設(shè)計(jì)方法,這些模塊可以被用作樣板,在需要時(shí)再建立其副本。</p><p> C++和Java在面向?qū)ο筮@方面比VB要強(qiáng),所以我排除了用VB做的可能性。但是C++為了與C語(yǔ)言兼容,其是包含了些面向過(guò)程的成分;Java除了C++中非面向
46、過(guò)程的部分,其程序編寫過(guò)程就是設(shè)計(jì)、實(shí)現(xiàn)類,定義其屬性、行為的過(guò)程。還有Java特有的“沙箱”機(jī)制是其安全性的保障,同時(shí)它去除了C++中易造成的錯(cuò)誤指針,增加了自動(dòng)內(nèi)存管理等措施,保證了Java程序運(yùn)行的可靠性。</p><p> 所以經(jīng)過(guò)再三比較了三種語(yǔ)言后,決定采用Java語(yǔ)言編寫俄羅斯方塊。</p><p><b> 4. 概要設(shè)計(jì)</b></p&g
47、t;<p> 4.1 游戲設(shè)計(jì)方案的確定</p><p> 本游戲的設(shè)計(jì)采用MVC模式(Model -View -Controller),即把本游戲的輸入、處理、輸出流程按照Model、View、Controller的方式進(jìn)行分離,這樣本游戲的設(shè)計(jì)被分成三個(gè)層—模型層、視圖層、控制層。MVC模型圖如下所示:</p><p> 4.2 系統(tǒng)流程結(jié)構(gòu)設(shè)計(jì)</p>
48、<p> 4.3 各個(gè)功能模塊圖設(shè)計(jì)</p><p> 4.3.1 模型層(Model)功能模塊圖設(shè)計(jì)</p><p> 4.3.2 視圖層(View)功能模塊圖設(shè)計(jì)</p><p> 4.3.3 控制層(Controller)功能模塊圖設(shè)計(jì)</p><p><b> 5. 詳細(xì)設(shè)計(jì)</b><
49、;/p><p> 5.1模型層(Model)設(shè)計(jì)</p><p> 5.1.1 圖形的產(chǎn)生</p><p> 通過(guò)圖形工廠類ShapeFactory的getShape(ShapeListener listener)方法隨機(jī)產(chǎn)生方塊的某種狀態(tài),這里運(yùn)用了工廠設(shè)計(jì)模式,這種設(shè)計(jì)模式是為了實(shí)現(xiàn)高內(nèi)聚低耦合而存在的,這種設(shè)計(jì)模式的通俗解釋就是:你想要一個(gè)產(chǎn)品,你需要讓工廠
50、給你生產(chǎn)一個(gè),你要告訴工廠你要生產(chǎn)什么產(chǎn)品,就把你需要生產(chǎn)的這個(gè)產(chǎn)品當(dāng)做參數(shù)傳給工廠類的生產(chǎn)產(chǎn)品的方法,然后根據(jù)你傳進(jìn)來(lái)的產(chǎn)品,而決定工廠人生產(chǎn)什么產(chǎn)品,產(chǎn)生出來(lái)產(chǎn)品后,最后要返回您要的這個(gè)東西。</p><p> 5.1.2 圖形的數(shù)據(jù)結(jié)構(gòu)</p><p> 定義一個(gè)4x4方陣,共16個(gè)小格。用“0”和“1”來(lái)表示每個(gè)方格是繪制還是空白,由此可以組合出多種圖形,如圖所示:</p
51、><p> 其中圖一表示為{0,0,0,0, 1,1,1,1 , 0,0,0,0, 0,0,0,0}</p><p> 其中圖二表示為{0,0,0,0, 0,1,1,0 , 0,1,1,0, 0,0,0,0}</p><p> 其中圖三表示為{0,0,0,0, 0,1,0,0 , 0,1,1,1, 0,0,0,0}</p><p> 其中
52、圖四表示為{0,0,0,0, 0,1,0,1 , 0,1,1,0, 0,0,1,0}</p><p> 方塊的旋轉(zhuǎn)是通過(guò)繪制4個(gè)方向的方塊,在不同旋轉(zhuǎn)角度顯示不同方向的方塊來(lái)完成的。所以程序要控制方塊的旋轉(zhuǎn)方向,只要控制顯示哪副圖就可以了。</p><p> 本游戲是用一個(gè)三維數(shù)組int[][][] shapes = new int[][][];作為存儲(chǔ)方塊的數(shù)據(jù)結(jié)構(gòu)來(lái)保存方塊的28種
53、狀態(tài)的。</p><p> 5.1.3 圖形的移動(dòng)</p><p> 圖形類Shape保存了自己的位置信息,用left表示圖形到左邊界的距離,top表示圖形到上邊界的距離,圖形移動(dòng)就是改變left和top的值。向上移動(dòng):top減1,向下移動(dòng):top加1,向左移動(dòng):left減1,向右移動(dòng):left加1。</p><p> 圖形的移動(dòng)分為圖形的自動(dòng)下落以及通過(guò)按鍵
54、事件實(shí)現(xiàn)圖形的左移、右移以及加速下移。通過(guò)多線程ShapeDriver類來(lái)實(shí)現(xiàn)圖形的自動(dòng)下移,由于游戲中方塊的動(dòng)態(tài)性,每個(gè)方塊有一定的生命周期,所以選用線程來(lái)實(shí)現(xiàn)方塊。一個(gè)方塊用一個(gè)線程類對(duì)象實(shí)現(xiàn),該類繼承與Thread類,當(dāng)一個(gè)方塊出現(xiàn)時(shí)也就表示一個(gè)線程對(duì)象產(chǎn)生并開始運(yùn)行。通過(guò)對(duì)按鍵事件的響應(yīng),實(shí)現(xiàn)圖形的左移、右移以及加速下移。</p><p> 5.1.4 圖形的變形</p><p>
55、; 通過(guò)int type = new Random().nextInt(shapes.length); shape.setBody(shapes[type]);</p><p> shape.setStatus(0);實(shí)現(xiàn)初始圖形的初始化,通過(guò)status = (status + 1) % body.length;實(shí)現(xiàn)圖形的變形功能。</p><p> 5.1.5 存儲(chǔ)和表示障礙物
56、</p><p> 用一個(gè)和顯示區(qū)域的面板大小相對(duì)應(yīng)的二維數(shù)組保存障礙物的位置信息,如果對(duì)應(yīng)的位置是障礙物,則這個(gè)數(shù)組中相應(yīng)的元素就為1,否則就為0。如何把圖形變成障礙物呢?只要把屬于圖形的格子對(duì)應(yīng)的位置都變成障礙物即可。代碼如下:</p><p> public boolean isMember(int x, int y, boolean rotate) {</p>&
57、lt;p> int tempStatus = status;</p><p> if(rotate) {</p><p> tempStatus = (status + 1) % body.length;</p><p><b> }</b></p><p> return body[tempStatus
58、][y*4 + x] == 1;</p><p><b> }</b></p><p> public void accept(Shape shape) {</p><p> System.out.println("Ground's accept");</p><p> for(int
59、 x=0; x<4; x++) {</p><p> for(int y=0; y<4; y++) {</p><p> if(shape.isMember(x, y, false)) {</p><p> if((shape.getLeft() + x)<Global.WIDTH && (shape.getTop() + y
60、)<Global.HEIGHT)</p><p> zaw[shape.getLeft() + x][shape.getTop() + y] = 1;</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b>
61、</p><p><b> }</b></p><p> 5.1.6 判斷滿行及消行</p><p> 如果某一行沒(méi)有空白,則這一行就是滿行。滿的那行上面所有的行整體下移一行就是消除這個(gè)滿行。代碼如下:</p><p> private void deleteFullLine() {</p><
62、;p> for(int y=Global.HEIGHT-1; y>=0; y--) {</p><p> boolean full = true;</p><p> for(int x=0; x<Global.WIDTH; x++) {</p><p> if(zaw[x][y] == 0) {</p><p>
63、full = false;</p><p><b> }</b></p><p><b> }</b></p><p> if(full) {</p><p> deleteLine(y);</p><p><b> }</b></p&g
64、t;<p><b> }</b></p><p><b> }</b></p><p> private void deleteLine(int lineNum) {</p><p> for(int y=lineNum; y>0; y--) {</p><p> fo
65、r(int x=0; x<Global.WIDTH; x++) {</p><p> zaw[x][y] = zaw[x][y-1];</p><p><b> }</b></p><p><b> }</b></p><p> for(int x=0; x<Global.WID
66、TH; x++) {</p><p> zaw[x][0] = 0;</p><p><b> }</b></p><p> deleteFullLine();</p><p><b> }</b></p><p> 利用循環(huán)語(yǔ)句從屏幕最底行依次向上對(duì)有方塊的每一行
67、進(jìn)行判斷,判斷某一行中是否有空白,如果沒(méi)有空白的話,則將當(dāng)前的行號(hào)傳遞給deleteLine(int lineNum)方法,由該方法實(shí)現(xiàn)消除當(dāng)前行,并將上面的方塊依次下移一行,最后再重新調(diào)用deleteFullLine()方法進(jìn)行查找,直到所有行都檢查一遍結(jié)束。</p><p> 5.2視圖層(View)設(shè)計(jì)</p><p> 5.2.1 方塊的顯示</p><p&
68、gt; 通過(guò)視圖層的GamePanel類的paint(Graphics g)方法調(diào)用Shape類的drawMe(Graphics g)方法,從而實(shí)現(xiàn)方塊的繪制,代碼如下:</p><p> public void drawMe(Graphics g) {</p><p> g.setColor(Color.BLUE);</p><p> for(int x=
69、0; x<4; x++) {</p><p> for(int y=0; y<4; y++)</p><p> if(getFlagByPoint(x, y)) {</p><p> g.setColor(new Shape().shapeColor);</p><p> g.fill3DRect((left + x)*G
70、lobal.CELL_SIZE, </p><p> (top + y)*Global.CELL_SIZE, </p><p> Global.CELL_SIZE, </p><p> Global.CELL_SIZE,</p><p><b> true);</b></p><p>&l
71、t;b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> 5.2.2 障礙物的顯示</p><p> 通過(guò)視圖層的GamePanel類的paint(Graphics g)方法調(diào)用Ground的drawMe(Grap
72、hics g) 方法,從而實(shí)現(xiàn)障礙物的繪制,代碼如下:</p><p> public void drawMe(Graphics g) {</p><p> for(int x=0; x<Global.WIDTH; x++) {</p><p> for(int y=0; y<Global.HEIGHT; y++) {</p><
73、;p> if(zaw[x][y] == 1) {</p><p> g.fill3DRect(x*Global.CELL_SIZE,</p><p> y*Global.CELL_SIZE, </p><p> Global.CELL_SIZE, </p><p> Global.CELL_SIZE,</p>&
74、lt;p><b> true);</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p>&
75、lt;p> 5.3 控制層(Controller)設(shè)計(jì)</p><p> 控制層主要是實(shí)現(xiàn)圖形工廠生產(chǎn)圖形,圖形按鍵事件的處理,方塊、障礙物顯示的控制,圖形自動(dòng)下落和障礙物生成的控制。通過(guò)控制層這個(gè)大管家最終實(shí)現(xiàn)此俄羅斯方塊的按鍵事件的處理以及各種邏輯的處理。</p><p><b> 5.4 游戲演示</b></p><p>
76、5.4.1 游戲界面顯示</p><p> 5.4.2 開始和結(jié)束控制菜單</p><p> 5.4.3 分?jǐn)?shù)和等級(jí)查看菜單</p><p> 5.4.4 變換方塊菜單</p><p> 5.4.5 幫助菜單</p><p><b> 5.系統(tǒng)測(cè)試</b></p><
77、;p> 5.1 游戲界面菜單選項(xiàng)的功能測(cè)試</p><p> (1) “控制”菜單測(cè)試</p><p> ?、冱c(diǎn)擊“游戲”“開始”</p><p><b> 輸出:游戲開始</b></p><p><b> 結(jié)果:正常</b></p><p> ?、邳c(diǎn)擊“游戲”
78、“結(jié)束”</p><p> 輸出:彈出游戲結(jié)束提示框</p><p><b> 結(jié)果:正常</b></p><p> (2) “查看”菜單測(cè)試</p><p> ?、冱c(diǎn)擊“查看”“分?jǐn)?shù)”</p><p> 輸出:在游戲面板中間跳出分?jǐn)?shù)顯示框</p><p><
79、b> 結(jié)果:正常</b></p><p> ?、邳c(diǎn)擊“查看”“級(jí)別”</p><p> 輸出:在游戲面板中間跳出級(jí)別顯示框</p><p><b> 結(jié)果:正常</b></p><p> (3) “變換”菜單測(cè)試</p><p> ?、冱c(diǎn)擊“變換”“改變方塊”</p
80、><p> 輸出:在游戲面板中顯示隨機(jī)產(chǎn)生的某種方塊</p><p><b> 結(jié)果:正常</b></p><p> 5.2 按鍵事件的功能測(cè)試</p><p> (1) 方塊移動(dòng)測(cè)試</p><p> 游戲過(guò)程中,點(diǎn)擊“左、右、下”方向鍵</p><p> 輸出:
81、方塊正常移動(dòng),不會(huì)移出邊界</p><p><b> 結(jié)果:正常</b></p><p> (2) 方塊反轉(zhuǎn)測(cè)試</p><p> 游戲過(guò)程中,點(diǎn)擊向上方向鍵</p><p> 輸出:方塊無(wú)邊界和障礙物阻擋的情況下可反轉(zhuǎn)</p><p><b> 結(jié)果:正常</b>
82、</p><p> 5.3方塊堆砌與消行測(cè)試</p><p> (1) 當(dāng)方塊下落到最底面或與障礙物接觸時(shí)</p><p> 輸出:方塊成功堆砌在底部</p><p><b> 結(jié)果:正常</b></p><p> (2) 當(dāng)出現(xiàn)滿行現(xiàn)象時(shí)</p><p> 輸
83、出:所有滿行被消除,方塊依次下移</p><p><b> 結(jié)果:正常</b></p><p> 5.4 測(cè)試結(jié)果分析</p><p> 經(jīng)過(guò)測(cè)試,本游戲?qū)崿F(xiàn)了基本的功能,不過(guò)整體功能還不是很強(qiáng)大,作為開發(fā)的第一個(gè)版本,游戲在很多方面還需要進(jìn)一步完善。</p><p><b> 結(jié) 論</b&g
84、t;</p><p> 游戲設(shè)計(jì)與實(shí)踐是一項(xiàng)復(fù)雜而且龐大的工作,在選題之后,我才意識(shí)到過(guò)程的艱難,因?yàn)橐郧皬膩?lái)沒(méi)有接觸過(guò)游戲設(shè)計(jì),剛開始時(shí)有點(diǎn)迷茫和彷徨。后來(lái)通過(guò)看書和在網(wǎng)上查找資料,逐漸找到了一些感覺(jué),也依照資料自己動(dòng)手編寫了幾個(gè)簡(jiǎn)單經(jīng)典的游戲。本文僅以俄羅斯方塊為例予以說(shuō)明。</p><p> 本次設(shè)計(jì)讓我初步懂得了電子游戲所涉及到的有關(guān)技術(shù)、方法,包括電子游戲分類、選題、構(gòu)思等。
85、并實(shí)現(xiàn)幾個(gè)可演示的游戲軟件,其中有很多應(yīng)用了學(xué)習(xí)的相關(guān)技術(shù),并且做到了圖、文、聲并茂,能實(shí)際演示。此次設(shè)計(jì)過(guò)程中印象最深的收獲有:1、學(xué)到了很多新知識(shí),并且對(duì)老知識(shí)進(jìn)行了回顧。經(jīng)過(guò)長(zhǎng)時(shí)間的學(xué)習(xí),更進(jìn)一步熟悉了Java語(yǔ)言。2、通過(guò)不斷上機(jī)實(shí)驗(yàn),調(diào)試程序,總結(jié)經(jīng)驗(yàn),從對(duì)課題的不理解到能夠開始動(dòng)手去做,提出問(wèn)題并自己想辦法解決問(wèn)題,自己多實(shí)踐,所以增強(qiáng)了動(dòng)手能力。3、提高了中、英文資料的檢索能力。這次畢業(yè)設(shè)計(jì)過(guò)程中我查閱了很多資料,不但有圖
86、書館的期刊、雜志、館藏圖書,還有網(wǎng)絡(luò)中的電子文檔、電子書籍、網(wǎng)頁(yè)及下載的視頻教學(xué)課程;不但有中文資料還有英文資料。這些資料,使我的眼界更開闊,對(duì)課題的認(rèn)識(shí)更加深刻,編寫程序的時(shí)候思路更加清楚,少走了很多彎路。</p><p> 但如果真的要從事游戲設(shè)計(jì)的工作,需要走的路還很長(zhǎng),即便是對(duì)于國(guó)際知名的大公司,也是在不斷的探索和實(shí)踐中前進(jìn)。但這并不表明前途就是渺茫的,通過(guò)這次實(shí)踐,進(jìn)行了一次從底而上和自上而下的歸納和
87、演繹的過(guò)程,在變化多端的游戲面前,總算領(lǐng)悟了一點(diǎn)它的奧妙。內(nèi)容繁復(fù)、采用的表現(xiàn)手段多姿多彩的游戲世界,即便是再?gòu)?fù)雜,也可以通過(guò)一定程度的歸納演繹得出適應(yīng)其規(guī)則和表現(xiàn)的契合點(diǎn)。</p><p> 回顧這個(gè)設(shè)計(jì)過(guò)程,我學(xué)到了許多書本上沒(méi)有學(xué)到的知識(shí)。通過(guò)這次自己制作的軟件,豐富了自己的實(shí)踐技能,擴(kuò)展了本專業(yè)的知識(shí)面,使我受益非淺,同時(shí)也體驗(yàn)到了搞軟件開發(fā)的困難度。在這次設(shè)計(jì)的同時(shí),我又從中學(xué)到了許多東西。但由于我對(duì)
88、這樣的軟件開發(fā)還只是一個(gè)開始,了解的不多,這其中或許還有很多的不足,有些模塊做得不是很好,有些功能還不能夠完全的實(shí)現(xiàn),如不能把要裝載的方塊提前顯示出來(lái)。因此做得不是很好,界面的設(shè)計(jì)及整體的布局還比較簡(jiǎn)單,沒(méi)有突出特色出來(lái),這也可能是我這個(gè)系統(tǒng)的不足之處。</p><p><b> 致 謝</b></p><p> 經(jīng)過(guò)一個(gè)多月的不斷努力,畢業(yè)設(shè)計(jì)內(nèi)容已經(jīng)基本上完
89、成了。</p><p> 首先,在這里我要由衷地感謝我的指導(dǎo)老師xx教授。他在畢業(yè)設(shè)計(jì)期間對(duì)本人給予了悉心指導(dǎo)和大力幫助。在畢業(yè)設(shè)計(jì)期間,在我的課題設(shè)計(jì)和論文撰寫過(guò)程中對(duì)我進(jìn)行了認(rèn)真檢查,嚴(yán)格督促和仔細(xì)批閱,并對(duì)我的課題提出了許多富有啟發(fā)性和建設(shè)性的意見(jiàn)和建議。</p><p> 同時(shí)我也要非常感謝班上的同學(xué),一直以來(lái)都是他們?cè)谏磉叾酱傥遥覀兓ハ喙膭?lì)共同進(jìn)步。</p>
90、<p> 另外,我還要感謝我的室友和身邊的好友,他們一直都在身邊支持我,在程序設(shè)計(jì)和論文撰寫的艱難過(guò)程中,他們帶給我歡樂(lè),帶給我信心,并給予了我很大的鼓勵(lì)與幫助。</p><p> 最后,在這里還要對(duì)我的家人和遠(yuǎn)方的朋友表示深深的感謝,他們?cè)诰窈臀镔|(zhì)上都給了我莫大的支持,沒(méi)有他們的關(guān)懷和愛(ài)護(hù),我想我就無(wú)法順利地完成這次畢業(yè)設(shè)計(jì)。</p><p><b> 參 考
91、 文 獻(xiàn)</b></p><p> [1] 羅偉堅(jiān)著.Visual C++經(jīng)典游戲程序設(shè)計(jì)[M].北京:人民郵電出版社,2006.2</p><p> [2] 朱福喜著. Java程序設(shè)計(jì)技巧與開發(fā)實(shí)例[M].北京:人民郵電出版社,2004.2</p><p> [3] 趙東躍著.俄羅斯方塊編程[M].電腦編程技巧與維護(hù),1998年第六期</
92、p><p> [4] 陸惠恩著. 實(shí)用軟件工程[M].北京:清華大學(xué)出版社,2006.5</p><p> [5] 黃復(fù)賢著.俄羅斯方塊游戲的敏捷設(shè)計(jì)與開發(fā)[M]. 電腦編程技巧與維護(hù),2005.4</p><p> [6] (美)Bruce Eckel著,陳昊天 譯.Java編程思想[M].北京:機(jī)械工業(yè)出版社,2007.6</p><p&g
93、t; [7] 高凌琴,陳青華 著. 俄羅斯方塊游戲關(guān)鍵技術(shù)探討[M].信息技術(shù)與信息化研究探討,2008年第二期.</p><p> [8] 王宇,戰(zhàn)學(xué)剛,高國(guó)偉著. 計(jì)算機(jī)算法解決俄羅斯方塊中的數(shù)學(xué)與計(jì)算問(wèn)題[M].計(jì)算機(jī)應(yīng)用與軟件,第二十四卷第三期,2007.3 .</p><p> [9]朱福喜,黃昊著. Java項(xiàng)目開發(fā)與畢業(yè)設(shè)計(jì)指導(dǎo)[M].北京:清華大學(xué)出版社,2008.6
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- java俄羅斯方塊畢業(yè)論文
- 畢業(yè)論文----java俄羅斯方塊
- 俄羅斯方塊游戲java畢業(yè)論文
- 畢業(yè)論文(java游戲俄羅斯方塊)
- 俄羅斯方塊畢業(yè)論文
- 俄羅斯方塊游戲畢業(yè)論文
- 俄羅斯方塊游戲開發(fā)畢業(yè)論文
- 畢業(yè)設(shè)計(jì)---俄羅斯方塊游戲java
- 畢業(yè)設(shè)計(jì) java實(shí)現(xiàn)俄羅斯方塊
- 基于java的俄羅斯方塊
- 俄羅斯方塊的java實(shí)現(xiàn)
- 俄羅斯方塊論文
- 畢業(yè)論文俄羅斯方塊的實(shí)現(xiàn)系統(tǒng)
- java俄羅斯方塊課程設(shè)計(jì)
- java課程實(shí)踐報(bào)告--俄羅斯方塊
- 俄羅斯方塊
- 基于java的俄羅斯方塊游戲開發(fā)
- java課程設(shè)計(jì)--俄羅斯方塊游戲
- java課程設(shè)計(jì)---俄羅斯方塊游戲
- java課程設(shè)計(jì)報(bào)告-俄羅斯方塊
評(píng)論
0/150
提交評(píng)論