貪吃蛇游戲java課程設(shè)計(jì)_第1頁
貪吃蛇游戲java課程設(shè)計(jì)_第2頁
貪吃蛇游戲java課程設(shè)計(jì)_第3頁
貪吃蛇游戲java課程設(shè)計(jì)_第4頁
貪吃蛇游戲java課程設(shè)計(jì)_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

寶雞文理學(xué)院課程設(shè)計(jì)(報(bào)告)寶雞文理學(xué)院計(jì)算機(jī)科學(xué)系《JAVA程序設(shè)計(jì)》課程設(shè)計(jì)報(bào)告題目貪吃蛇游戲姓名趙鵬飛張琦陳瑞李燁學(xué)號(hào)201096064073201096064077201096064072201096064016專業(yè)班級(jí)軟工10級(jí)本02班指導(dǎo)教師謝俊屏楊碎明日期2011年目錄1、課程設(shè)計(jì)任務(wù)及要求 11.1題目 11.2目的 11.3基本任務(wù) 11.4要求 11.5進(jìn)度安排 11.6地點(diǎn) 12.需求分析 12.1項(xiàng)目概述 12.2功能需求 12.3其它需求 13、系統(tǒng)設(shè)計(jì) 13.1總體設(shè)計(jì) 13.2類的設(shè)計(jì) 13.3處理流程 14、設(shè)計(jì)體會(huì)與小結(jié) 15.參考資料 16.源程序代碼 17.成績 1第5頁1、課程設(shè)計(jì)任務(wù)及要求1.1題目貪吃蛇游戲1.2目的復(fù)習(xí)、鞏固Java語言的基礎(chǔ)知識(shí),進(jìn)一步加深對Java語言的理解和掌握掌握java程序設(shè)計(jì)的思想、流程,企業(yè)要求代碼規(guī)范性及在項(xiàng)目中的應(yīng)用加強(qiáng)理論知識(shí)和實(shí)際應(yīng)用的結(jié)合應(yīng)用,鍛煉學(xué)生的分析解決實(shí)際問題的能力。提高學(xué)生適應(yīng)實(shí)際,實(shí)踐編程的能力培養(yǎng)學(xué)生在項(xiàng)目開發(fā)中團(tuán)隊(duì)合作精神,表達(dá)溝通、創(chuàng)新意識(shí)能力提高學(xué)生的科技論文寫作能力1.3基本任務(wù)能在游戲面板中出現(xiàn)蛇和食物能通過鍵盤的上下左右鍵來控制蛇的移動(dòng)能夠設(shè)置音效是否開啟;能夠通過選擇低級(jí)、中級(jí)、高級(jí)來設(shè)置蛇的爬行速度;貪吃蛇吞掉食物蘋果一個(gè),自身長度增加一;吞掉穿身寶物青蛙一只,增加一次穿身機(jī)會(huì);吞掉穿墻寶物老鼠一只,增加一次穿墻機(jī)會(huì);同時(shí)吃掉一個(gè)食物后會(huì)隨機(jī)出現(xiàn)若干食物;貪吃蛇在碰到游戲面板的邊緣時(shí),如果有穿墻機(jī)會(huì),繼續(xù)游戲,穿墻次數(shù)減一,如果無穿墻機(jī)會(huì),游戲結(jié)束;貪吃蛇在碰到自身時(shí),如果有穿身機(jī)會(huì),繼續(xù)游戲,穿身次數(shù)減一,如果無穿身機(jī)會(huì),游戲結(jié)束;在幫助界面里可以獲得游戲的玩法1.4要求對系統(tǒng)進(jìn)行功能模塊分析、控制模塊分析正確,符合課題要求,實(shí)現(xiàn)相應(yīng)功能;可以加以其他功能或修飾,使程序更加完善、合理系統(tǒng)設(shè)計(jì)要實(shí)用,編程簡練、規(guī)范,可用,功能全面說明書、流程圖要清楚,有解決問題辦法總結(jié)要求上機(jī)調(diào)試通過設(shè)計(jì)上交內(nèi)容:設(shè)計(jì)報(bào)告(按格式書寫),源程序文件,可執(zhí)行文件(包括資源文件)1.5進(jìn)度安排和人員分工進(jìn)度安排:2011年12月17日至工作分項(xiàng)12月17日18日19日20日21日六日一二三理論課需求分析需求評審編碼設(shè)計(jì)報(bào)告撰寫答辯1.6地點(diǎn)綜合樓701,主樓6樓計(jì)算機(jī)軟件實(shí)驗(yàn)分室2.需求分析2.1項(xiàng)目概述本項(xiàng)目是開發(fā)貪吃蛇游戲,它是一個(gè)老少皆宜雅俗共賞的益智類游戲,通過按鍵控制蛇的移動(dòng)來吃食物,適于用戶在空暇時(shí)刻放松身心休閑娛樂。2.2功能需求本項(xiàng)目主要功能有:1.選關(guān):選擇游戲難度級(jí)別,難度級(jí)別有低級(jí)、中級(jí)和高級(jí)三種模式。2.游戲:主要實(shí)現(xiàn)游戲的開始、暫停、繼續(xù)、結(jié)束等功能,游戲開始,在游戲面板中出現(xiàn)蛇和食物,通過鍵盤的上下左右鍵來控制蛇的移動(dòng),并且蛇能夠吃掉游戲面板中的食物,同時(shí)再隨機(jī)出現(xiàn)另外一個(gè)食物,能夠設(shè)置音效是否開啟;能夠通過選擇低級(jí)、中級(jí)、高級(jí)來設(shè)置蛇的爬行速度;貪吃蛇吞掉食物蘋果一個(gè),自身長度增加一;吞掉穿身寶物青蛙一只,增加一次穿身機(jī)會(huì);吞掉穿墻寶物老鼠一只,增加一次穿墻機(jī)會(huì);同時(shí),吃掉一個(gè)食物后會(huì)隨機(jī)出現(xiàn)若干食物;貪吃蛇在碰到游戲面板的邊緣時(shí),如果有穿墻機(jī)會(huì),則繼續(xù)游戲,且穿墻次數(shù)減一,如果無穿墻機(jī)會(huì),則游戲結(jié)束;貪吃蛇在蛇頭碰到自身時(shí),如果有穿身機(jī)會(huì),則繼續(xù)游戲,且穿身次數(shù)減一,如果無穿身機(jī)會(huì),則游戲結(jié)束;在幫助界面里可以獲得游戲的玩法;游戲中可以隨時(shí)暫停、繼續(xù)、結(jié)束游戲,蛇的開始、暫停、繼續(xù)、結(jié)束都是通過按鈕來控制。3.音效:控制游戲音效開關(guān)。4.幫助:顯示游戲操作說明。5.關(guān)于:顯示開發(fā)小組的信息。6.退出:退出游戲。2.3其它需求1.相關(guān)數(shù)據(jù):蛇的初始方向?yàn)椋合蛴疑叩某跏嘉恢脼椋鹤笊辖?;蛇的初始長度為:3格,每格的寬度為:10高度為:10像素點(diǎn)蛇的單步距離為:1格,初始難度為低。2.游戲界面應(yīng)該力求友好、美觀、操作簡單。3、系統(tǒng)設(shè)計(jì)3.1總體設(shè)計(jì)貪吃蛇游戲包含七個(gè)類:開始界面(MainFrame類)、主類(Snake類)、蛇類((SnakeBody類)、音效(Sound類)、游戲類(Mysnake類)、Action事件監(jiān)聽器類(MyActionListener類)、鍵盤監(jiān)聽器類(MykeyListener類)MainFrame類創(chuàng)建游戲界面,該類中嵌套了4個(gè)類,具體如下SnakeBody類(內(nèi)部類)創(chuàng)建蛇對象,實(shí)現(xiàn)蛇吃東西,移動(dòng)、添加蛇到地圖上等功能。MySnake類(內(nèi)部類)線程類,控制游戲的進(jìn)行MyActionListener類(內(nèi)部類)實(shí)現(xiàn)ActionEvent的監(jiān)聽。MykeyListener類(內(nèi)部類)實(shí)現(xiàn)鍵盤事件監(jiān)聽,通過鍵盤控制蛇的運(yùn)行方向。Sound類線程類,實(shí)現(xiàn)背景音樂的播放,提供給玩家的聽覺盛宴Snake類(主類)這個(gè)類是主類,對游戲界面進(jìn)行大小等的調(diào)節(jié)。Snake主類是通過創(chuàng)建MainFrame類對象進(jìn)入游戲界面。3.2類的設(shè)計(jì)1.MainFrame類(1)成員變量見表3-1表3-1主要成員變量(屬性)成員變量描述變量類型名稱游戲控制按鈕JButtonbeginpausevoicehelpaboutstop背景圖片ImageIconbackpic寶貝圖標(biāo)Iconfrogmouse食物圖標(biāo)IconredAppleblueApple等級(jí)單選按鈕JRadioButtonselect1select2select3游戲區(qū)按鈕組JButton[][]gameArea數(shù)據(jù)顯示區(qū)TextFieldtf1tf2tf3按鈕容器JPaneltopright按鈕組容器JPanelcenter標(biāo)簽文本框容器JPanelbottom實(shí)例對象SnakeBodyMySnakeSoundsnakethreadsound(2)方法見表3-2表3-2主要方法方法名稱返回類型功能備注MainFrame無類型創(chuàng)建游戲窗口構(gòu)造方法startvoid游戲初始化,啟動(dòng)游戲線程開始游戲initvoid初始化游戲2.SnakeBody類(內(nèi)部類)(1)成員變量 (略加上)加上(2)方法見表3-3表3-3主要方法方法名稱返回類型功能備注SnakeBody無類型初始化蛇構(gòu)造方法movevoid實(shí)現(xiàn)蛇的移動(dòng)foodsvoid產(chǎn)生食物3.MySnake類(內(nèi)部類)(1)成員變量 (無)(2)方法見表3-4表3-4主要方法方法名稱返回類型功能備注runvoid使蛇連續(xù)移動(dòng)方法重寫4.Sound類(1)成員變量 (略)(2)方法見表3-5表3-5主要方法方法名稱返回類型功能備注runvoid讀取音樂文件方法重寫5.Snake類 (1)成員變量 (無)(2)方法見表3-4表3-6主要方法方法名稱返回類型功能備注Snake無類型設(shè)置游戲窗口位置方法重寫mainvoid建立游戲主方法3.是否否S是否否Start是否遇到食物青蛙蘋果老鼠len+1Thoughbody+1Thoughwall+1蛇頭前移是否碰到自身或墻游戲結(jié)束蛇頭前移否是穿身穿墻次數(shù)小于0顯示結(jié)束信息是是是進(jìn)入游戲,獲取并設(shè)置蛇運(yùn)行速度否圖1處理流程

.3.3界面設(shè)計(jì)1)游戲開始界面:圖2游戲開始界面2)運(yùn)行界面:圖3運(yùn)行界面3)穿墻界面:圖4穿墻界面4)穿身界面:圖5穿身界面5)幫助界面:圖6幫助界面6)關(guān)于界面:圖7關(guān)于界面4、設(shè)計(jì)體會(huì)與小結(jié)我們是追夢小組,有趙鵬飛、張琦、陳瑞、李燁四名成員組成,本著青春如火,超越自我;揮舞激情,夢想起航的口號(hào),追逐著夢想的方向,為達(dá)到我們共同的最終的夢想而奮斗,堅(jiān)信我們有著蛇一樣的韌性,是最棒的!組長將組員們分工為:組長趙鵬飛:編寫和完善代碼張琦:編寫文檔陳瑞:美化游戲界面李燁:搜索資料趙鵬飛(組長):作為這次Java課程設(shè)計(jì)的組長,我深深地感受到了我肩上的重?fù)?dān):和組員一起共同筑就我們的夢想。這不止是一個(gè)學(xué)習(xí)的過程,同時(shí)也是提升自我、超越自我的過程。本著“青春如火,超越自我;揮舞激情,夢想起航”的口號(hào),我?guī)ьI(lǐng)著我的組員們?nèi)X取智慧之光,追逐夢想,完成我們貪吃蛇游戲的代碼編寫和調(diào)試。對于我們來說,每一項(xiàng)任務(wù)都是一個(gè)艱巨的挑戰(zhàn),可是,年輕就是來挑戰(zhàn)夢想的,因此我們無所畏懼。對于這次游戲代碼的編寫,我注重在字斟句酌,因?yàn)橐粋€(gè)不起眼的問題,有時(shí)甚至?xí)?dǎo)致系統(tǒng)崩潰,所以我會(huì)多點(diǎn)時(shí)間思考每句代碼的編寫。出現(xiàn)問題后,我并未急著修改,思考和推測了可能出現(xiàn)的原因,能解決的盡量解決;若是遇到了自己難懂的問題和解決不了的問題,我仍然滿懷信心,相信沒有解決不了的問題:請教老師,咨詢同學(xué),從圖書館查找參考資料,在網(wǎng)上搜索解決方案……總之,我會(huì)用各種不同方式來盡力解決擺在我眼前的難題。因?yàn)槲沂墙M長,所以我必須得盡力做到完美,這樣才能使每位組員對我信服,才能很好的領(lǐng)導(dǎo)我們每個(gè)組員來完善我們的工程。從開始到最后,我盡力做到努力讓每個(gè)組員都明確到:一個(gè)人的力量是有限的,但是如果能夠團(tuán)結(jié)大家的力量,那就能夠創(chuàng)造奇跡!我相信世界上沒有完美的個(gè)人,但有完美強(qiáng)大的團(tuán)隊(duì)!期待著我們的成功!張琦:Nothingsucceedwithoutastrongwill!這是我做Java課程設(shè)計(jì)的這幾天里感觸最深的一句話。我們組選擇了貪吃蛇游戲,希望我們小組能像蛇一樣頑強(qiáng)有韌性。雖然只有四名成員的追夢小組感到了旅途艱難,可是我們不畏懼,因?yàn)樽雒考露家泻軓?qiáng)的毅力,堅(jiān)持不懈的精神和不屈不撓的決心,并堅(jiān)信努力終會(huì)有成果。我知道:世上無難事,只怕有心人。只有百折不撓地試驗(yàn)試驗(yàn)再試驗(yàn),才會(huì)有成果。這次的課程設(shè)計(jì)既要求了我們每個(gè)人必須將自己所學(xué)的知識(shí)與實(shí)踐融匯貫通起來,又要求了我們必須有很強(qiáng)的團(tuán)隊(duì)精神來配合每位組員來完成每項(xiàng)任務(wù)。軟件開發(fā)確實(shí)是一件很累的活,要很好的完成這項(xiàng)任務(wù),首先我們得要有一定的軟件基礎(chǔ)知識(shí)功底和英語水平,還有就是多熟練掌握各種工具的用法,像是eclipse、photoshop之類的軟件。只有堅(jiān)持不懈的努力做好每一項(xiàng)小任務(wù),然后才能串成我們的大任務(wù)。這次的貪吃蛇游戲的實(shí)踐也讓我認(rèn)識(shí)到自己的能力還不夠,缺乏設(shè)計(jì)思想,相應(yīng)的知識(shí)還欠缺很多。同時(shí)這次Java課程設(shè)計(jì)的實(shí)踐讓我也進(jìn)一步的了解了Java的編程思想和類的封裝性、繼承性,事件的處理等問題。今后的我會(huì)更加努力來增強(qiáng)自己的文化學(xué)習(xí)知識(shí),讓自己更加充實(shí)!陳瑞:四天的Java課程設(shè)計(jì)已經(jīng)快要結(jié)束了,在這四天里,我們實(shí)踐著,學(xué)習(xí)著,也在進(jìn)步著。我們小組做的是貪吃蛇游戲,雖然學(xué)了一學(xué)期的Java,也寫過不少的程序,可是做這個(gè)程序還是覺得很難,為了做好這個(gè)課程設(shè)計(jì),我們上網(wǎng)查資料,找相關(guān)音樂,用PS做界面圖片,在老師的指導(dǎo)下,我學(xué)會(huì)了如何添加背景音樂和圖片。在這次課程設(shè)計(jì)中,我體會(huì)最深的是平時(shí)的動(dòng)手實(shí)踐太少,雖然課本上學(xué)到了不少,但是要把課本上學(xué)到的理論和實(shí)踐結(jié)合起來也不是那么容易,我們必須在現(xiàn)有的理論基礎(chǔ)上,不斷地進(jìn)行實(shí)踐操作,才能有所進(jìn)步,而不是只停留在理論知識(shí)上。這次課程設(shè)計(jì)不僅培養(yǎng)了我的動(dòng)手實(shí)踐能力,還增強(qiáng)了我團(tuán)隊(duì)合作的能力,在組長的帶領(lǐng)下,我們小組成員相互幫助,共同努力,才完成了這次課程設(shè)計(jì),在這個(gè)過程中我體會(huì)到了團(tuán)隊(duì)合作的快樂。最后,我決定在以后的學(xué)習(xí)中,多動(dòng)手進(jìn)行實(shí)際操作,在實(shí)踐中,總結(jié)經(jīng)驗(yàn),達(dá)到事半功倍的效果,希望我可以在實(shí)踐的殿堂里自由翱翔!李燁:我在學(xué)習(xí)了Java之后,發(fā)現(xiàn)Java在現(xiàn)實(shí)生活中的應(yīng)用非常廣,以及Java課程學(xué)習(xí)的重要性,而我們所學(xué)的知識(shí)都只是最基礎(chǔ)的東西,是滄海一粟。想要學(xué)習(xí)更深、更專業(yè)的東西,我必須不僅在電腦上多操作,還需要更加深度的加深理解力,尤其在編寫實(shí)用的軟件時(shí),更是需要。所以,只有在現(xiàn)在打好基礎(chǔ),以后才能更好的運(yùn)用。通過這次的課程設(shè)計(jì),我學(xué)到了很多,不只是我們的團(tuán)隊(duì)合作能力,還有在單純掌握實(shí)際操作的基礎(chǔ)上,我們必須加強(qiáng)與計(jì)算機(jī)網(wǎng)絡(luò)有關(guān)的其他方面的學(xué)習(xí),如英語。計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的發(fā)展與英語是密不可分的,沒有英語基礎(chǔ)的人是很難學(xué)好這門技術(shù)的。總之,這次的實(shí)驗(yàn)提高了我的動(dòng)手實(shí)踐能力,也使我對Java更加有興趣。Java面向?qū)ο蟪绦蛟O(shè)計(jì)是我們專業(yè)的一門主要的專業(yè)基礎(chǔ)課程,其實(shí)踐性和應(yīng)用性很強(qiáng),在加深對許多理論知識(shí)的了解,也要注重實(shí)踐與理論的結(jié)合,讓我學(xué)的更有成效。今后的我會(huì)更加努力向?qū)W習(xí)的更深處前進(jìn)!5.參考資料[1]耿祥義,張躍平.Java2實(shí)用教程(第三版)[M].北京:清華大學(xué)出版社,20066.源程序代碼本項(xiàng)目共有3個(gè)程序文件和14個(gè)資源文件,文件列表如下:程序文件MainWindow.javaSnake.javaSound.java2.資源文件01.jpg02,JPG02.png03.PNG04.png05.png06.jpg07.jpg12.jpg13.JPG

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論