畢業(yè)設(shè)計論文---基于 Java的游戲設(shè)計——貪吃蛇
《畢業(yè)設(shè)計論文---基于 Java的游戲設(shè)計——貪吃蛇》由會員分享,可在線閱讀,更多相關(guān)《畢業(yè)設(shè)計論文---基于 Java的游戲設(shè)計——貪吃蛇(24頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、畢業(yè)設(shè)計論文 作者 系部 專業(yè) 題目 學(xué)號 指導(dǎo)教師 評閱教師 完成時間 畢業(yè)設(shè)計(論文)中文摘要 〔題目〕:基于Java的游戲設(shè)計一一貪吃蛇 摘要:“貪吃蛇〃游戲是使用Java語言開發(fā)的一款經(jīng)典的游戲,它因操作簡單、娛樂性強(qiáng) 而廣受歡送。本文基于Java技術(shù)和eclipse開發(fā)環(huán)境,開發(fā)了一個操作簡單、界面美觀、 功能較齊全的“貪吃蛇〃游戲。整個游戲程序分為十個類模塊,實(shí)現(xiàn)了游戲的開場、暫 停、完畢,能夠?qū)崿F(xiàn)加速和減速。通過本游戲的開發(fā),到達(dá)學(xué)習(xí)Java技術(shù)和熟悉軟件開 發(fā)流程的目的。 本文
2、在介紹Java相關(guān)技術(shù)時對“貪吃蛇〃游戲的整個生命周期的各個開發(fā)階段進(jìn)展 了詳細(xì)地介紹。首先,分析了開發(fā)本游戲軟件的可行性;其次,從游戲主界面等幾方面, 分析了本游戲的功能需求;然后,進(jìn)展了游戲的概要設(shè)計和詳細(xì)設(shè)計,這也是本文的重 點(diǎn)。概要設(shè)計給出兩個功能模塊的主框架以及八個類模塊的函數(shù)調(diào)用關(guān)系;詳細(xì)設(shè)計重 點(diǎn)給出各個類模塊的程序列表,介紹了各個類包含的變量、使用的方法,展示了游戲的 界面。 為了保證程序代碼的正確性和功能實(shí)現(xiàn)的可靠性,本文還介紹了游戲軟件的程序調(diào) 試過程和功能測試結(jié)果。 關(guān)鍵詞:Java eclipse貪吃蛇開發(fā)流程 畢業(yè)設(shè)計(論文)外文摘要 Title Java-b
3、ased game designSnake Abstract: Snake game is a classic game using the Java language developments is simple, entertaining and popular. This article is based on Java technology and the Eclipse development environment, developing a simple, beautiful interface, Full-featured "Snake" game. The entire g
4、ame program is divided into ten modules, the start of the game, pause, end , being able to achieve speed up and speed down . Through the development of the game, to achieve the purpose of learning Java technology and familiar with the software development process. Introducing Java-relatedtechnologi
5、es, a detailed description of the various development phases of the entire life cycle of the "Snake" game. First, the analysis of the feasibility of the development of the game software; Secondly, the game from the main game interface aspects, functional requirements; Then, the outline design and de
6、tailed design of the game, which is the focus of this article. Outline design gives the main frame of the two functional modules and The eight modules function call relationship; Detailed design focusing of each module is given the list of programs, each class contains variables, the methods used, s
7、howing the game's interface . In order to ensure the correctness and functions achieving reliability of the program code, the article also describes the results of the game software debugging process and functional testing. keywords: Java eclipse Snake the development process 目錄 1緒論1 1.1 JAVA語言
8、的特點(diǎn)1 1.2 開發(fā)工具 Eclipse/H§ 2 1.3 開發(fā)工具JDK介紹2 1.4 應(yīng)用環(huán)境3 2系統(tǒng)需求分析3 2.1 需求分析3 2.2 可行性分析3 3系統(tǒng)概要設(shè)計4 3.1 游戲流程圖4 3.2 設(shè)計目標(biāo)5 3.3 系統(tǒng)功能模塊5 3.4 系統(tǒng)數(shù)據(jù)構(gòu)造設(shè)計7 4系統(tǒng)詳細(xì)設(shè)計10 4.1 程序設(shè)計10 4.2 貪吃蛇游戲各功能界面截圖13 5系統(tǒng)測試16 5.1 測試的意義16 5.2 測試過程16 5.3 測試結(jié)果17 結(jié)論18 致19 參考文獻(xiàn)19 1 緒論 貪吃蛇是世界知名的益智類小游戲,選擇這個題目一方面是為了將我們自己的所學(xué)
9、知識 加以運(yùn)用;另一方面,我希望通過自己的所學(xué)知識把它剖析開來,通過自己的動手實(shí)踐,真 正的了解它的本質(zhì)和精華。希望通過這次實(shí)踐,能從中提高自己的編程能力。并從中學(xué)會從 零開場分析設(shè)計程序,到達(dá)學(xué)以致用,活學(xué)活用的目的。另外,通過本游戲的開發(fā),到達(dá)學(xué) 習(xí)Java技術(shù)和熟悉軟件開發(fā)流程的目的。 本游戲的開發(fā)語言為Java開發(fā)工具選用Eclipse Java是一種簡單的,面向?qū)ο蟮模?分布式的,解釋型的,強(qiáng)健平安的,構(gòu)造中立的,可移植的,性能優(yōu)異、多線程的動態(tài)語言。 這里采用Java作為開發(fā)語言主要是基于 Java的面向?qū)ο蠛涂梢浦残?。Eclipse是一個開放 源代碼的、基于Java的可擴(kuò)展開發(fā)
10、平臺。就其本身而言,它只是一個框架和一組效勞,用 于通過插件組件構(gòu)建開發(fā)環(huán)境。 1.1 Java語言的特點(diǎn) 1.1.1 簡單性 Java與C+鈉言非常相近,但Java比C+喻單,它拋棄了 C++4的一些不是絕對必要的 功能,如頭文件、預(yù)處理文件、指針、構(gòu)造、運(yùn)算符重載、多重繼承以及自動強(qiáng)迫同型。Java 實(shí)現(xiàn)了自動的垃圾收集,簡化了存管理的工作。 1.1.2 平臺無關(guān)性 Java引進(jìn)虛擬機(jī)原理,并運(yùn)行于虛擬機(jī),實(shí)現(xiàn)不同平臺之間的Java接口。Java的數(shù)據(jù)類 型與機(jī)器無關(guān)。 1.1.3 平安性 Java的編程類似C++但舍棄了 C+柏勺指針對存儲器地址的直接操作,程序運(yùn)行時,存由
11、 操作系統(tǒng)分配,這樣可以防止病毒通過指針入侵系統(tǒng)。它提供了平安管理器,防止程序的非 法訪問。 1.1.4 面向?qū)ο? Java吸收了 C++S向?qū)ο蟮母拍?,將?shù)據(jù)封裝于類中,實(shí)現(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 強(qiáng)健性 Java致力于檢查程序在編譯和運(yùn)行時的錯誤,并自動回收存,減少了存出錯的可能性。 Java取消了 C語言的構(gòu)造、指針、#define語句、多重繼承、goto
12、語句、操作符、重載等不 易被掌握的特性,提供垃圾收集器自動回收不用的存空間。 1.2 開發(fā)工具Eclipse介紹 Eclipse是一個開放源代碼的、基于 Java的可擴(kuò)展開發(fā)平臺。就其本身而言,它只是一個框 架和一組效勞,用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運(yùn)的是, Eclipse附帶了一個標(biāo)準(zhǔn)的插 件集,包括 Java 開發(fā)工具〔Java Development Tools JDTL 雖然大多數(shù)用戶很樂于將 Eclipse當(dāng)作Java IDE來使用,但Eclipse的目標(biāo)不僅限于 此。Eclipse還包括插件開發(fā)環(huán)境〔Plug-in Development Environment, PD
13、日,這個組件主要 針對希望擴(kuò)展Eclipse的軟件開發(fā)人員,因?yàn)樗试S他們構(gòu)建與 Eclipse環(huán)境無縫集成的工 具。 盡管Eclipse是使用Java語言開發(fā)的,但它的用途并不限于 Java語言;例如,支持 諸如C/C++?編程語言的插件已經(jīng)可用,或預(yù)計會推出。 Eclipse框架還可用來作為與軟件 開發(fā)無關(guān)的其他應(yīng)用程序類型的根底,比方容管理系統(tǒng)等。 1.3 開發(fā)工具JDK介紹 Sun Microsystems公司在推出Java語言的同時,推出了一套開發(fā)工具 JDK Sun提供的基于 字符模式的Java開發(fā)工具包JDK Java開發(fā)工具〔JDK是許多Java專家最初使用的開發(fā)環(huán) 境。
14、Java是平臺無關(guān)的語言是因?yàn)橛?Java寫的應(yīng)用程序不用修改就可在不同的軟硬件平臺上 運(yùn)行。 Java源程序編寫借助于記事本編輯工具。 所有的Java文件編輯、編譯、調(diào)試、解釋運(yùn)行都是通過使用字符命令來執(zhí)行操作。JDK 由一個標(biāo)準(zhǔn)類庫和一組建立,測試及建立文檔的Java實(shí)用程序組成。其核心Java AP是一些 預(yù)定義的類庫,開發(fā)人員需要用這些類來訪問Java語言的功能。JDK是整個Java的核心, 包括了 Java運(yùn)行環(huán)境〔Java Runtime Environment t, 一堆Java工具和Java根底的類庫。不管 什么Java應(yīng)用效勞器實(shí)質(zhì)都是置了某個版本的 JDK因此掌握J(rèn)
15、DK是學(xué)好Java的第一步。 最主流的JDK是Sun公司發(fā)布的JDK除了 Sun之外,還有很多公司和組織都開發(fā)了自 己的JDK,傷J如 舊M公司開發(fā)的JDK BEA公司的Jrocket,還有GNU組織開發(fā)的JDK等等。 其中 舊M的JDK包含的JVM〔Java Virtual Machine〕運(yùn)行效率要比 Sun JDK&含的JVM高出 許多。而專門運(yùn)行在x86平臺的Jrocket在效勞端運(yùn)行效率也要比Sun JDK子很多。 1.4 應(yīng)用環(huán)境 (1)操作系統(tǒng): Windows 7, Windows xp 等。 (2)應(yīng)用軟件:jdk7.1 , eclipseo 2系統(tǒng)需求分析 2.
16、1 需求分析 本系統(tǒng)主要是完成貪吃蛇游戲的根本操作,用戶可以自己練習(xí)和娛樂。本系統(tǒng)需要滿足 以下幾點(diǎn)要求: (1)利用方向鍵來改變蛇的運(yùn)行方向。 (2)空格鍵或回車鍵暫?;蚶^續(xù)游戲,并在隨機(jī)的地方產(chǎn)生食物,PgUp和PgDn控制速 度快慢。 (3)吃到食物就變成新的蛇體,碰到壁或自身那么游戲完畢,否那么正常運(yùn)行。 2.2 可行性分析 貪吃蛇游戲是一種簡單的群眾的游戲,自從計算機(jī)實(shí)現(xiàn)以來,深受廣闊電腦玩家的喜愛, 做一個簡單的貪吃蛇小游戲,也比擬符合現(xiàn)代人用來打發(fā)閑暇時光的方式。 貪吃蛇的核心算法是如何實(shí)現(xiàn)移動和吃掉食物,沒有碰到食物的時候,把當(dāng)前運(yùn)動方向 上的下個節(jié)點(diǎn)入隊,
17、并以蛇節(jié)點(diǎn)的顏色繪制這個節(jié)點(diǎn),然后把頭指針?biāo)傅墓?jié)點(diǎn)出隊,并以 游戲框架部背風(fēng)光重繪出隊的節(jié)點(diǎn),這樣就可以到達(dá)移動的效果。而在吃到食物的時候,那 么只需把食物入隊即可。實(shí)現(xiàn)貪吃蛇的根本的蛇身移動、吃到食物身體增長、和碰到墻壁或 自身死亡,能夠暫停和開場。 本次設(shè)計主要運(yùn)用java語言來完成。Java語言是一種跨平臺,適合于分布式計算環(huán)境的 面向?qū)ο缶幊陶Z言,用Java寫的應(yīng)用程序不用修改就可在不同的軟硬件平臺上運(yùn)行。 由于Java主要用于網(wǎng)絡(luò)應(yīng)用程序開發(fā),因此對平安性有較高的要求。如果沒有平安保 證,用戶從網(wǎng)絡(luò)下載程序執(zhí)行就非常危險。Java通過自己的平安機(jī)制防止了病毒程序的產(chǎn)生 和下
18、載程序?qū)Ρ镜叵到y(tǒng)的威脅破壞。 3系統(tǒng)概要設(shè)計 3.1 游戲流程圖 圖3-1游戲流程圖 3.2 游戲整體構(gòu)造圖 圖3-2游戲整體構(gòu)造圖 3.3 設(shè)計目標(biāo) 本系統(tǒng)是針對貪吃蛇小游戲的 Java程序,利用方向鍵來改變蛇的運(yùn)行方向,空格鍵暫 停或繼續(xù)游戲,并在隨機(jī)的地方產(chǎn)生食物,吃到食物就變成新的蛇體,碰到壁或自身那么游 戲完畢,否那么正常運(yùn)行。 3.4 系統(tǒng)功能模塊 1、本系統(tǒng)共包括10個類文件。 java源文件及其功能如表所示。 表3-1 java源文件及其功能 序號 文件名 主要功能 1 MainFrame 該文件為程序入口,含有main方法。
19、 2 GameOptionPanel 實(shí)現(xiàn)菜單控制運(yùn)行等總體要求,實(shí)現(xiàn)方向鍵控制蛇 的方向,空格鍵控制游戲暫?;蚶^續(xù)等。 3 SnakeListener 蛇的監(jiān)聽器 4 GameListener 游戲監(jiān)聽器 5 Food 該文件實(shí)現(xiàn)組成蛇身的單位 -食物。 6 Ground 該文件實(shí)現(xiàn)障礙物-石頭 7 Snake 該文件實(shí)現(xiàn)蛇類 8 Global 該文件為工具類,實(shí)現(xiàn)一些配置 9 Controller 控制器,控制蛇、食物、石頭 10 GamePanel 游戲的顯示界面設(shè)置 2、主要類之間的對應(yīng)關(guān)系如下: 圖3-3主要類之間的關(guān)系
20、 3、因?yàn)樯卟荒苤苯硬僮黠@示面板〔GamePanel,所以定義一個監(jiān)視器SnakeListener里面有 兩個方法:snakeMoved〔〕和 snakeEatFood() 圖3-4通過事件監(jiān)聽建立聯(lián)系 3.5 系統(tǒng)數(shù)據(jù)構(gòu)造設(shè)計 3.5.1 蛇、石頭、食物的表示 用一個大的表格來表示顯示區(qū)域, 里面的格子就是組成蛇的根本單位, 一個格子可以代 表一個食物,也可以代表一個石頭,幾塊連在一起的石頭就可以代表一條蛇。使用坐標(biāo)來區(qū) 分這些格子。 x坐標(biāo) - 01234567S910 5 6 圖3-5蛇、石頭、食物的表示 0 12 Y坐標(biāo) 4 這里用一個集合來
21、存儲這些坐標(biāo),并且要求能夠區(qū)分出蛇頭和蛇尾。 3.5.2 蛇的移動 蛇向前移動一步,可以看作是蛇頭前面增加了一個節(jié)點(diǎn),蛇的尾巴上少了一個節(jié)點(diǎn)〔即 去尾,加頭〕 幽后 圖3-6蛇的移動 3.5.3 存儲蛇身的數(shù)據(jù)構(gòu)造 由于要區(qū)分蛇頭和蛇尾,因此這個數(shù)據(jù)構(gòu)造必須是有序的。另一方面,我們需要經(jīng)常的 訪問第一個和最后一個節(jié)點(diǎn),所以LinkedLis最適宜。因?yàn)樗術(shù)etFirst(), getLast(),和 removeLast(。法。 X坐標(biāo) (2J)| (L2) 蛇頭 (3i2) — 0
22、 2 3 0 1 2 3 向上移動.丫空標(biāo)短1 向下移動,Y坐標(biāo)加1 向左移動.K坐標(biāo)遺I 向右移動,X坐標(biāo)加1 圖3-7根據(jù)原蛇頭和方向計算新蛇頭的坐標(biāo) 3.5.4 蛇的移動方向 蛇下一步移動到哪里,是由方向來控制的。根據(jù)原蛇頭的坐標(biāo)和方向來確定新蛇頭的坐 標(biāo),因此在這里用int型常量來表示蛇的移動方向。在原坐標(biāo)的根底上,根據(jù)蛇頭的運(yùn)動方向 來確定新蛇頭的坐標(biāo),比方向上移動就是 y-1。 在Snaked增加蛇的方向向量: public static final int UP = 1 上 public static final int DOWN = -1 下 p
23、ublic static final int LEFT = 2^ public static final int RIGHT = -2^ 3.5.5 如何顯示蛇身 顯示蛇身,其實(shí)就是填充,用顏色填充格子。 需要4個參數(shù),像素坐標(biāo)x,像素坐標(biāo)y,格子寬度,格子高度。 像素坐標(biāo)就是矩形左上角的坐標(biāo) 這個點(diǎn)的像興隼除為 k坐標(biāo):搟f的競度reft ¥生&格子的在度* top loft是這個一于陽左於界的距寓 top心這個格「史上H不怕思離 圖3-8格子坐標(biāo)和像素坐標(biāo) 3.5.6 蛇身的移動方向 〔1〕相反方向 和上一次移動的方向相反的方向稱為相反方向,這種輸入應(yīng)該忽略。這樣
24、可以防止蛇從 自己的身體中穿過。 〔2〕無效方向 在蛇的這一次移動之后和下一次移動之前這個時間間隔輸入了多個非相反方向,只有最 后一個是有效方向,其他的都是無效方向。 蛇的最終運(yùn)動方向以有效方向?yàn)闇?zhǔn)。 (3) Snak并增加監(jiān)聽器,并另外啟動一個線程來不斷調(diào)用蛇的move(),在Snak并提供一個 啟動線程的方法。 3.5.7吃到食物判定 通過判定坐標(biāo)是否重合來判斷,只需要判斷蛇頭是否和食物重合就可以了, 因?yàn)樯叩纳?體都是走蛇頭走過的地方,蛇吃掉食物后身體就會變長。在 Controller的snakeMoved中添 加如下代碼: /*判斷是否吃到食物*/ if (foo
25、d != null && food.isSnakeEatFood(snake)) { /*吃到食物后,蛇增加身體,再重新丟一個食物*/ snake.eatFood(); food.setLocation(ground == null ? food.getNew() : ground .getFreePoint()); }/*如果吃到食物,就肯定不會吃到石頭*/ else if (ground != null && ground.isSnakeEatRock(snake)) { /*如果吃到的是石頭,或吃到自己的身體,就讓蛇死掉*/ stopGame(); } if (snake
26、.isEatBody()) stopGame(); 4系統(tǒng)詳細(xì)設(shè)計 4.1 程序設(shè)計 4.1.1 主類 MainFrame 〔1〕主類為此程序的入口,定義了 MainFrame的對象frame,開場運(yùn)行此程序 〔2〕源代碼見文件 MainFrame.Java 4.1.2 類 MainFrame 〔1〕成員變量見表4-1 表4-1主要成員變量 成員變量描述 變量類型 名稱 選項(xiàng)面板 private GameOptionPanel optionPanel 游戲面板 private GamePanel gamePanel 蛇類對象 private Snake
27、 snake 石頭對象 private Ground ground 食物對象 private Food food 控制對象 private Controller controller 速度標(biāo)簽 private JLabel infoLabel 〔2〕方法見表4-2 方法名 功能 gameOver() 游戲完畢 gameStart() 游戲開場 gameContinue() 游戲繼續(xù) gamePause() 游戲暫停 4.1.3 類 Snake 〔1〕成員變量見表4-3 表4-3主要成員變量 成員變量描述 變量類型 名稱 上下左
28、右(方向)
int
UP、DOWN、LEFT RIGHT
蛇體
LinkedList
29、) 判斷食物是否被蛇吃掉,如果食物在蛇運(yùn)行方向的 正前方,并且與蛇頭接觸,那么被吃掉 設(shè)置蛇頭的顏色 設(shè)置蛇身的顏色 改變運(yùn)行方向 蛇在運(yùn)行中所采取的措施 開啟一個新的線程驅(qū)動蛇定時移動 4.1.4 類 Food 〔1〕成員變量見表4-5 表4-5主要成員變量 成員變量描述 變量類型 名稱 顏色 private Color color 隨機(jī) private Random random 〔2〕源代碼見文件Food.java 4.1.5 類 Controller 該類包含控制器和處理按鍵邏輯,控制器,控制Ground, Snake^ Food,負(fù)責(zé)
30、游戲的邏 輯處理按鍵事件,實(shí)現(xiàn)了 SnakeListener接口的snakeMoved()方法,可以處理Snake觸發(fā)的事 件,該類繼承KeyAdapter類并且覆蓋keyPressed方法:處理按鍵事件,根據(jù)按鍵不同,發(fā) 出不同的指令: UP:改變蛇的移動方向?yàn)橄蛏? DOWN:改變蛇的移動方向?yàn)橄蛳? LEFT:改變蛇的移動方向?yàn)橄蜃? RIGHT:改變蛇的移動方向?yàn)橄蛴? SPACE暫停/繼續(xù) PgUp/PgDn:加速/減速蛇的移動 Y:開場新游戲的方法 4.1.6 類 Ground 可以叫做地形,或地面,和食物一樣, Ground也有x, y坐標(biāo)和顏色等屬性,構(gòu)造方法 Gr
31、ound()初始化地圖,設(shè)置格局,可以通過setRockColor(方法設(shè)置石頭的顏色,方法 isSnakeEatRock刻斷蛇是否吃到食物,最后運(yùn)用drawMe()方法顯示石頭。 源代碼見文件Ground.java 4.1.7 類 GameListener 此類為游戲監(jiān)聽類,實(shí)現(xiàn)游戲的監(jiān)聽功能。 源代碼見文件GameListener.java 4.1.8 類 SnakeListener 此類為蛇的監(jiān)聽類,實(shí)現(xiàn)蛇運(yùn)動的監(jiān)聽,蛇移動的監(jiān)聽snakeMoved()蛇吃到食物的監(jiān)聽 snakeEatFood() 源代碼見文件SnakeListener.java 4.1.9 類 G
32、lobal 工具類 此類中存放了其他類中用到的一些常量:格子的像素〔寬度,高度〕 、蛇的初始長度和 初始速度等。 源代碼見文件Global.java 4.1.10 類 GameOptionPanel 此類為游戲的選項(xiàng)面板類,實(shí)現(xiàn)游戲面板的控制。 源代碼見文件 GameOptionPanel.java 4.1.11 類 GamePanel 此類為游戲的顯示界面設(shè)置,可以通過 setBackgroundColorQ?置游戲的背景顏色。 源代碼見文件GamePanel.java 4.2 貪吃蛇游戲各功能界面截圖 4.2.1 游戲的初始界面 圖4-1初始界面 圖4-2控制
33、面板 帶示熊期卷飆 圖4-3速度標(biāo)簽 4.2.2游戲運(yùn)行過程界面 〔1〕鼠標(biāo)點(diǎn)擊開場新游戲按鈕,開場游戲: 圖4-4開場游戲 圖4-5開場游戲〔有加速 有改顏色 有網(wǎng)格〕 〔2〕按空格鍵,游戲開場運(yùn)行,蛇開場移動,并且吃到一次食物即紅色方塊后就變成蛇體: 圖4-6吃到食物身體變長
34、 〔3〕按方向鍵改變蛇的運(yùn)行方向,并且碰壁后從新開場游戲,紅色方塊隨機(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è)計等文檔或程序的部構(gòu)造精心設(shè)計測試用例,并利用這些實(shí)例來運(yùn)行程 序,以便發(fā)現(xiàn)錯誤。系統(tǒng)測試是保證系統(tǒng)質(zhì)
35、量和可靠性的關(guān)鍵步驟,是對系統(tǒng)開發(fā)過程中的 系統(tǒng)分析系統(tǒng)設(shè)計和實(shí)施的最后復(fù)查。 根據(jù)測試的概念和目的,在進(jìn)展信息系統(tǒng)測試時應(yīng)遵 循以根本原那么。 5.2 測試過程 (1)擬定測試方案。在制定測試方案時,要充分考慮整個工程的開發(fā)時間和開發(fā)進(jìn)程以及 一些人為因素和客觀條件等,使得測試方案是可行的。測試方案的容主要有測試的容、進(jìn)度 安排、測試所需的環(huán)境和條件、測試培訓(xùn)安排等。 (2)編制測試大綱。測試大綱是測試的依據(jù)。它明確詳盡地規(guī)定了在測試中針對系統(tǒng)的每 一項(xiàng)功能或特性所必須完成的根本測試工程和測試完成的標(biāo)準(zhǔn)。 (3)根據(jù)測試大綱設(shè)計和生成測試用例。 在設(shè)計測試用例的時候,可綜合利用前面介
36、紹的 測試用例和設(shè)計技術(shù),產(chǎn)生測試設(shè)計說明文檔,其容主要有被測工程、輸人數(shù)據(jù)、測試過程、 預(yù)期輸出結(jié)果等。 ⑷實(shí)施測試。測試的實(shí)施階段是由一系列的測試周期組成的。在每個測試周期中,測試 人員和開發(fā)人員將依據(jù)預(yù)先編制好的測試大綱和準(zhǔn)備好的測試用例,對被測軟件或設(shè)備進(jìn)展 完整的測試 (5)生成測試報告。測試完成后,要形成相應(yīng)的測試報告,主要對測試進(jìn)展概要說明,列 出測試的結(jié)論,指出缺陷和錯誤,另外,給出一些建議,如可采用的修改方法,各項(xiàng)修改預(yù) 計的工作量及修改的負(fù)責(zé)人員。 5.3 測試結(jié)果 貪吃蛇測試情況如表5-1所示: 表5-1貪吃蛇測試情況 執(zhí)行的操作 期望的結(jié)果 實(shí)際結(jié)果
37、 翻開文件,運(yùn)行代碼 代碼正常運(yùn)行,無錯誤信息 符合期望結(jié)果 點(diǎn)擊“開場游戲〃 貪吃蛇出現(xiàn),食物出現(xiàn) 符合期望結(jié)果 點(diǎn)擊“暫停游戲〃 游戲暫停,蛇和食物都靜止 符合期望結(jié)果 點(diǎn)擊“停頓游戲〃 游戲停頓,重新開場新游戲 符合期望結(jié)果 利用方向鍵控制方向,空格鍵暫 停游戲 蛇運(yùn)行方向正常,空格鍵暫停游 戲 符合期望結(jié)果 鍵盤按PgUp/PgDn 蛇加速/減速運(yùn)動 符合期望結(jié)果 點(diǎn)擊“設(shè)置背景顏色〃 出現(xiàn)顏色選項(xiàng),背景顏色變化 符合期望結(jié)果 點(diǎn)擊“設(shè)置蛇頭 /蛇身/食物顏 色〃 蛇頭、蛇身和食物顏色變化明顯 且顯示正常效果 符合期望結(jié)果 “顯示
38、網(wǎng)格’‘打鉤 出現(xiàn)網(wǎng)格,并且自行選擇網(wǎng)格顏 色 符合期望結(jié)果 點(diǎn)擊“恢復(fù)默認(rèn)設(shè)置〃 所有設(shè)置都恢復(fù)到初始化狀態(tài) 符合期望結(jié)果 蛇每吃到一個食物 身體變長 符合期望結(jié)果 蛇碰壁或者吃到自己的身體 完畢游戲 符合期望結(jié)果 通過以上測試,驗(yàn)證程序運(yùn)行正常,沒有發(fā)現(xiàn)什么錯誤 結(jié)論 畢業(yè)設(shè)計是我們作為學(xué)生在學(xué)習(xí)階段的最后一個環(huán)節(jié),是對所學(xué)根底知識和專業(yè)知識的 一種綜合應(yīng)用,是一種綜合的再學(xué)習(xí)、再提高的過程,這一過程對我們學(xué)生的學(xué)習(xí)能力和獨(dú) 立思考及工作能力也是一個培養(yǎng),同時畢業(yè)設(shè)計的水平也反映了大學(xué)教育的綜合水平,因此 學(xué)校十分重視畢業(yè)設(shè)計這一環(huán)節(jié),加強(qiáng)了對畢業(yè)設(shè)計工
39、作的指導(dǎo)和發(fā)動教育。在大學(xué)的學(xué)習(xí) 過程中,畢業(yè)設(shè)計是一個重要的環(huán)節(jié),是我們步入社會參與實(shí)際工作的一次極好的演示,也 是對我們自學(xué)能力和解決問題能力的一次考驗(yàn),是學(xué)校生活與社會生活間的過渡。 在完成畢業(yè)設(shè)計的這段時間里,我收獲頗多: 通過這次的java貪吃蛇游戲設(shè)計我了解到j(luò)ava語言的特點(diǎn):簡單性、面向?qū)ο?、平臺 無關(guān)性、可移植性、解釋性、高性能、動態(tài)性、可靠性和平安性、多線程、分布式處理等, 在課程設(shè)計過程中不僅穩(wěn)固了我們以前的根底理論知識,而且使我們各個方面的能力都有很 大的提高。從一開場的無從下手,到不斷的查閱資料,圖書館借書,再到請教教師的幫助, 這些都很好的鍛煉了我們理論聯(lián)系實(shí)
40、際,與具體工程、課題相結(jié)合的能力,開發(fā)、設(shè)計游戲 的能力進(jìn)一步在課程設(shè)計中表達(dá)。這讓我學(xué)會了很多,為以后的學(xué)習(xí)和工作加強(qiáng)。在設(shè)計過 程中,總是遇到這樣或那樣的問題。有時發(fā)現(xiàn)一個問題的時候,需要做大量的工作,花大量 的時間才能解決。為以后的工作積累了經(jīng)歷,增強(qiáng)了信心。既讓我們懂得了怎樣把理論應(yīng)用 于實(shí)際,又讓我們懂得了在實(shí)踐中遇到的問題怎樣用理論去解決,它更是自己綜合運(yùn)用所學(xué) 知識,發(fā)現(xiàn)、提出、分析和解決實(shí)際問題,鍛煉實(shí)踐能力的重要環(huán)節(jié)。其實(shí)我們可以把畢業(yè)設(shè) 計看作是一個社會實(shí)踐的容,在完成畢業(yè)設(shè)計的時候,所用到的知識,以及所具備的專注力 和責(zé)任心,同樣在以后的社會工作中是必不可少的。 任何
41、事情都是一分為二的,在畢業(yè)設(shè)計過程中也暴露出自己專業(yè)根底的很多缺乏之處。 例如對java語言的綜合運(yùn)用的技巧的缺乏,對一些 java類的理解不夠透徹,等等。感覺自 己所學(xué)習(xí)的只是冰山一角,面對稍微復(fù)雜的東西還是沒能得心應(yīng)手,再一次體會到學(xué)無止境 的意義了。 這款游戲的優(yōu)點(diǎn),就是簡單的畫面和容易的操作很容易使玩家就上手,適合不通年齡段 的玩家娛樂。當(dāng)然這款游戲也存在有缺乏的地方,有些功能還是沒有實(shí)現(xiàn)。通過這次設(shè)計過 程中,我查閱了大量的資料,對java有了更深刻的認(rèn)識,通過這次的設(shè)計,更提高了我在程 序設(shè)計和調(diào)試方面的技巧,更重要的是我認(rèn)識了自己的缺乏, 在編程方面我還需要努力學(xué)習(xí) 來充實(shí)
42、自己,來獲取更大的收獲。 致 大學(xué)三年學(xué)習(xí)時光已經(jīng)接近尾聲, 畢業(yè)論文的完成也隨之畫上了圓滿的句號, 在此我想 對我的學(xué)校,我的父母、親人們,我的教師和同學(xué)們表達(dá)我由衷的意。感我的家人對我大學(xué) 三年學(xué)習(xí)的默默支持;感我的學(xué)校給了我在大學(xué)三年深造的時機(jī),讓我能繼續(xù)學(xué)習(xí)和提高; 感所有教過我的教師和同學(xué)們?nèi)陙淼年P(guān)心和鼓勵。 當(dāng)然,這次的畢業(yè)設(shè)計得到了很多教師和同學(xué)的幫助,首先,最主要感的是我的指導(dǎo)教 師一一王莉教師,她為人隨和熱情,治學(xué)嚴(yán)謹(jǐn)細(xì)心。王教師始終認(rèn)真負(fù)責(zé)地給予我深刻而細(xì) 致地指導(dǎo),幫助我拓寬思路,精心點(diǎn)撥、熱忱鼓勵。在整個畢業(yè)設(shè)計過程中她給了我很大的 幫助:在畢業(yè)設(shè)計選題時她給了
43、我很多的意見,同時又幫我具體分析使我最后選擇了基于 java游戲設(shè)計這個具體目標(biāo),讓我的畢業(yè)設(shè)計有了具體的方向。在論文提綱制定時,我的思 路不是很清晰,經(jīng)過教師的幫助,讓我在寫作時思路更加清晰和明確。在完成初稿后,教師 認(rèn)真查看了我的文章,指出了我存在的很多問題,然后不斷的修改完善。在此十分感王教師 的細(xì)心指導(dǎo),才能讓我順利完成畢業(yè)設(shè)計論文。 最后,感在整個畢業(yè)設(shè)計期間和我密切合作的同學(xué), 和曾經(jīng)在各個方面給予過我?guī)椭?伙伴們,在此,我再一次真誠地向幫助過我的教師和同學(xué)表示衷心的感! 參考文獻(xiàn) 1、思民,Java開發(fā)技術(shù)與工程實(shí)踐[M].清華大學(xué),2010-11 2、彬彬,馬文強(qiáng).Eclipse應(yīng)用開發(fā)完全手冊[M].人民郵電,2007-9 3、慶)克羅夫特著.暉譯,Java游戲高級編程[M].清華大學(xué),2005-8-1 4、王曉東,計算機(jī)算法設(shè)計與分析(第三版)[M].電子工業(yè),2009-12-1 5、宛延闿,Java程序設(shè)計實(shí)例剖析.,國防工業(yè),2003-3 6、包汝,Java十大經(jīng)典案例.,科學(xué),2005-1 7、阿奇,Java實(shí)用教程〔第二版〕,電子工業(yè),2009-8-1
- 溫馨提示:
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é)課件
- 古詩詞中愁的意象課件
- 十依財政經(jīng)費(fèi)所產(chǎn)生的弱勢族群課件
- 六條法律的新解釋發(fā)怒奸淫休妻課件
- 六書理論-大學(xué)古代漢語復(fù)習(xí)資料課件
- 7足太陽膀胱經(jīng)2課件
- 莫內(nèi)和他的朋友們一劇描寫印象派畫家的故事課件
- 海上貨物運(yùn)輸保險講義ppt課件
- 資訊技術(shù)革命課件
- 北師大版必修二§213兩條直線的位置關(guān)系
- 專案采購計劃之準(zhǔn)則建立課件
- 常見惡性腫瘤的早期診斷和治療對策課件
- 干部管理職責(zé)與執(zhí)行技巧課件
- 將地方圖案插入此投影片課件