




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
畢業(yè)設(shè)計論文作者學(xué)號系部專業(yè)題目指導(dǎo)教師評閱教師完成時間:畢業(yè)設(shè)計(論文)中文摘要(題目):基于Java的游戲設(shè)計——貪吃蛇摘要:“貪吃蛇”游戲是使用Java語言開發(fā)的一款經(jīng)典的游戲,它因操作簡單、娛樂性強(qiáng)而廣受歡迎。本文基于Java技術(shù)和eclipse開發(fā)環(huán)境,開發(fā)了一個操作簡單、界面美觀、功能較齊全的“貪吃蛇”游戲。整個游戲程序分為十個類模塊,實現(xiàn)了游戲的開始、暫停、結(jié)束,能夠?qū)崿F(xiàn)加速和減速。通過本游戲的開發(fā),達(dá)到學(xué)習(xí)Java技術(shù)和熟悉軟件開發(fā)流程的目的。本文在介紹Java相關(guān)技術(shù)時對“貪吃蛇”游戲的整個生命周期的各個開發(fā)階段進(jìn)行了詳細(xì)地介紹。首先,分析了開發(fā)本游戲軟件的可行性;其次,從游戲主界面等幾方面,分析了本游戲的功能需求;然后,進(jìn)行了游戲的概要設(shè)計和詳細(xì)設(shè)計,這也是本文的重點。概要設(shè)計給出兩個功能模塊的主框架以及八個類模塊的函數(shù)調(diào)用關(guān)系;詳細(xì)設(shè)計重點給出各個類模塊的程序列表,介紹了各個類包含的變量、使用的方法,展示了游戲的界面。為了保證程序代碼的正確性和功能實現(xiàn)的可靠性,本文還介紹了游戲軟件的程序調(diào)試過程和功能測試結(jié)果。關(guān)鍵詞:Javaeclipse貪吃蛇開發(fā)流程PAGE畢業(yè)設(shè)計(論文)外文摘要Title:Java-basedgamedesign——SnakeAbstract:SnakegameisaclassicgameusingtheJavalanguagedevelopment,itissimple,entertainingandpopular.ThisarticleisbasedonJavatechnologyandtheEclipsedevelopmentenvironment,developingasimple,beautifulinterface,Full-featured"Snake"game.Theentiregameprogramisdividedintotenmodules,thestartofthegame,pause,end,beingabletoachievespeedupandspeeddown.Throughthedevelopmentofthegame,toachievethepurposeoflearningJavatechnologyandfamiliarwiththesoftwaredevelopmentprocess.IntroducingJava-relatedtechnologies,adetaileddescriptionofthevariousdevelopmentphasesoftheentirelifecycleofthe"Snake"game.First,theanalysisofthefeasibilityofthedevelopmentofthegamesoftware;Secondly,thegamefromthemaingameinterfaceaspects,functionalrequirements;Then,theoutlinedesignanddetaileddesignofthegame,whichisthefocusofthisarticle.OutlinedesigngivesthemainframeofthetwofunctionalmodulesandTheeightmodulesfunctioncallrelationship;Detaileddesignfocusingofeachmoduleisgiventhelistofprograms,eachclasscontainsvariables,themethodsused,showingthegame'sinterface.Inordertoensurethecorrectnessandfunctionsachievingreliabilityoftheprogramcode,thearticlealsodescribestheresultsofthegamesoftwaredebuggingprocessandfunctionaltesting.keywords:JavaeclipseSnakethedevelopmentprocessPAGEI目錄1緒論 11.1Java語言的特點 11.2開發(fā)工具Eclipse介紹 21.3開發(fā)工具JDK介紹 21.4應(yīng)用環(huán)境 32系統(tǒng)需求分析 32.1需求分析 32.2可行性分析 33系統(tǒng)概要設(shè)計 43.1游戲流程圖 43.2設(shè)計目標(biāo) 53.3系統(tǒng)功能模塊 53.4系統(tǒng)數(shù)據(jù)結(jié)構(gòu)設(shè)計 74系統(tǒng)詳細(xì)設(shè)計 104.1程序設(shè)計 104.2貪吃蛇游戲各功能界面截圖 135系統(tǒng)測試 165.1測試的意義 165.2測試過程 165.3測試結(jié)果 17結(jié)論 18致謝 19參考文獻(xiàn) 19PAGE191緒論貪吃蛇是世界知名的益智類小游戲,選擇這個題目一方面是為了將我們自己的所學(xué)知識加以運用;另一方面,我希望通過自己的所學(xué)知識把它剖析開來,通過自己的動手實踐,真正的了解它的本質(zhì)和精髓。希望通過這次實踐,能從中提高自己的編程能力。并從中學(xué)會從零開始分析設(shè)計程序,達(dá)到學(xué)以致用,活學(xué)活用的目的。另外,通過本游戲的開發(fā),達(dá)到學(xué)習(xí)Java技術(shù)和熟悉軟件開發(fā)流程的目的。本游戲的開發(fā)語言為Java,開發(fā)工具選用Eclipse。Java是一種簡單的,面向?qū)ο蟮?,分布式的,解釋型的,健壯安全的,結(jié)構(gòu)中立的,可移植的,性能優(yōu)異、多線程的動態(tài)語言。這里采用Java作為開發(fā)語言主要是基于Java的面向?qū)ο蠛涂梢浦残?。Eclipse是一個開放源代碼的、基于Java的可擴(kuò)展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。1.1Java語言的特點1.1.1簡單性Java與C++語言非常相近,但Java比C++簡單,它拋棄了C++中的一些不是絕對必要的功能,如頭文件、預(yù)處理文件、指針、結(jié)構(gòu)、運算符重載、多重繼承以及自動強(qiáng)迫同型。Java實現(xiàn)了自動的垃圾收集,簡化了內(nèi)存管理的工作。1.1.2平臺無關(guān)性Java引進(jìn)虛擬機(jī)原理,并運行于虛擬機(jī),實現(xiàn)不同平臺之間的Java接口。Java的數(shù)據(jù)類型與機(jī)器無關(guān)。1.1.3安全性Java的編程類似C++,但舍棄了C++的指針對存儲器地址的直接操作,程序運行時,內(nèi)存由操作系統(tǒng)分配,這樣可以避免病毒通過指針入侵系統(tǒng)。它提供了安全管理器,防止程序的非法訪問。1.1.4面向?qū)ο驤ava吸收了C++面向?qū)ο蟮母拍?,將?shù)據(jù)封裝于類中,實現(xiàn)了程序的簡潔性和便于維護(hù)性,使程序代碼可以只需一次編譯就可反復(fù)利用。1.1.5分布式Java建立在TCP/IP網(wǎng)絡(luò)平臺上,提供了用HTTP和FTP協(xié)議傳送和接收信息的庫函數(shù),使用其相關(guān)技術(shù)可以十分方便的構(gòu)建分布式應(yīng)用系統(tǒng)。1.1.6健壯性Java致力于檢查程序在編譯和運行時的錯誤,并自動回收內(nèi)存,減少了內(nèi)存出錯的可能性。Java取消了C語言的結(jié)構(gòu)、指針、#define語句、多重繼承、goto語句、操作符、重載等不易被掌握的特性,提供垃圾收集器自動回收不用的內(nèi)存空間。1.2開發(fā)工具Eclipse介紹Eclipse是一個開放源代碼的、基于Java的可擴(kuò)展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運的是,Eclipse附帶了一個標(biāo)準(zhǔn)的插件集,包括Java開發(fā)工具(JavaDevelopmentTools,JDT)。雖然大多數(shù)用戶很樂于將Eclipse當(dāng)作JavaIDE來使用,但Eclipse的目標(biāo)不僅限于此。Eclipse還包括插件開發(fā)環(huán)境(Plug-inDevelopmentEnvironment,PDE),這個組件主要針對希望擴(kuò)展Eclipse的軟件開發(fā)人員,因為它允許他們構(gòu)建與Eclipse環(huán)境無縫集成的工具。盡管Eclipse是使用Java語言開發(fā)的,但它的用途并不限于Java語言;例如,支持諸如C/C++等編程語言的插件已經(jīng)可用,或預(yù)計會推出。Eclipse框架還可用來作為與軟件開發(fā)無關(guān)的其他應(yīng)用程序類型的基礎(chǔ),比如內(nèi)容管理系統(tǒng)等。1.3開發(fā)工具JDK介紹SunMicrosystems公司在推出Java語言的同時,推出了一套開發(fā)工具JDK。Sun提供的基于字符模式的Java開發(fā)工具包JDK:Java開發(fā)工具(JDK)是許多Java專家最初使用的開發(fā)環(huán)境。Java是平臺無關(guān)的語言是因為用Java寫的應(yīng)用程序不用修改就可在不同的軟硬件平臺上運行。Java源程序編寫借助于記事本編輯工具。所有的Java文件編輯、編譯、調(diào)試、解釋運行都是通過使用字符命令來執(zhí)行操作。JDK由一個標(biāo)準(zhǔn)類庫和一組建立,測試及建立文檔的Java實用程序組成。其核心JavaAPI是一些預(yù)定義的類庫,開發(fā)人員需要用這些類來訪問Java語言的功能。JDK是整個Java的核心,包括了Java運行環(huán)境(JavaRuntimeEnvironment),一堆Java工具和Java基礎(chǔ)的類庫。不論什么Java應(yīng)用服務(wù)器實質(zhì)都是內(nèi)置了某個版本的JDK。因此掌握J(rèn)DK是學(xué)好Java的第一步。最主流的JDK是Sun公司發(fā)布的JDK,除了Sun之外,還有很多公司和組織都開發(fā)了自己的JDK,例如IBM公司開發(fā)的JDK,BEA公司的Jrocket,還有GNU組織開發(fā)的JDK等等。其中IBM的JDK包含的JVM(JavaVirtualMachine)運行效率要比SunJDK包含的JVM高出許多。而專門運行在x86平臺的Jrocket在服務(wù)端運行效率也要比SunJDK好很多。1.4應(yīng)用環(huán)境(1)操作系統(tǒng):Windows7,Windowsxp等。(2)應(yīng)用軟件:jdk7.1,eclipse。2系統(tǒng)需求分析2.1需求分析本系統(tǒng)主要是完成貪吃蛇游戲的基本操作,用戶可以自己練習(xí)和娛樂。本系統(tǒng)需要滿足以下幾點要求:(1)利用方向鍵來改變蛇的運行方向。(2)空格鍵或回車鍵暫?;蚶^續(xù)游戲,并在隨機(jī)的地方產(chǎn)生食物,PgUp和PgDn控制速度快慢。(3)吃到食物就變成新的蛇體,碰到壁或自身則游戲結(jié)束,否則正常運行。2.2可行性分析貪吃蛇游戲是一種簡單的大眾的游戲,自從計算機(jī)實現(xiàn)以來,深受廣大電腦玩家的喜愛,做一個簡單的貪吃蛇小游戲,也比較符合現(xiàn)代人用來打發(fā)閑暇時光的方式。貪吃蛇的核心算法是如何實現(xiàn)移動和吃掉食物,沒有碰到食物的時候,把當(dāng)前運動方向上的下個節(jié)點入隊,并以蛇節(jié)點的顏色繪制這個節(jié)點,然后把頭指針?biāo)傅墓?jié)點出隊,并以游戲框架內(nèi)部背景色重繪出隊的節(jié)點,這樣就可以達(dá)到移動的效果。而在吃到食物的時候,則只需把食物入隊即可。實現(xiàn)貪吃蛇的基本的蛇身移動、吃到食物身體增長、和碰到墻壁或自身死亡,能夠暫停和開始。本次設(shè)計主要運用java語言來完成。Java語言是一種跨平臺,適合于分布式計算環(huán)境的面向?qū)ο缶幊陶Z言,用Java寫的應(yīng)用程序不用修改就可在不同的軟硬件平臺上運行。由于Java主要用于網(wǎng)絡(luò)應(yīng)用程序開發(fā),因此對安全性有較高的要求。如果沒有安全保證,用戶從網(wǎng)絡(luò)下載程序執(zhí)行就非常危險。Java通過自己的安全機(jī)制防止了病毒程序的產(chǎn)生和下載程序?qū)Ρ镜叵到y(tǒng)的威脅破壞。3系統(tǒng)概要設(shè)計3.1游戲流程圖進(jìn)入游戲界面進(jìn)入游戲界面點擊開始按鈕,游戲開始,蛇隨機(jī)產(chǎn)生/^\/^\點擊開始按鈕,游戲開始,蛇隨機(jī)產(chǎn)生/^\/^\_|__|O|\//~\_/\\____|__________/\\_______\`\\\||\//\//\\//\\//\\//__\\//_-~~-_||((_-~_--_~-__/|\~-____-~_-~~-_~-_-~/~-__-~~-__-~~--______-~~-___-~操作:空格:暫停操作:空格:暫停上移:下移:左移:右移:游戲中途欲中斷,稍候進(jìn)行游戲沒有吃到食物,且碰到邊界游戲中途欲中斷,稍候進(jìn)行游戲沒有吃到食物,且碰到邊界單擊重新開始單擊重新開始游戲單擊暫停游戲單擊開始游戲,游戲恢復(fù)正常單擊開始游戲,游戲恢復(fù)正常圖3-1游戲流程圖3.2游戲整體結(jié)構(gòu)圖圖3-2游戲整體結(jié)構(gòu)圖3.3設(shè)計目標(biāo)本系統(tǒng)是針對貪吃蛇小游戲的Java程序,利用方向鍵來改變蛇的運行方向,空格鍵暫?;蚶^續(xù)游戲,并在隨機(jī)的地方產(chǎn)生食物,吃到食物就變成新的蛇體,碰到壁或自身則游戲結(jié)束,否則正常運行。3.4系統(tǒng)功能模塊1、本系統(tǒng)共包括10個類文件。java源文件及其功能如表所示。表3-1java源文件及其功能序號文件名主要功能1MainFrame該文件為程序入口,含有main方法。2GameOptionPanel實現(xiàn)菜單控制運行等總體要求,實現(xiàn)方向鍵控制蛇的方向,空格鍵控制游戲暫?;蚶^續(xù)等。3SnakeListener蛇的監(jiān)聽器4GameListener游戲監(jiān)聽器5Food該文件實現(xiàn)組成蛇身的單位-食物。6Ground該文件實現(xiàn)障礙物-石頭7Snake該文件實現(xiàn)蛇類8Global該文件為工具類,實現(xiàn)一些配置9Controller控制器,控制蛇、食物、石頭10GamePanel游戲的顯示界面設(shè)置2、主要類之間的對應(yīng)關(guān)系如下:圖3-3主要類之間的關(guān)系3、因為蛇不能直接操作顯示面板(GamePanel),所以定義一個監(jiān)視器SnakeListener,里面有兩個方法:snakeMoved()和snakeEatFood()。圖3-4通過事件監(jiān)聽建立聯(lián)系3.5系統(tǒng)數(shù)據(jù)結(jié)構(gòu)設(shè)計3.5.1蛇、石頭、食物的表示用一個大的表格來表示顯示區(qū)域,里面的格子就是組成蛇的基本單位,一個格子可以代表一個食物,也可以代表一個石頭,幾塊連在一起的石頭就可以代表一條蛇。使用坐標(biāo)來區(qū)分這些格子。圖3-5蛇、石頭、食物的表示這里用一個集合來存儲這些坐標(biāo),并且要求能夠區(qū)分出蛇頭和蛇尾。3.5.2蛇的移動蛇向前移動一步,可以看作是蛇頭前面增加了一個節(jié)點,蛇的尾巴上少了一個節(jié)點(即去尾,加頭)圖3-6蛇的移動3.5.3存儲蛇身的數(shù)據(jù)結(jié)構(gòu)由于要區(qū)分蛇頭和蛇尾,因此這個數(shù)據(jù)結(jié)構(gòu)必須是有序的。另一方面,我們需要經(jīng)常的訪問第一個和最后一個節(jié)點,所以LinkedList最合適。因為它有g(shù)etFirst(),getLast(),和removeLast()方法。圖3-7根據(jù)原蛇頭和方向計算新蛇頭的坐標(biāo)3.5.4蛇的移動方向蛇下一步移動到哪里,是由方向來控制的。根據(jù)原蛇頭的坐標(biāo)和方向來確定新蛇頭的坐標(biāo),因此在這里用int型常量來表示蛇的移動方向。在原坐標(biāo)的基礎(chǔ)上,根據(jù)蛇頭的運動方向來確定新蛇頭的坐標(biāo),比如向上移動就是y-1。在Snake中增加蛇的方向向量: publicstaticfinalintUP=1;上 publicstaticfinalintDOWN=-1;下 publicstaticfinalintLEFT=2;左 publicstaticfinalintRIGHT=-2;右3.5.5如何顯示蛇身顯示蛇身,其實就是填充,用顏色填充格子。需要4個參數(shù),像素坐標(biāo)x,像素坐標(biāo)y,格子寬度,格子高度。像素坐標(biāo)就是矩形左上角的坐標(biāo)圖3-8格子坐標(biāo)和像素坐標(biāo)3.5.6蛇身的移動方向(1)相反方向和上一次移動的方向相反的方向稱為相反方向,這種輸入應(yīng)該忽略。這樣可以防止蛇從自己的身體中穿過。(2)無效方向在蛇的這一次移動之后和下一次移動之前這個時間間隔內(nèi)輸入了多個非相反方向,只有最后一個是有效方向,其他的都是無效方向。蛇的最終運動方向以有效方向為準(zhǔn)。Snake中增加監(jiān)聽器,并另外啟動一個線程來不斷調(diào)用蛇的move(),在Snake中提供一個啟動線程的方法。3.5.7吃到食物判定通過判定坐標(biāo)是否重合來判斷,只需要判斷蛇頭是否和食物重合就可以了,因為蛇的身體都是走蛇頭走過的地方,蛇吃掉食物后身體就會變長。在Controller的snakeMoved中添加如下代碼: /*判斷是否吃到食物*/ if(food!=null&&food.isSnakeEatFood(snake)){ /*吃到食物后,蛇增加身體,再重新丟一個食物*/ snake.eatFood(); food.setLocation(ground==null?food.getNew():ground .getFreePoint()); }/*如果吃到食物,就肯定不會吃到石頭*/ elseif(ground!=null&&ground.isSnakeEatRock(snake)){ /*如果吃到的是石頭,或吃到自己的身體,就讓蛇死掉*/ stopGame(); }if(snake.isEatBody()) stopGame();4系統(tǒng)詳細(xì)設(shè)計4.1程序設(shè)計4.1.1主類MainFrame(1)主類為此程序的入口,定義了MainFrame的對象frame,開始運行此程序。(2)源代碼見文件MainFrame.Java4.1.2類MainFrame(1)成員變量見表4-1表4-1主要成員變量成員變量描述變量類型名稱選項面板privateGameOptionPaneloptionPanel游戲面板privateGamePanelgamePanel蛇類對象privateSnakesnake石頭對象privateGroundground食物對象privateFoodfood控制對象privateControllercontroller速度標(biāo)簽privateJLabelinfoLabel(2)方法見表4-2表4-2主要方法方法名功能gameOver()游戲結(jié)束gameStart()游戲開始gameContinue()游戲繼續(xù)gamePause()游戲暫停4.1.3類Snake(1)成員變量見表4-3表4-3主要成員變量成員變量描述變量類型名稱上下左右(方向)intUP、DOWN、LEFT、RIGHT蛇體LinkedList<Point>body蛇頭坐標(biāo)Pointhead蛇尾坐標(biāo)Pointtail是否活著booleanlive是否暫停booleanpause速度intspeed監(jiān)聽Set<SnakeListener>listener(2)方法見表4-4表4-4主要方法方法名功能eatFood()判斷食物是否被蛇吃掉,如果食物在蛇運行方向的正前方,并且與蛇頭接觸,則被吃掉setHeadColor()設(shè)置蛇頭的顏色setBodyColor()設(shè)置蛇身的顏色changeDirection(int)改變運行方向move()蛇在運行中所采取的措施begin()開啟一個新的線程驅(qū)動蛇定時移動4.1.4類Food(1)成員變量見表4-5表4-5主要成員變量成員變量描述變量類型名稱顏色privateColorcolor隨機(jī)privateRandomrandom(2)源代碼見文件Food.java4.1.5類Controller該類包含控制器和處理按鍵邏輯,控制器,控制Ground,Snake,F(xiàn)ood,負(fù)責(zé)游戲的邏輯處理按鍵事件,實現(xiàn)了SnakeListener接口的snakeMoved()方法,可以處理Snake觸發(fā)的事件,該類繼承KeyAdapter類并且覆蓋keyPressed()方法:處理按鍵事件,根據(jù)按鍵不同,發(fā)出不同的指令:UP:改變蛇的移動方向為向上DOWN:改變蛇的移動方向為向下LEFT:改變蛇的移動方向為向左RIGHT:改變蛇的移動方向為向右SPACE:暫停/繼續(xù)PgUp/PgDn:加速/減速蛇的移動Y:開始新游戲的方法4.1.6類Ground可以叫做地形,或地面,和食物一樣,Ground也有x,y坐標(biāo)和顏色等屬性,構(gòu)造方法Ground()初始化地圖,設(shè)置格局,可以通過setRockColor()方法設(shè)置石頭的顏色,方法isSnakeEatRock()判斷蛇是否吃到食物,最后運用drawMe()方法顯示石頭。源代碼見文件Ground.java4.1.7類GameListener此類為游戲監(jiān)聽類,實現(xiàn)游戲的監(jiān)聽功能。源代碼見文件GameListener.java4.1.8類SnakeListener此類為蛇的監(jiān)聽類,實現(xiàn)蛇運動的監(jiān)聽,蛇移動的監(jiān)聽snakeMoved(),蛇吃到食物的監(jiān)聽snakeEatFood()。源代碼見文件SnakeListener.java4.1.9類Global工具類此類中存放了其他類中用到的一些常量:格子的像素(寬度,高度)、蛇的初始長度和初始速度等。源代碼見文件Global.java4.1.10類GameOptionPanel此類為游戲的選項面板類,實現(xiàn)游戲面板的控制。源代碼見文件GameOptionPanel.java4.1.11類GamePanel此類為游戲的顯示界面設(shè)置,可以通過setBackgroundColor()設(shè)置游戲的背景顏色。源代碼見文件GamePanel.java4.2貪吃蛇游戲各功能界面截圖4.2.1游戲的初始界面圖4-1初始界面圖4-2控制面板圖4-3速度標(biāo)簽4.2.2游戲運行過程界面(1)鼠標(biāo)點擊開始新游戲按鈕,開始游戲:圖4-4開始游戲圖4-5開始游戲(有加速有改顏色有網(wǎng)格)(2)按空格鍵,游戲開始運行,蛇開始移動,并且吃到一次食物即紅色方塊后就變成蛇體:圖4-6吃到食物身體變長 (3)按方向鍵改變蛇的運行方向,并且碰壁后從新開始游戲,紅色方塊隨機(jī)地方產(chǎn)生:圖4-7碰壁死亡5系統(tǒng)測試5.1測試的意義系統(tǒng)測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程,成功的測試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯誤的測試。測試的目的就是希望能以最少的人力和時間發(fā)現(xiàn)潛在的各種錯誤和缺陷。應(yīng)根據(jù)開發(fā)各階段的需求、設(shè)計等文檔或程序的內(nèi)部結(jié)構(gòu)精心設(shè)計測試用例,并利用這些實例來運行程序,以便發(fā)現(xiàn)錯誤。系統(tǒng)測試是保證系統(tǒng)質(zhì)量和可靠性的關(guān)鍵步驟,是對系統(tǒng)開發(fā)過程中的系統(tǒng)分析系統(tǒng)設(shè)計和實施的最后復(fù)查。根據(jù)測試的概念和目的,在進(jìn)行信息系統(tǒng)測試時應(yīng)遵循以基本原則。5.2測試過程(1)擬定測試計劃。在制定測試計劃時,要充分考慮整個項目的開發(fā)時間和開發(fā)進(jìn)程以及一些人為因素和客觀條件等,使得測試計劃是可行的。測試計劃的內(nèi)容主要有測試的內(nèi)容、進(jìn)度安排、測試所需的環(huán)境和條件、測試培訓(xùn)安排等。(2)編制測試大綱。測試大綱是測試的依據(jù)。它明確詳盡地規(guī)定了在測試中針對系統(tǒng)的每一項功能或特性所必須完成的基本測試項目和測試完成的標(biāo)準(zhǔn)。(3)根據(jù)測試大綱設(shè)計和生成測試用例。在設(shè)計測試用例的時候,可綜合利用前面介紹的測試用例和設(shè)計技術(shù),產(chǎn)生測試設(shè)計說明文檔,其內(nèi)容主要有被測項目、輸人數(shù)據(jù)、測試過程、預(yù)期輸出結(jié)果等。(4)實施測試。測試的實施階段是由一系列的測試周期組成的。在每個測試周期中,測試人員和開發(fā)人員將依據(jù)預(yù)先編制好的測試大綱和準(zhǔn)備好的測試用例,對被測軟件或設(shè)備進(jìn)行完整的測試。(5)生成測試報告。測試完成后,要形成相應(yīng)的測試報告,主要對測試進(jìn)行概要說明,列出測試的結(jié)論,指出缺陷和錯誤,另外,給出一些建議,如可采用的修改方法,各項修改預(yù)計的工作量及修改的負(fù)責(zé)人員。5.3測試結(jié)果貪吃蛇測試情況如表5-1所示:表5-1貪吃蛇測試情況執(zhí)行的操作期望的結(jié)果實際結(jié)果打開文件,運行代碼代碼正常運行,無錯誤信息符合期望結(jié)果點擊“開始游戲”貪吃蛇出現(xiàn),食物出現(xiàn)符合期望結(jié)果點擊“暫停游戲”游戲暫停,蛇和食物都靜止符合期望結(jié)果點擊“停止游戲”游戲停止,重新開始新游戲符合期望結(jié)果利用方向鍵控制方向,空格鍵暫停游戲蛇運行方向正常,空格鍵暫停游戲符合期望結(jié)果鍵盤按PgUp/PgDn蛇加速/減速運動符合期望結(jié)果點擊“設(shè)置背景顏色”出現(xiàn)顏色選項,背景顏色變化符合期望結(jié)果點擊“設(shè)置蛇頭/蛇身/食物顏色”蛇頭、蛇身和食物顏色變化明顯且顯示正常效果符合期望結(jié)果“顯示網(wǎng)格”打鉤出現(xiàn)網(wǎng)格,并且自行選擇網(wǎng)格顏色符合期望結(jié)果點擊“恢復(fù)默認(rèn)設(shè)置”所有設(shè)置都恢復(fù)到初始化狀態(tài)符合期望結(jié)果蛇每吃到一個食物身體變長符合期望結(jié)果蛇碰壁或者吃到自己的身體結(jié)束游戲符合期望結(jié)果通過以上測試,驗證程序運行正常,沒有發(fā)現(xiàn)什么錯誤。結(jié)論畢業(yè)設(shè)計是我們作為學(xué)生在學(xué)習(xí)階段的最后一個環(huán)節(jié),是對所學(xué)基礎(chǔ)知識和專業(yè)知識的一種綜合應(yīng)用,是一種綜合的再學(xué)習(xí)、再提高的過程,這一過程對我們學(xué)生的學(xué)習(xí)能力和獨立思考及工作能力也是一個培養(yǎng),同時畢業(yè)設(shè)計的水平也反映了大學(xué)教育的綜合水平,因此學(xué)校十分重視畢業(yè)設(shè)計這一環(huán)節(jié),加強(qiáng)了對畢業(yè)設(shè)計工作的指導(dǎo)和動員教育。在大學(xué)的學(xué)習(xí)過程中,畢業(yè)設(shè)計是一個重要的環(huán)節(jié),是我們步入社會參與實際工作的一次極好的演示,也是對我們自學(xué)能力和解決問題能力的一次考驗,是學(xué)校生活與社會生活間的過渡。在完成畢業(yè)設(shè)計的這段時間里,我收獲頗多:通過這次的java貪吃蛇游戲設(shè)計我了解到j(luò)ava語言的特點:簡單性、面向?qū)ο?、平臺無關(guān)性、可移植性、解釋性、髙性能、動態(tài)性、可靠性和安全性、多線程、分布式處理等,在課程設(shè)計過程中不僅鞏固了我們以前的基礎(chǔ)理論知識,而且使
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 豫章師范學(xué)院《油畫靜物技法與表現(xiàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 珠海格力職業(yè)學(xué)院《藏文文法上》2023-2024學(xué)年第二學(xué)期期末試卷
- 遼寧石化職業(yè)技術(shù)學(xué)院《語文學(xué)科教育論》2023-2024學(xué)年第二學(xué)期期末試卷
- 西安歐亞學(xué)院《數(shù)據(jù)分析與可視化》2023-2024學(xué)年第二學(xué)期期末試卷
- 南京工業(yè)大學(xué)《建筑防火設(shè)計》2023-2024學(xué)年第二學(xué)期期末試卷
- 西安科技大學(xué)高新學(xué)院《汽車發(fā)展史》2023-2024學(xué)年第二學(xué)期期末試卷
- 遼寧工程技術(shù)大學(xué)《資產(chǎn)評估學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 四川航天職業(yè)技術(shù)學(xué)院《嵌入式系統(tǒng)設(shè)計與開發(fā)》2023-2024學(xué)年第二學(xué)期期末試卷
- 合肥信息技術(shù)職業(yè)學(xué)院《建筑類專業(yè)導(dǎo)論》2023-2024學(xué)年第二學(xué)期期末試卷
- 南華大學(xué)船山學(xué)院《素描半身帶手及全身像實踐教學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- ESAP法律英語教程全冊配套優(yōu)質(zhì)教學(xué)課件
- 水資源保護(hù)知識競賽試題及答案
- 道路清掃保潔-組織機(jī)構(gòu)框架圖、內(nèi)部分工
- PCB制程漲縮系數(shù)操作指引
- 標(biāo)準(zhǔn) DB37T 3690.1-2019 液體菌種制備技術(shù)規(guī)程 第1部分:香菇規(guī)范
- 2021五年級道德與法治培優(yōu)輔差計劃3篇
- 靜脈藥物配置中心課件
- 最新2022年減肥食品市場現(xiàn)狀與發(fā)展趨勢預(yù)測
- 發(fā)展?jié)h語初級綜合1:第30課PPT課件[通用]
- 馬工程西方經(jīng)濟(jì)學(xué)(第二版)教學(xué)課件-(4)
- 醫(yī)療廢物管理組織機(jī)構(gòu)架構(gòu)圖
評論
0/150
提交評論