




已閱讀5頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
全套設(shè)計(jì)加扣 3012250582湖南軟件職業(yè)學(xué)院畢業(yè)設(shè)計(jì)畢業(yè)選題:俄羅斯方塊指導(dǎo)教師:學(xué)生姓名:院系名稱:軟件工程系專業(yè)班級(jí):Java1304班學(xué)生學(xué)號(hào):提交日期:2015年12月19日III目 錄第一章.緒論- 1 -1.1 電子游戲及其分類- 1 -1.1.1游戲的組成要素- 1 -1.2 電子游戲發(fā)展現(xiàn)狀- 2 -1.2.1 電子游戲在國外的發(fā)展現(xiàn)狀- 2 -1.2.2 電子游戲在國內(nèi)的發(fā)展現(xiàn)狀- 3 -第二章.可行性研究- 5 -2.1 設(shè)計(jì)目的- 5 -2.2 軟件問題定義- 5 -2.3 可行性分析- 5 -第三章.需求分析- 7 -3.1 引言- 7 -3.2 游戲需求- 7 -3.3 軟硬件需求- 8 -3.4 接口控制- 8 -3.5 方案論證- 8 -3.5.1 VB的優(yōu)點(diǎn)- 8 -3.5.2 C+的優(yōu)點(diǎn)- 9 -3.5.3 Java的優(yōu)點(diǎn)- 9 -3.5.4 方案的選擇- 10 -第四章.概要設(shè)計(jì)- 12 -41 游戲設(shè)計(jì)方案的確定- 12 -IIII43 各個(gè)功能模塊圖設(shè)計(jì)- 13 -4.3.1 模型層(Model)功能模塊圖設(shè)計(jì)- 13 -4.3.2 視圖層(View)功能模塊圖設(shè)計(jì)- 14 -4.3.3 控制層(Controller)功能模塊圖設(shè)計(jì)- 14 -第五章. 詳細(xì)設(shè)計(jì)- 15 -5.1 模型層(Model)設(shè)計(jì)- 15 -5.1.1 圖形的產(chǎn)生- 15 -5.1.2 圖片的數(shù)據(jù)結(jié)構(gòu)- 15 -5.1.3 圖形的移動(dòng)- 17 -5.1.4 圖形的變形- 17 -5.1.5 存儲(chǔ)和表示障礙物- 17 -5.1.6 判斷滿行及消行- 18 -5.2 視圖層(View)設(shè)計(jì)- 19 -5.2.1 方塊的顯示- 19 -5.2.2 障礙物的顯示- 20 -5.2.3 點(diǎn)擊事件- 20 -5.2.4 圖形的各種狀態(tài)- 22 -5.3 控制層(Controller)設(shè)計(jì)- 24 -5.4 游戲演示- 25 -5.4.1 游戲界面顯示- 25 -5.4.3 分?jǐn)?shù)和銷毀的行數(shù)- 25 -5.4.4 結(jié)束界面- 26 -第六章.系統(tǒng)測(cè)試- 28 -6.1按鍵事件的功能測(cè)試- 28 -6.2 方塊堆砌與消行測(cè)試- 28 -6.3 測(cè)試結(jié)果分析- 28 -結(jié) 論- 29 -致 謝- 30 -IIIIII第一章緒論1.1 電子游戲及其分類 電子游戲,也就是運(yùn)行在家用電腦、家用電子游戲機(jī)或是掌中寶游戲機(jī)及街機(jī)上的電子游戲程序。電子游戲是一種結(jié)合劇情故事、美術(shù)、音樂、動(dòng)畫、程序等技術(shù)于一身的互動(dòng)型娛樂軟件,涉及到多個(gè)行業(yè)。 從電子游戲的分類來看,有著多種分類方式。傳統(tǒng)的游戲分類是按照游戲類型,將 其分為即時(shí)戰(zhàn)略游戲、第一人稱射擊游戲、角色扮演游戲、策略型游戲等類別。根據(jù)游戲運(yùn)行平臺(tái)的不同,可將電子游戲分為游戲機(jī)游戲、單機(jī)版PC游戲、互動(dòng)電視游戲、在線游戲和手機(jī)游戲。此外,韓國政府將電子游戲業(yè)分為家用游戲機(jī)游戲、單機(jī)版 PC 游 戲、網(wǎng)絡(luò)游戲和街機(jī)游戲四大類??紤]到中韓游戲業(yè)比較接近,論文采用韓國的分類標(biāo) 準(zhǔn)?!熬W(wǎng)絡(luò)游戲”也就是人們一般所指的“在線游戲”,是指通過互聯(lián)網(wǎng)進(jìn)行的電腦游戲,通過人與人之間的互動(dòng)達(dá)到交流、娛樂和休閑的目的。在互聯(lián)網(wǎng)(局域網(wǎng))技術(shù)出 現(xiàn)之前,電子游戲都可以歸于單機(jī)版游戲,即“人機(jī)對(duì)戰(zhàn)”游戲,或最多是雙人對(duì)戰(zhàn)游戲。而隨著互聯(lián)網(wǎng)技術(shù)的出現(xiàn),通過連接游戲服務(wù)器,上百、上千、乃至上萬的游戲玩 家同時(shí)連線娛樂成為了現(xiàn)實(shí),這就大大增加了游戲的互動(dòng)性、真實(shí)性,豐富了電子游戲的內(nèi)涵。從網(wǎng)絡(luò)游戲的分類來看,目前業(yè)界還沒有一個(gè)比較統(tǒng)一規(guī)范的分類。隨著計(jì)算 機(jī)設(shè)備和網(wǎng)絡(luò)技術(shù)的發(fā)展,電子游戲在全球得到了迅猛的發(fā)展,取得了巨大的成功,已成為當(dāng)今世界上不可缺少的精神糧食。 1.1.1游戲的組成要素“游戲”,最簡(jiǎn)單的定義,就是一種供人們娛樂休閑的快樂元素。從更專業(yè)的角度形容,“游戲”是具有特定行為模式、規(guī)則條件、身心娛樂及輸贏的一種行為表現(xiàn)。這種行為表現(xiàn)具備以下4個(gè)要素。行為模式:“游戲”最簡(jiǎn)單的要素就是游戲有特定的流程模式,這種流程模式貫穿于整個(gè)游戲的行為,用戶必須依照它的模式流程來執(zhí)行。倘若一種游戲沒有了特定的行為模式,那么就沒有執(zhí)行的行為;在沒有執(zhí)行的行為之后,這個(gè)游戲也玩不下去了。舉個(gè)例子來說,如果猜拳游戲沒有了剪刀、石頭、布等行為模式,那么這還能叫做“猜拳游戲”嗎?所以不管游戲的流程有多么復(fù)雜還是多么簡(jiǎn)單,一定要有特定的行為模式。條件規(guī)則:當(dāng)游戲有了一定的行為模式后,接著就必須制定出一系列的條件規(guī)則。簡(jiǎn)單來說,這些游戲的條件規(guī)則就是大家必須去遵守的游戲行為守則,只要是大家一致以為的游戲行為,在游戲中,玩家就必須遵守它,如果不遵守這種游戲行為,那么就失去了公平性。如同一種簡(jiǎn)單的球賽,打球的英文解釋可以用PLAYGAME來加以說明,按照英文字面上的解釋,它就是執(zhí)行游戲的行為,而球賽必須有一定的條件規(guī)則,并且參與者都要必須去遵守它,不能遵守它就叫作“犯規(guī)”。所以不管是什么游戲,它都會(huì)具備一組規(guī)則條件,在游戲進(jìn)行的時(shí)候才會(huì)有足夠的公平性。娛樂身心:一種游戲所帶來的娛樂性,關(guān)鍵就在于為玩家所帶來的刺激感,這也是游戲的精華所在。簡(jiǎn)單來說,不管是很多人玩的游戲,還是一個(gè)人玩的單機(jī)游戲,游戲本身就會(huì)存在它的娛樂和刺激性,使得玩家們想要去玩它。輸贏:其實(shí)針對(duì)游戲而言,輸贏是所有游戲的最終目的。一個(gè)沒有輸贏的游戲,也就沒有了它存在的意義,如同我們常常接觸到的猜拳游戲,說穿了最終目的就是為了分出勝負(fù)而己。一般而言,游戲又可以分為動(dòng)態(tài)和靜態(tài)兩種形態(tài)。動(dòng)態(tài)的游戲必須配合肢體動(dòng)作,如猜拳游戲;而靜態(tài)游戲則是較偏向思考的行為,如同紙上游戲。然而不管是動(dòng)態(tài)或是靜態(tài)游戲,只要具備上述4項(xiàng)組成要素,都可以將它稱為“游戲”1.2 電子游戲發(fā)展現(xiàn)狀1.2.1 電子游戲在國外的發(fā)展現(xiàn)狀 電子游戲是最初產(chǎn)生于美國,1971年,一個(gè)還在MIT就讀的學(xué)生設(shè)計(jì)了世界上第一個(gè)業(yè)務(wù)用游戲機(jī),這個(gè)街機(jī)游戲的名字叫電腦空間??梢哉f時(shí)至今日,電子游戲仍然是外國的天下。美國至今仍是世界第一大游戲市場(chǎng),它遵循的是以發(fā)行商為主的產(chǎn)業(yè)開發(fā)鏈模式,根據(jù)美國市場(chǎng)調(diào)查公司NPDGroup調(diào)查統(tǒng)計(jì),美國2004年游戲總銷售金額(包括家用、掌上型主機(jī)及軟件)為99億美元,占了全球游戲市場(chǎng)的45%。其中游戲軟件銷售的具體數(shù)字是:視頻游戲軟件的銷售額達(dá)52億美元(1.6 億套),PC游戲軟件銷售額達(dá)11億美元(4500萬套),掌機(jī)游戲銷售額達(dá)10億美元(4230萬套)。2004年一共大約有2.48億套游戲售出。據(jù)估計(jì),美國每個(gè)家庭平均購買過2部游戲3。 日本近 20 年來瘋狂賺電子游戲的錢。從上世紀(jì)60年代初的街機(jī),到六七十年代之間的家用游戲機(jī),再到八九十年代的掌上游戲機(jī),日本經(jīng)過 30 多年的耕耘,終于把電子游戲這棵“搖錢樹”,培育成第一時(shí)尚娛樂產(chǎn)業(yè),壟斷全球業(yè)界長達(dá)10余年。對(duì)于日本來說,電玩業(yè)已是國家經(jīng)濟(jì)的重要支柱之一,在GDP中占有1/5的舉足輕重地位。日本游戲業(yè)在最輝煌的 1998年,曾經(jīng)占領(lǐng)全球電子游戲市場(chǎng)硬件90%以上,軟件50以上。 韓國號(hào)稱世界上網(wǎng)絡(luò)游戲產(chǎn)業(yè)最發(fā)達(dá)國家之一。迄今為止,國內(nèi)網(wǎng)絡(luò)游戲市場(chǎng)有超過60%的產(chǎn)品來自韓國游戲軟件開發(fā)商,韓國網(wǎng)絡(luò)游戲使國內(nèi)很多游戲運(yùn)營公司在游戲營銷市場(chǎng)或股票資本市場(chǎng)上獲得了巨大的成功。韓國游戲市場(chǎng)的發(fā)展不是偶然,韓國 政府不僅給游戲產(chǎn)業(yè)以正確的定位和引導(dǎo),更是將其和本國經(jīng)濟(jì)發(fā)展緊密地聯(lián)系到一起,做了很多市場(chǎng)培育方面的工作。韓國政府認(rèn)識(shí)到,靠重型工業(yè)來支撐全國經(jīng)濟(jì)的做 法是片面的,于是將、娛樂產(chǎn)業(yè)視為新的經(jīng)濟(jì)增長點(diǎn),開始大力扶持。從那時(shí)起,科技含量極高而能源消耗極低的游戲制作及相關(guān)產(chǎn)業(yè)擔(dān)負(fù)起了“富國興邦”的重?fù)?dān)。由文化觀光部出面組建韓國游戲支援中心,向韓國游戲產(chǎn)業(yè)提供從資金到技術(shù)上的多方面支援;成立游戲投資聯(lián)盟,政府每年向游戲產(chǎn)業(yè)投入的資金多達(dá)億韓元,并為游戲企業(yè)提供長期的低息貸款;設(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è)的高科技人才免除兩年的兵役。在3 韓國,從制作到運(yùn)營,一個(gè)網(wǎng)絡(luò)游戲公司起步門檻較低,主要得益于政府實(shí)行的援助計(jì)劃。此外,在有利的政策形勢(shì)下,韓國出現(xiàn)了眾多的游戲院校,一些原本不涉足此領(lǐng)域 的大學(xué)也開設(shè)了游戲相關(guān)專業(yè)課程,以大力培養(yǎng)游戲?qū)I(yè)人才,從而為游戲生產(chǎn)提供了基礎(chǔ)保障。 1.2.2 電子游戲在國內(nèi)的發(fā)展現(xiàn)狀 與電子游戲發(fā)達(dá)的國家相比,我國在電子游戲方面還存在比較大的差距。目前,我國游戲市場(chǎng)正處于發(fā)展階段,但市場(chǎng)上的游戲軟件主要來自日本、美國、韓國等地,但由本土游戲制作人開發(fā)創(chuàng)作的游戲正在高速增加,國產(chǎn)原創(chuàng)的游戲即將成為游戲的主流。 中國的游戲產(chǎn)業(yè)經(jīng)過80年代初期臺(tái)灣廠商的探索至90年代,開始了自己的研發(fā)、發(fā)行的歷程,直至網(wǎng)絡(luò)游戲的風(fēng)行,讓中國的網(wǎng)絡(luò)游戲開始有了飛速的發(fā)展。1983年,智冠科技有限公司在中國臺(tái)灣成立,為全球第一家簽訂授權(quán)重制中文版產(chǎn)品代理銷售合約的公司,2000年智冠在臺(tái)灣股票上市,2002年其控股的中華網(wǎng)龍?jiān)谂_(tái)灣上市。 1996年底,UBISOFT上海分公司暨上海育碧電腦軟件有限公司成立。同年,全球游戲軟件領(lǐng)軍企業(yè)EA在中國上海成立辦事處。1997年,由尚洋公司制作的血獅正 式上市。1997年,北京新天地互動(dòng)多媒體技術(shù)有限公司成立,該公司引進(jìn)了古墓麗 影 III(TombRaider III)、盟軍敢死隊(duì)等著名歐美游戲,并在1999年在中國率先掀起“游戲軟件價(jià)格革命”,全面推行50元的價(jià)格體系,從此正版游戲價(jià)格開始貼近 大眾消費(fèi)者。1999年,業(yè)內(nèi)估算中國電腦游戲市場(chǎng)(正版)約1.5億元人民幣。2000年,大陸華彩軟件代理發(fā)行第一款中文 MMORPG萬王之王正式推出,該游戲于1999年在臺(tái)灣發(fā)行,由臺(tái)灣雷爵資訊(Lager)開發(fā)。也在2000年,繼萬王之王、石器 時(shí)代、網(wǎng)絡(luò)三國在臺(tái)灣上市之后,游戲桔子推出了天堂,游戲桔子成立于1995年,1999年以便利店在臺(tái)灣奠定了地位天堂這款由韓國著名游戲公司 Ncsoft研發(fā)的網(wǎng)絡(luò)游戲不但在本國大獲成功,也在臺(tái)灣再次奪冠。2001年初,北京華義在中 國大陸地區(qū)正式推出了石器時(shí)代,華義國際股份有限公司于1993 年在臺(tái)北成立,2001年在臺(tái)灣股票上市。石器時(shí)代成為大陸當(dāng)時(shí)最流行的網(wǎng)絡(luò)游戲。2001年,天人互動(dòng)軟件技術(shù)有限公司在北京成立。當(dāng)年與 SEGA 結(jié)成 PC 游戲業(yè)務(wù)的戰(zhàn)略合作關(guān)系,發(fā)行了櫻花大戰(zhàn)文明無冬之夜等經(jīng)典游戲,2002 年,引進(jìn)在歐美網(wǎng)絡(luò) 游戲魔劍(Shadow Bane),這是首款在中國測(cè)試的歐美網(wǎng)絡(luò)游戲。2001年5月,“聯(lián)眾世界”經(jīng)過3年多的迅速成長,以同時(shí)在線17萬人、注冊(cè)用戶約 1800萬的規(guī)模,成為當(dāng)時(shí)世界用戶數(shù)量第一的在線游戲網(wǎng)站。2005年1月21日,中央電視臺(tái)報(bào)道:我國網(wǎng)絡(luò)游戲產(chǎn)業(yè)當(dāng)年增加了50%今后幾年都 將以50%以上的速度增長;第一屆中國網(wǎng)絡(luò)游戲年會(huì)報(bào)道:中國國內(nèi)網(wǎng)絡(luò)游戲2004年規(guī)模達(dá)24.7億元,2009年規(guī)模將達(dá)到109.6億元。第二章可行性研究 2.1 設(shè)計(jì)目的 通過本游戲的設(shè)計(jì),綜合自己在校期間所學(xué)的理論知識(shí),設(shè)計(jì)開發(fā)俄羅斯方塊游戲,使自己熟悉應(yīng)用系統(tǒng)的開發(fā)過程,培養(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é)合的目的。 2.2 軟件問題定義 基本要求:本游戲開發(fā)的總體任務(wù)是實(shí)現(xiàn)游戲的可操作性,以及界面的美觀性。整個(gè)開發(fā)過程遵循軟件工程規(guī)范,采用 JAVA GUI 編程來實(shí)現(xiàn)界面以及事件的控制,用戶 根據(jù)鍵盤的四個(gè)方向鍵控制翻轉(zhuǎn)、向左、向右和向下操作,通過菜單欄中的相應(yīng)菜單選項(xiàng)實(shí)現(xiàn)游戲的開始、結(jié)束、變換方塊、積分以及等級(jí)的功能。 目標(biāo):通過本游戲的開發(fā),主要實(shí)現(xiàn)游戲的可操作性以及美觀性,同時(shí)使自己對(duì) JAVA 語言的了解更進(jìn)一層,為將來的實(shí)際工作打下堅(jiān)實(shí)的基礎(chǔ)。條件、假定和限制:由于知識(shí)以及能力的限制,本游戲所實(shí)現(xiàn)的功能不夠強(qiáng)大,可對(duì)本游戲進(jìn)行改善,從而增強(qiáng)游戲的功能。 可行性研究的方法:通過研究分析俄羅斯方塊所具備的能力及實(shí)現(xiàn)的方法、確定主體結(jié)構(gòu)。利用現(xiàn)階段我所能達(dá)到的能力,以最簡(jiǎn)潔、最容易的辦法,邊開發(fā)邊測(cè)試邊修改,實(shí)現(xiàn)一個(gè)初級(jí)游戲軟件。 評(píng)價(jià)尺度:由于本軟件是一個(gè)初級(jí)產(chǎn)品,對(duì)其要求不是太苛刻,所以能夠達(dá)到俄羅 斯游戲的一般功能即可。 2.3 可行性分析 管理可行性:該游戲軟件為首次開發(fā),目的只為提高工作自身素質(zhì)和檢自學(xué)Java的效果,用Java3.0軟件編寫后在Applet管理器中運(yùn)行簡(jiǎn)單明了,所有功能均根據(jù)基本需求所做。于管理,所以在這方面是可以實(shí)現(xiàn)的。經(jīng)濟(jì)可行性:由于本游戲的主要背景是畢業(yè)課程設(shè)計(jì),不注重直接的經(jīng)濟(jì)效益和其后的發(fā)展方向,只在注重自身水平和能力的提高,對(duì)自身的經(jīng)濟(jì)要求也不高,只要有一臺(tái)能運(yùn)行JAVA3.0軟件的電腦便可,所以不用考慮到經(jīng)濟(jì)問題。技術(shù)可行性:可用與本游戲的編程語言有VB,Java,Delphi等,考慮到用于編寫程序的困難度,和對(duì)語言的了解程度,選擇JAVA作為編程語言。需要對(duì)變量定義、變量初始化、界面初始化、游戲初始化、然后進(jìn)入游戲、處理游戲過程中的各種操作。社會(huì)可行性:本游戲的開發(fā)作為畢業(yè)課程設(shè)計(jì)以鞏固先前所學(xué)的知識(shí)以個(gè)人為單位,僅供個(gè)人平常娛樂所用,無須考慮有可能造成的社會(huì)影響,不用慮到法律、版權(quán)等的社會(huì)因素,所以在這方面是完全可行的。 第三章需求分析 3.1 引言 對(duì)軟件需求分析就是通過調(diào)查研究,建立系統(tǒng)的數(shù)據(jù)模型、功能模型、行為模型,用戶和開發(fā)人員在“系統(tǒng)必須做什么”這個(gè)問題上實(shí)現(xiàn)相互理解,達(dá)到共識(shí),從而形成雙方認(rèn)可的軟件產(chǎn)品的需求規(guī)格說明書。這樣有益于提高軟件開發(fā)過程中 的能見度,便于對(duì)軟件開發(fā)過程中的控制與管理,便于采用工程方法開發(fā)軟件,提高軟件的質(zhì)量,便于開發(fā)人員、維護(hù)人員、管理人員之間的交流、協(xié)作,并作為工 作成果的原始依據(jù),并且在向潛在用戶傳遞軟件功能、性能需求,使其能夠判斷該軟件是否與自己的需求相關(guān)。 3.2 游戲需求 28 種狀態(tài)的方塊隨機(jī)產(chǎn)生,自由下落,落下時(shí)可由玩家用上、下、左、右控 制鍵控制翻轉(zhuǎn)和移動(dòng),以便以玩家所需要的形態(tài)和位置落下。如果落下時(shí),方塊的方格能填滿某一行,則這一行可消去。消去一行后,游戲可給玩家加分,若由存在 空格的方塊填滿整個(gè)窗口,則游戲失敗。游戲功能需求如下:游戲界面需求:設(shè)計(jì)良好的游戲界面可以讓玩家充分感受到游戲帶來的娛樂 性,游戲的背景是用圖片,方塊用藍(lán)色顏色,在一定的區(qū)域內(nèi)運(yùn)動(dòng)和變形,落下后的障礙物用黃色顯示,這樣看起來會(huì)有一定的美感。 游戲形狀需求:用數(shù)組作為存儲(chǔ)方塊 28 種狀態(tài)的數(shù)據(jù)結(jié)構(gòu),即長條形、Z字形、反Z形、田字形、7字形、反7形、T字型,各個(gè)方塊要能實(shí)現(xiàn)它的變形,可設(shè)為順時(shí)針或逆時(shí)針變形,一般為逆時(shí)針。 鍵盤處理事件需求:方塊下落時(shí),可通過鍵盤方向鍵(上、下、左、右鍵) 對(duì)該方塊進(jìn)行向上(變形),向下(加速)、向左、向右移動(dòng)。 鼠標(biāo)處理事件需求:通過點(diǎn)擊菜單欄中相應(yīng)的菜單項(xiàng),可以實(shí)現(xiàn)游戲的開始、結(jié)束,方塊形狀的變換,分?jǐn)?shù)、等級(jí)的顯示,以及游戲幫助等功能。 顯示需求:當(dāng)不同的方塊填滿一行時(shí)可以消行,剩余方塊向下移動(dòng)并統(tǒng)計(jì)分?jǐn)?shù)。當(dāng)達(dá)到一定分?jǐn)?shù)的時(shí)候,會(huì)增加相應(yīng)的等級(jí)。 3.3 軟硬件需求 操作系統(tǒng):Microsoft Windows XP Professional Service Pack 2 內(nèi)存:512M 硬盤:80G CPU:賽揚(yáng) 2.8 交互工具:鍵盤/鼠標(biāo) 顯示器:VGA 顯示器 JDK 版本:jdk1.6.0.02 Eclipse 版本:eclipse-SDK-3.4-win32 3.4 接口控制 本游戲通過鍵盤進(jìn)行操作,在Windows的操作系統(tǒng)下,利用鍵盤的上、下、左、右鍵對(duì)方塊進(jìn)行移動(dòng)變形,要使用鍵盤的接口事件。 3.5 方案論證 學(xué)?,F(xiàn)已開設(shè)的課程C語言、C+,java,自己本身自學(xué)了Java,通過網(wǎng)上以及圖書館的資料,知道可以通過C,C+,VBDelphi,Java實(shí)現(xiàn)俄羅斯方塊游戲的設(shè)計(jì)。下面簡(jiǎn)單介紹下VB、C+、Java各自的優(yōu)點(diǎn): 3.5.1 VB的優(yōu)點(diǎn) 全稱VisualBasic,它是以Basic語言作為其基本語言的一種可視化編程工具。在中國乃至全世界都能看到它的身影,它曾是在中國最為流行的編程工具,到現(xiàn)在還占據(jù)著非常重要的地位,對(duì)于它的好壞大家都有一定的了解,VB作為一種較早出現(xiàn)的開發(fā) 程序以其容易學(xué)習(xí),開發(fā)效率較高,具有完善的幫助系統(tǒng)等優(yōu)點(diǎn)曾影響了好幾代編程人員,但是由于VB不具備跨平臺(tái)這個(gè)特性,從而也決定了VB在未來的軟件開發(fā)中將會(huì) 逐漸地退出其歷史舞臺(tái);它對(duì)組件技術(shù)的支持是基于COM和 ActiveX,對(duì)于組件技術(shù)不斷完善發(fā)展的今天,它也顯出了它的落后性;同時(shí)VB在進(jìn)行系統(tǒng)底層開發(fā)的時(shí)候也是調(diào)用不方便,不能進(jìn)行DDK編程,不可能深入Ring0相對(duì)復(fù)雜的,調(diào)用API函數(shù)需聲明,編程,不能嵌套匯編;而且面向?qū)ο蟮奶匦圆睿痪W(wǎng)絡(luò)功能和數(shù)據(jù)庫功能也沒有非常突出 的表現(xiàn),綜上所述,VB作為一種可視化的開發(fā)工具由于其本身的局限性,導(dǎo)致了它在未來軟件開發(fā)中逐步被其他工具所代替。 3.5.2 C+的優(yōu)點(diǎn) C+是對(duì)C語言的擴(kuò)充,擴(kuò)充的絕大部分來自著名語言中的最佳特性:從 SIMULA67中吸取了類,從ALGOL68中吸取了運(yùn)算符一名多用、引用和在分程序中任何地方說明 變量,綜合了Ada的類屬和Clu的模塊特點(diǎn),從BCPL中吸取異常處理,從BCPL中吸取了用/表示注釋。 C+保持了C的緊湊、靈活、高效和易移植強(qiáng)的優(yōu)點(diǎn),它對(duì)數(shù)據(jù)抽象的支持主要在于類概念和機(jī)制,對(duì)面向?qū)ο箫L(fēng)范的支持主要通過虛擬函數(shù)。C+既有數(shù)據(jù)抽象和面向?qū)ο竽芰ΓZ言運(yùn)行性能高多,加上C語言的普及,而從C至 C+的過渡較為平滑,以及 C+與C的兼容程度可使數(shù)據(jù)巨大的C程序能方便地在 C+環(huán)境中重用。 盡管C+當(dāng)初的設(shè)計(jì)本意是幫助管理大型程序,但其用途并不僅限于此。C+的面向 對(duì)象的特性可有效地用于實(shí)際的程序設(shè)計(jì)工作。C+常常用于設(shè)計(jì)編輯器、數(shù)據(jù)庫、個(gè)人文件系統(tǒng)以及通訊程序等。而且,由于C+共享C的效率,所以用C+可以構(gòu)成很多高性能的系統(tǒng)軟件。 3.5.3 Java的優(yōu)點(diǎn) (1) 安全性 Java 是一種安全的網(wǎng)絡(luò)編程語言,不支持指針類型,一切對(duì)內(nèi)存的訪問都必須通過對(duì)象的實(shí)例來實(shí)現(xiàn)。這樣能夠防止他人使用欺騙手段訪問對(duì)象的私有成員,也能夠避免 在指針操作中易產(chǎn)生的錯(cuò)誤。 此外,Java的安全性體現(xiàn)在多個(gè)層次上:在編譯層,有語法檢查;在解釋層,有字節(jié)碼校驗(yàn)器,可進(jìn)行代碼段格式測(cè)試和規(guī)則檢查、訪問權(quán)限和類型轉(zhuǎn)換合法性檢查、操8作數(shù)堆棧的上溢和下溢檢測(cè)、代碼參數(shù)類型合法性檢查等;在平臺(tái)層上,通過配置策略,可設(shè)定訪問資源域,無須區(qū)分本地或遠(yuǎn)程。 (2) 可移植性 Java具備有很好的移植性,這主要得益于它與平臺(tái)無關(guān)的特性。同時(shí),Java的類庫中也實(shí)現(xiàn)了與平臺(tái)無關(guān)的接口,這使得這些類庫也能移植。同時(shí),Java編譯器主要是 由 Java 本身來實(shí)現(xiàn)的,Java的運(yùn)行系統(tǒng)(解釋器)由標(biāo)準(zhǔn)C語言實(shí)現(xiàn),因而整個(gè)Java系統(tǒng)都具有可移植性。 (3) 多線程機(jī)制 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ù)量的客戶訪問提供了技術(shù)基礎(chǔ)。 (4) 跨平臺(tái) 通常,在Windows下編寫的程序是不能直接拿到UNIX上運(yùn)行的,因?yàn)槌绦虻膱?zhí)行最終必須轉(zhuǎn)換成為計(jì)算機(jī)硬件的機(jī)器指令來執(zhí)行,專門為某種計(jì)算機(jī)硬件和操作系統(tǒng)編寫的 程序是不能夠直接放到其他類型的計(jì)算機(jī)硬件上執(zhí)行的,至少要做移植工作。要想讓程 序能夠在不同的計(jì)算機(jī)上運(yùn)行,就要求程序設(shè)計(jì)語言能夠跨越各種軟件和硬件平臺(tái),而 Java 恰恰滿足了這一需求。Java編譯器能夠產(chǎn)生一種與計(jì)算機(jī)體系結(jié)構(gòu)無關(guān)的字節(jié)指令,只要安裝了Java虛擬機(jī),Java就可以在相應(yīng)的處理機(jī)上執(zhí)行。 3.5.4 方案的選擇 面向?qū)ο蟮某绦蛟O(shè)計(jì)吸取了結(jié)構(gòu)化程序設(shè)計(jì)的先進(jìn)思想, 并把它們同幾個(gè)支持用戶 用新方法進(jìn)行程序設(shè)計(jì)的有力概念結(jié)合在一起。 所有面向?qū)ο蟮某绦蛟O(shè)計(jì)語言一般都包含三個(gè)概念:封裝、多態(tài)性和繼承性。 這種方法要求語言必須具備抽象、封裝、繼承和多態(tài)性這幾個(gè)關(guān)鍵要素。 面向?qū)ο蟮某绦蛟O(shè)計(jì),是通過數(shù)據(jù)和代碼建立分塊的內(nèi)存區(qū)域,以便提供對(duì)程序進(jìn)行模塊化的一種程序設(shè)計(jì)方法,這些模塊可以被用作樣板,在需要時(shí)再建立其副本。C+和Java在面向?qū)ο筮@方面比VB要強(qiáng),所以我排除了用VB做的可能性。但是C+為了與C語言兼容,其是包含了些面向過程的成分;Java除了C+中非面向過程的部分其程序編寫過程就是設(shè)計(jì)、實(shí)現(xiàn)類,定義其屬性、行為的過程。還有Java特有的“沙箱”機(jī)制9是其安全性的保障,同時(shí)它去除了C+中易造成的錯(cuò)誤指針,增加了自動(dòng)內(nèi)存管理等措 施,保證了Java程序運(yùn)行的可靠性。 所以經(jīng)過再三比較了三種語言后,決定采用Java語言編寫俄羅斯方塊。第四章 概要設(shè)計(jì) 41 游戲設(shè)計(jì)方案的確定 本游戲的設(shè)計(jì)采用MVC模式(Model -View -Controller),即把本游戲的輸入、處理、輸出流程按照Model、View、Controller的方式進(jìn)行分離,這樣本游戲的設(shè)計(jì)被分成三個(gè)層模型層、視圖層、控制層。MVC模型圖如下圖3-3所示:圖 3-3MVC模型圖 42 系統(tǒng)流程結(jié)構(gòu)設(shè)計(jì)通過工廠類生產(chǎn)各種圖片,然后通過事件處理,實(shí)現(xiàn)各種功能,如圖3-4所示:圖 3-4 安卓系統(tǒng)設(shè)計(jì)圖43 各個(gè)功能模塊圖設(shè)計(jì) 4.3.1 模型層(Model)功能模塊圖設(shè)計(jì)如圖3-5所示: 圖 3-5 JAVA系統(tǒng)框架圖 4.3.2 視圖層(View)功能模塊圖設(shè)計(jì)如圖3-6所示:圖 3-6 安卓系統(tǒng)框架圖4.3.3 控制層(Controller)功能模塊圖設(shè)計(jì) 如圖3-7所示:圖 3-7 JAVA系統(tǒng)框架圖第五章 詳細(xì)設(shè)計(jì) 5.1 模型層(Model)設(shè)計(jì) 5.1.1 圖形的產(chǎn)生 通過圖形工廠類randomOne()Randomr=newRandom();inttype=r.nextInt(7);隨機(jī)生成一個(gè)數(shù):0,7):0,1,2,3,4,5,6方法隨機(jī)加入方塊的圖片某種狀態(tài), 這里運(yùn)用了工廠設(shè)計(jì)模式,這種設(shè)計(jì)模式是為了實(shí)現(xiàn)高內(nèi)聚低耦合而存在的,這種設(shè)計(jì)模式的通俗解釋就是:你想要一個(gè)產(chǎn)品,你需要讓工廠給你生產(chǎn)一個(gè),你要告訴工廠你要生產(chǎn)什么產(chǎn)品,就把你需要生產(chǎn)的這個(gè)產(chǎn)品當(dāng)做參數(shù)傳給工廠類的生產(chǎn)產(chǎn)品 的方法,然后根據(jù)你傳進(jìn)來的產(chǎn)品,而決定工廠人生產(chǎn)什么產(chǎn)品,產(chǎn)生出來產(chǎn)品后,最后要返回您要的這個(gè)東西。如圖4-1所以:圖4-1 5.1.2 圖片的數(shù)據(jù)結(jié)構(gòu) 定義一個(gè)4x4方陣,共16個(gè)小格。用“0”和“1”來表示每個(gè)方格是繪制還是空白,由此可以組合出多種圖形,如圖4-2所示: 圖4-2其中圖一表示為0,0,0,-1, 0,1,1,0 , 0,0,0,0, 0,0,0,0 其中圖二表示為0,0,-1,0, 1,0,1,-1 , 0,1,1,0, 0,0,0,0 其中圖三表示為0,0,0,0, 0,1,0,0 , 0,1,1,1, 0,0,0,0 其中圖四表示為0,0,0,0, 0,1,0,1 , 0,1,1,0, 0,0,1,0 方塊的旋轉(zhuǎn)是通過繪制4個(gè)方向的方塊,在不同旋轉(zhuǎn)角度顯示不同方向的方塊來完成的。所以程序要控制方塊的旋轉(zhuǎn)方向,只要控制顯示哪副圖就可以了。 本游戲是用一個(gè)數(shù)組protected Cell cells=new Cell4; 作為存儲(chǔ)方塊的數(shù)據(jù)結(jié)構(gòu)來保存方塊的28種狀態(tài)的。 5.1.3 圖形的移動(dòng) 圖形類 Cell保存了自己的位置信息,用moveLeft表示圖形到左邊界的距離,moveRight表示圖形到右邊邊界的距離,圖形移動(dòng)就是改變moveLeft和moveLeft的值。 圖形的移動(dòng)分為圖形的自動(dòng)下落以及通過按鍵事件實(shí)現(xiàn)圖形的左移、 右移以及加速 下移。通過softDropAction 方法來實(shí)現(xiàn)圖形的自動(dòng)下移,由于游戲中方塊的動(dòng)態(tài)性,通過對(duì)按鍵事件的響應(yīng),實(shí)現(xiàn)圖形的左移、右移以及加速下移。 5.1.4 圖形的變形 通過rotateAction() 方法來實(shí)現(xiàn)圖形的旋轉(zhuǎn)具體代碼如下:public void rotateAction() /先向右轉(zhuǎn)一次 tetromino.rotateRight(); if(outBound()|coincide()tetromino.rotateLeft(); 5.1.5 存儲(chǔ)和表示障礙物 用一個(gè)和顯示區(qū)域的面板大小相對(duì)應(yīng)的二維數(shù)組保存障礙物的位置信息,如果對(duì)應(yīng)的 位置是障礙物,則這個(gè)數(shù)組中相應(yīng)的元素就為1,否則就為 0。如何把圖形變成障礙物呢?只要把屬于圖形的格子對(duì)應(yīng)的位置都變成障礙物即可。代碼如下:public void moveLeftAction()tetromino.moveLeft();if(outBound()|coincide()tetromino.moveRight();public boolean coincide() / 獲取方塊中的四個(gè)格子Cell cells = tetromino.cells;/ 依次遍歷并判斷for (Cell cell : cells) / 獲取每個(gè)格子的行和列int row = cell.getRow();int col = cell.getCol();if(wallrowcol!=null)return true;return false;5.1.6 判斷滿行及消行 如果某一行沒有空白,則這一行就是滿行。滿的那行上面所有的行整體下移一行就是消除這個(gè)滿行。代碼如下:public boolean fullCell(int row) Cell line=wallrow;for(int col=0;col=1;i-)System.arraycopy(walli-1, 0, walli, 0, COLS);Arrays.fill(wall0, null);利用循環(huán)語句從屏幕最底行依次向上對(duì)有方塊的每一行進(jìn)行判斷,判斷某一行中是否有空白,如果沒有空白的話,則將當(dāng)前的行號(hào)傳遞給deleteRow(int row)方法,由 該方法實(shí)現(xiàn)消除當(dāng)前行,并將上面的方塊依次下移一行,最后再重新調(diào)用Arrays.fill(wall0, null) 方法進(jìn)行查找,直到所有行都檢查一遍結(jié)束 5.2 視圖層(View)設(shè)計(jì) 5.2.1 方塊的顯示 通過Tetris 類的paintNextOne(Graphics g)方法,從而實(shí)現(xiàn)方塊的繪制,代碼如下:/畫下一個(gè)要下落的方塊public void paintNextOne(Graphics g) if(nextOne=null)return;Cell cells=nextOne.cells;for(Cell cell:cells)int x=CELL_SIZE*(cell.getCol()+10);int y=CELL_SIZE*(cell.getRow()+1);g.drawImage(cell.getImage(), x, y, null);/畫正在下落的方塊public void paintTetromino(Graphics g) if(tetromino=null)return;Cell cells=tetromino.cells;for(Cell cell:cells)int x=CELL_SIZE*cell.getCol();int y=CELL_SIZE*cell.getRow();g.drawImage(cell.getImage(), x, y, null); 5.2.2 障礙物的顯示 通過視圖層的Tetris類的paintWall(Graphics g)方法調(diào)用 Ground的drawMe(Graphics g) 方法,從而實(shí)現(xiàn)障礙物的繪制,代碼如下:public void paintWall(Graphics g) /畫格子for(int row=0;rowROWS;row+)for(int col=0;colCOLS;col+)Cell cell=wallrowcol;/得到坐標(biāo)int x=CELL_SIZE*col;int y=CELL_SIZE*row;if(cell=null)/畫小矩形g.drawRect(x, y, CELL_SIZE, CELL_SIZE);else/畫對(duì)應(yīng)的圖片g.drawImage(cell.getImage(), x, y, null); 5.2.3 點(diǎn)擊事件通過點(diǎn)擊事件來控制,圖形的左右移動(dòng),以及圖形的旋轉(zhuǎn),代碼如下:public void keyPressed(KeyEvent e) int key=e.getKeyCode(); if(key=KeyEvent.VK_Q) System.exit(0);if(pause)if(key=KeyEvent.VK_C)continueAction();return;if(gameOver)if(key=KeyEvent.VK_S)startAction();return;switch (key) case KeyEvent.VK_DOWN:softDropAction();System.out.println(tetromino);break;case KeyEvent.VK_LEFT:moveLeftAction();break;case KeyEvent.VK_RIGHT:moveRightAction();break;case KeyEvent.VK_SPACE:hardDropAction();break;case KeyEvent.VK_UP:rotateAction();break;case KeyEvent.VK_P:pauseAction();break;repaint();5.2.4 圖形的各種狀態(tài)通過圖片的坐標(biāo)來控制各種圖形的形狀,代碼如下:class T extends Tetrominopublic T()cells0=new Cell(0,4,Tetris.T);cells1=new Cell(0,3,Tetris.T);cells2=new Cell(0,5,Tetris.T);cells3=new Cell(1,4,Tetris.T);states=new State4;states0=new State(0,0,0,-1,0,1,1,0);states1=new State(0,0,-1,0,1,0,0,-1);states2=new State(0,0,0,1,0,-1,-1,0);states3=new State(0,0,1,0,-1,0,0,1);class I extends Tetrominopublic I()cells0=new Cell(0,4,Tetris.I);cells1=new Cell(0,3,Tetris.I);cells2=new Cell(0,5,Tetris.I);cells3=new Cell(0,6,Tetris.I);states = new State new State(0, 0, 0, -1, 0, 1, 0, 2), new State(0, 0, -1, 0, 1, 0, 2, 0) ;class S extends Tetrominopublic S()cells0=new Cell(0,4,Tetris.S);cells1=new Cell(0,5,Tetris.S);cells2=new Cell(1,3,Tetris.S);cells3=new Cell(1,4,Tetris.S);states = new State new State(0, 0, 0, -1, -1, 0, -1, 1), new State(0, 0, -1, 0, 0, 1, 1, 1) ;class Z extends Tetrominopublic Z()cells0=new Cell(1,4,Tetris.Z);cells1=new Cell(0,3,Tetris.Z);cells2=new Cell(0,4,Tetris.Z);cells3=new Cell(1,5,Tetris.Z);states = new State new State(0, 0, -1, -1, -1, 0, 0, 1), new State(0, 0, -1, 1, 0, 1, 1, 0) ;class L extends Tetrominopublic L()cells0=new Cell(0,4,Tetris.L);cells1=new Cell(0,3,Tetris.L);cells2=new Cell(0,5,Tetris.L);cells3=new Cell(1,3,Tetris.L);states = new State new State(0, 0, 0, 1, 0, -1, -1, 1), new State(0, 0, 1, 0, -1, 0, 1, 1), new State(0, 0, 0, -1, 0, 1, 1, -1), new State(0, 0, -1, 0, 1, 0, -1, -1) ;class J extends Tetrominopublic J()cells0=new Cell(0,4,Tetris.J);cells1=new Cell(0,3,Tetris.J);cells2=new Cell(0,5,Tetris.J);cells3=new Cell(1,5,Tetris.J);states = new State new State(0, 0, 0, -1, 0, 1, 1, 1), new State(0, 0, -1, 0, 1, 0, 1, -1), new State(0, 0, 0, 1, 0, -1, -1, -1), new State(0, 0, 1, 0, -1, 0, -1, 1) ;class O extends Tetrominopublic O()cells0=new Cell(0,4,Tetris.O);cells1=new Cell(0,5,Tetris.O);cells2=new Cell(1,4,Tetris.O);cells3=new Cell(1,5,Tetris.O);states = new State new State(0, 0, 0, 1, 1, 0, 1, 1), new State(0, 0, 0, 1, 1, 0, 1, 1) ;5.3 控制層(Controller)設(shè)計(jì) 控制層主要是實(shí)現(xiàn)圖形工廠生產(chǎn)圖形,圖形按鍵事件的處理,方塊、障礙物顯示的控 制,圖形自動(dòng)下落和障礙物生成的控制,玩家操作有:旋轉(zhuǎn)方塊;以格子為單位左右移動(dòng)方塊;讓方塊加速落下。方塊移到區(qū)域最下方或是著地到其他方塊上無法移動(dòng)時(shí),就會(huì)固定在該處,而新的方塊出現(xiàn)在區(qū)域上方開始落下。當(dāng)區(qū)域中某一行橫向格子全部由方塊填滿,則該列會(huì)消失并成為玩家的得分。同時(shí)刪除的行數(shù)越多,得分指數(shù)上升。當(dāng)固定的方塊堆到區(qū)域最上方而無法消除層數(shù)時(shí),則游戲結(jié)束。一般來說,游戲還會(huì)提示下一個(gè)要落下的方塊 預(yù)先設(shè)置的隨機(jī)發(fā)生器不斷地輸出單個(gè)方塊到場(chǎng)地頂部,通過控制層這個(gè)大管家最終實(shí)現(xiàn)此俄羅斯方塊 的按鍵事件的處理以及各種邏輯的處理。5.4 游戲演示 5.4.1 游戲界面顯示 游戲界面是有圖片實(shí)現(xiàn),如圖4-3所示:.圖4-35.4.3 分?jǐn)?shù)和銷毀的行數(shù) 每銷毀一行分?jǐn)?shù)加1分,連續(xù)銷毀23行加10分,銷毀4行加20分,如圖4-4所示:圖4-45.4.4 結(jié)束界面當(dāng)游戲結(jié)束是點(diǎn)擊S可重新開始游戲,如圖4-5所示:圖4-5第六章 系統(tǒng)測(cè)試 6.1按鍵事件的功能測(cè)試 (1)方塊移動(dòng)測(cè)試游戲過程中,點(diǎn)擊“左、右、下”方向鍵 輸出:方塊正常移動(dòng),不會(huì)移出邊界 結(jié)果:正常 (2) 方塊反轉(zhuǎn)測(cè)試游戲過程中,點(diǎn)擊向上方向鍵 輸出:方塊無邊界和障礙物阻擋的情況下可反轉(zhuǎn) 結(jié)果:正常 6.2 方塊堆砌與消行測(cè)試 (1) 當(dāng)方塊下落到最底面或與障礙物接觸時(shí) 輸出:方塊成功堆砌在底部 結(jié)果:正常 (2) 當(dāng)出現(xiàn)滿行現(xiàn)象時(shí) 輸出:所有滿行被消除,方塊依次下移 結(jié)果:正常 6.3 測(cè)試結(jié)果分析 經(jīng)過測(cè)試,本游戲?qū)崿F(xiàn)了基本的功能,不過整體功能還不是很強(qiáng)大,作為開發(fā)的第一個(gè)版本,游戲在很多方面還需要進(jìn)一步完善。結(jié) 論 游戲設(shè)計(jì)與實(shí)踐是一項(xiàng)復(fù)雜而且龐大的工作,在選題之后,我才意識(shí)到過程的艱難,因?yàn)?
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 除四害健康教育
- 血透?jìng)€(gè)案護(hù)理實(shí)踐與案例分析
- 心理健康科普知識(shí)宣傳
- 2025年安徽蚌埠市淮上區(qū)區(qū)屬國有企業(yè)招聘考試筆試試題(含答案)
- 2025年國家京劇院公開招聘畢業(yè)生13人筆試歷年典型考題及考點(diǎn)剖析附帶答案詳解
- 己亥雜詩 教學(xué)課件
- 食管異物的教學(xué)課件
- 六年級(jí)英語口語教學(xué)課件
- 暖通工程效益分析報(bào)告
- 網(wǎng)絡(luò)著作權(quán)的爭(zhēng)議案例
- 2025至2030中國柔性直流輸電行業(yè)運(yùn)營規(guī)劃及發(fā)展前景深度分析報(bào)告
- 安全產(chǎn)風(fēng)險(xiǎn)管理制度
- 深化國有企業(yè)改革調(diào)研提綱
- 小學(xué)騎車安全課件
- 公司個(gè)人獨(dú)資章程范本
- 《中國酒類企業(yè)ESG披露指南》
- 2025高考全國一卷語文真題
- GB/T 1094.1-2013電力變壓器第1部分:總則
- 整形美容專科病歷
- DB33T 1199-2020 農(nóng)村生活污水處理設(shè)施建設(shè)和改造技術(shù)規(guī)程
- SAE-J400-2002-中文版
評(píng)論
0/150
提交評(píng)論