畢業(yè)設計論文---基于 Java的游戲設計——貪吃蛇

上傳人:文*** 文檔編號:92876526 上傳時間:2022-05-19 格式:DOCX 頁數(shù):24 大?。?00.69KB
收藏 版權(quán)申訴 舉報 下載
畢業(yè)設計論文---基于 Java的游戲設計——貪吃蛇_第1頁
第1頁 / 共24頁
畢業(yè)設計論文---基于 Java的游戲設計——貪吃蛇_第2頁
第2頁 / 共24頁
畢業(yè)設計論文---基于 Java的游戲設計——貪吃蛇_第3頁
第3頁 / 共24頁

下載文檔到電腦,查找使用更方便

12 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《畢業(yè)設計論文---基于 Java的游戲設計——貪吃蛇》由會員分享,可在線閱讀,更多相關《畢業(yè)設計論文---基于 Java的游戲設計——貪吃蛇(24頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、畢業(yè)設計論文 作者 系部 專業(yè) 題目 學號 指導教師 評閱教師 完成時間 畢業(yè)設計(論文)中文摘要 〔題目〕:基于Java的游戲設計一一貪吃蛇 摘要:“貪吃蛇〃游戲是使用Java語言開發(fā)的一款經(jīng)典的游戲,它因操作簡單、娛樂性強 而廣受歡送。本文基于Java技術和eclipse開發(fā)環(huán)境,開發(fā)了一個操作簡單、界面美觀、 功能較齊全的“貪吃蛇〃游戲。整個游戲程序分為十個類模塊,實現(xiàn)了游戲的開場、暫 停、完畢,能夠?qū)崿F(xiàn)加速和減速。通過本游戲的開發(fā),到達學習Java技術和熟悉軟件開 發(fā)流程的目的。 本文

2、在介紹Java相關技術時對“貪吃蛇〃游戲的整個生命周期的各個開發(fā)階段進展 了詳細地介紹。首先,分析了開發(fā)本游戲軟件的可行性;其次,從游戲主界面等幾方面, 分析了本游戲的功能需求;然后,進展了游戲的概要設計和詳細設計,這也是本文的重 點。概要設計給出兩個功能模塊的主框架以及八個類模塊的函數(shù)調(diào)用關系;詳細設計重 點給出各個類模塊的程序列表,介紹了各個類包含的變量、使用的方法,展示了游戲的 界面。 為了保證程序代碼的正確性和功能實現(xiàn)的可靠性,本文還介紹了游戲軟件的程序調(diào) 試過程和功能測試結(jié)果。 關鍵詞:Java eclipse貪吃蛇開發(fā)流程 畢業(yè)設計(論文)外文摘要 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、的特點1 1.2 開發(fā)工具 Eclipse/H§ 2 1.3 開發(fā)工具JDK介紹2 1.4 應用環(huán)境3 2系統(tǒng)需求分析3 2.1 需求分析3 2.2 可行性分析3 3系統(tǒng)概要設計4 3.1 游戲流程圖4 3.2 設計目標5 3.3 系統(tǒng)功能模塊5 3.4 系統(tǒng)數(shù)據(jù)構(gòu)造設計7 4系統(tǒng)詳細設計10 4.1 程序設計10 4.2 貪吃蛇游戲各功能界面截圖13 5系統(tǒng)測試16 5.1 測試的意義16 5.2 測試過程16 5.3 測試結(jié)果17 結(jié)論18 致19 參考文獻19 1 緒論 貪吃蛇是世界知名的益智類小游戲,選擇這個題目一方面是為了將我們自己的所學

9、知識 加以運用;另一方面,我希望通過自己的所學知識把它剖析開來,通過自己的動手實踐,真 正的了解它的本質(zhì)和精華。希望通過這次實踐,能從中提高自己的編程能力。并從中學會從 零開場分析設計程序,到達學以致用,活學活用的目的。另外,通過本游戲的開發(fā),到達學 習Java技術和熟悉軟件開發(fā)流程的目的。 本游戲的開發(fā)語言為Java開發(fā)工具選用Eclipse Java是一種簡單的,面向?qū)ο蟮模?分布式的,解釋型的,強健平安的,構(gòu)造中立的,可移植的,性能優(yōu)異、多線程的動態(tài)語言。 這里采用Java作為開發(fā)語言主要是基于 Java的面向?qū)ο蠛涂梢浦残?。Eclipse是一個開放 源代碼的、基于Java的可擴展開發(fā)

10、平臺。就其本身而言,它只是一個框架和一組效勞,用 于通過插件組件構(gòu)建開發(fā)環(huán)境。 1.1 Java語言的特點 1.1.1 簡單性 Java與C+鈉言非常相近,但Java比C+喻單,它拋棄了 C++4的一些不是絕對必要的 功能,如頭文件、預處理文件、指針、構(gòu)造、運算符重載、多重繼承以及自動強迫同型。Java 實現(xiàn)了自動的垃圾收集,簡化了存管理的工作。 1.1.2 平臺無關性 Java引進虛擬機原理,并運行于虛擬機,實現(xiàn)不同平臺之間的Java接口。Java的數(shù)據(jù)類 型與機器無關。 1.1.3 平安性 Java的編程類似C++但舍棄了 C+柏勺指針對存儲器地址的直接操作,程序運行時,存由

11、 操作系統(tǒng)分配,這樣可以防止病毒通過指針入侵系統(tǒng)。它提供了平安管理器,防止程序的非 法訪問。 1.1.4 面向?qū)ο? Java吸收了 C++S向?qū)ο蟮母拍?,將?shù)據(jù)封裝于類中,實現(xiàn)了程序的簡潔性和便于維護 性,使程序代碼可以只需一次編譯就可反復利用。 1.1.5 分布式 Java建立在TCP/IP網(wǎng)絡平臺上,提供了用HTTP和FTP協(xié)議傳送和接收信息的庫函數(shù), 使用其相關技術可以十分方便的構(gòu)建分布式應用系統(tǒng)。 1.1.6 強健性 Java致力于檢查程序在編譯和運行時的錯誤,并自動回收存,減少了存出錯的可能性。 Java取消了 C語言的構(gòu)造、指針、#define語句、多重繼承、goto

12、語句、操作符、重載等不 易被掌握的特性,提供垃圾收集器自動回收不用的存空間。 1.2 開發(fā)工具Eclipse介紹 Eclipse是一個開放源代碼的、基于 Java的可擴展開發(fā)平臺。就其本身而言,它只是一個框 架和一組效勞,用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運的是, Eclipse附帶了一個標準的插 件集,包括 Java 開發(fā)工具〔Java Development Tools JDTL 雖然大多數(shù)用戶很樂于將 Eclipse當作Java IDE來使用,但Eclipse的目標不僅限于 此。Eclipse還包括插件開發(fā)環(huán)境〔Plug-in Development Environment, PD

13、日,這個組件主要 針對希望擴展Eclipse的軟件開發(fā)人員,因為它允許他們構(gòu)建與 Eclipse環(huán)境無縫集成的工 具。 盡管Eclipse是使用Java語言開發(fā)的,但它的用途并不限于 Java語言;例如,支持 諸如C/C++?編程語言的插件已經(jīng)可用,或預計會推出。 Eclipse框架還可用來作為與軟件 開發(fā)無關的其他應用程序類型的根底,比方容管理系統(tǒng)等。 1.3 開發(fā)工具JDK介紹 Sun Microsystems公司在推出Java語言的同時,推出了一套開發(fā)工具 JDK Sun提供的基于 字符模式的Java開發(fā)工具包JDK Java開發(fā)工具〔JDK是許多Java專家最初使用的開發(fā)環(huán) 境。

14、Java是平臺無關的語言是因為用 Java寫的應用程序不用修改就可在不同的軟硬件平臺上 運行。 Java源程序編寫借助于記事本編輯工具。 所有的Java文件編輯、編譯、調(diào)試、解釋運行都是通過使用字符命令來執(zhí)行操作。JDK 由一個標準類庫和一組建立,測試及建立文檔的Java實用程序組成。其核心Java AP是一些 預定義的類庫,開發(fā)人員需要用這些類來訪問Java語言的功能。JDK是整個Java的核心, 包括了 Java運行環(huán)境〔Java Runtime Environment t, 一堆Java工具和Java根底的類庫。不管 什么Java應用效勞器實質(zhì)都是置了某個版本的 JDK因此掌握J

15、DK是學好Java的第一步。 最主流的JDK是Sun公司發(fā)布的JDK除了 Sun之外,還有很多公司和組織都開發(fā)了自 己的JDK,傷J如 舊M公司開發(fā)的JDK BEA公司的Jrocket,還有GNU組織開發(fā)的JDK等等。 其中 舊M的JDK包含的JVM〔Java Virtual Machine〕運行效率要比 Sun JDK&含的JVM高出 許多。而專門運行在x86平臺的Jrocket在效勞端運行效率也要比Sun JDK子很多。 1.4 應用環(huán)境 (1)操作系統(tǒng): Windows 7, Windows xp 等。 (2)應用軟件:jdk7.1 , eclipseo 2系統(tǒng)需求分析 2.

16、1 需求分析 本系統(tǒng)主要是完成貪吃蛇游戲的根本操作,用戶可以自己練習和娛樂。本系統(tǒng)需要滿足 以下幾點要求: (1)利用方向鍵來改變蛇的運行方向。 (2)空格鍵或回車鍵暫?;蚶^續(xù)游戲,并在隨機的地方產(chǎn)生食物,PgUp和PgDn控制速 度快慢。 (3)吃到食物就變成新的蛇體,碰到壁或自身那么游戲完畢,否那么正常運行。 2.2 可行性分析 貪吃蛇游戲是一種簡單的群眾的游戲,自從計算機實現(xiàn)以來,深受廣闊電腦玩家的喜愛, 做一個簡單的貪吃蛇小游戲,也比擬符合現(xiàn)代人用來打發(fā)閑暇時光的方式。 貪吃蛇的核心算法是如何實現(xiàn)移動和吃掉食物,沒有碰到食物的時候,把當前運動方向 上的下個節(jié)點入隊,

17、并以蛇節(jié)點的顏色繪制這個節(jié)點,然后把頭指針所指的節(jié)點出隊,并以 游戲框架部背風光重繪出隊的節(jié)點,這樣就可以到達移動的效果。而在吃到食物的時候,那 么只需把食物入隊即可。實現(xiàn)貪吃蛇的根本的蛇身移動、吃到食物身體增長、和碰到墻壁或 自身死亡,能夠暫停和開場。 本次設計主要運用java語言來完成。Java語言是一種跨平臺,適合于分布式計算環(huán)境的 面向?qū)ο缶幊陶Z言,用Java寫的應用程序不用修改就可在不同的軟硬件平臺上運行。 由于Java主要用于網(wǎng)絡應用程序開發(fā),因此對平安性有較高的要求。如果沒有平安保 證,用戶從網(wǎng)絡下載程序執(zhí)行就非常危險。Java通過自己的平安機制防止了病毒程序的產(chǎn)生 和下

18、載程序?qū)Ρ镜叵到y(tǒng)的威脅破壞。 3系統(tǒng)概要設計 3.1 游戲流程圖 圖3-1游戲流程圖 3.2 游戲整體構(gòu)造圖 圖3-2游戲整體構(gòu)造圖 3.3 設計目標 本系統(tǒng)是針對貪吃蛇小游戲的 Java程序,利用方向鍵來改變蛇的運行方向,空格鍵暫 ?;蚶^續(xù)游戲,并在隨機的地方產(chǎn)生食物,吃到食物就變成新的蛇體,碰到壁或自身那么游 戲完畢,否那么正常運行。 3.4 系統(tǒng)功能模塊 1、本系統(tǒng)共包括10個類文件。 java源文件及其功能如表所示。 表3-1 java源文件及其功能 序號 文件名 主要功能 1 MainFrame 該文件為程序入口,含有main方法。

19、 2 GameOptionPanel 實現(xiàn)菜單控制運行等總體要求,實現(xiàn)方向鍵控制蛇 的方向,空格鍵控制游戲暫?;蚶^續(xù)等。 3 SnakeListener 蛇的監(jiān)聽器 4 GameListener 游戲監(jiān)聽器 5 Food 該文件實現(xiàn)組成蛇身的單位 -食物。 6 Ground 該文件實現(xiàn)障礙物-石頭 7 Snake 該文件實現(xiàn)蛇類 8 Global 該文件為工具類,實現(xiàn)一些配置 9 Controller 控制器,控制蛇、食物、石頭 10 GamePanel 游戲的顯示界面設置 2、主要類之間的對應關系如下: 圖3-3主要類之間的關系

20、 3、因為蛇不能直接操作顯示面板〔GamePanel,所以定義一個監(jiān)視器SnakeListener里面有 兩個方法:snakeMoved〔〕和 snakeEatFood() 圖3-4通過事件監(jiān)聽建立聯(lián)系 3.5 系統(tǒng)數(shù)據(jù)構(gòu)造設計 3.5.1 蛇、石頭、食物的表示 用一個大的表格來表示顯示區(qū)域, 里面的格子就是組成蛇的根本單位, 一個格子可以代 表一個食物,也可以代表一個石頭,幾塊連在一起的石頭就可以代表一條蛇。使用坐標來區(qū) 分這些格子。 x坐標 - 01234567S910 5 6 圖3-5蛇、石頭、食物的表示 0 12 Y坐標 4 這里用一個集合來

21、存儲這些坐標,并且要求能夠區(qū)分出蛇頭和蛇尾。 3.5.2 蛇的移動 蛇向前移動一步,可以看作是蛇頭前面增加了一個節(jié)點,蛇的尾巴上少了一個節(jié)點〔即 去尾,加頭〕 幽后 圖3-6蛇的移動 3.5.3 存儲蛇身的數(shù)據(jù)構(gòu)造 由于要區(qū)分蛇頭和蛇尾,因此這個數(shù)據(jù)構(gòu)造必須是有序的。另一方面,我們需要經(jīng)常的 訪問第一個和最后一個節(jié)點,所以LinkedLis最適宜。因為它有getFirst(), getLast(),和 removeLast(。法。 X坐標 (2J)| (L2) 蛇頭 (3i2) — 0

22、 2 3 0 1 2 3 向上移動.丫空標短1 向下移動,Y坐標加1 向左移動.K坐標遺I 向右移動,X坐標加1 圖3-7根據(jù)原蛇頭和方向計算新蛇頭的坐標 3.5.4 蛇的移動方向 蛇下一步移動到哪里,是由方向來控制的。根據(jù)原蛇頭的坐標和方向來確定新蛇頭的坐 標,因此在這里用int型常量來表示蛇的移動方向。在原坐標的根底上,根據(jù)蛇頭的運動方向 來確定新蛇頭的坐標,比方向上移動就是 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 如何顯示蛇身 顯示蛇身,其實就是填充,用顏色填充格子。 需要4個參數(shù),像素坐標x,像素坐標y,格子寬度,格子高度。 像素坐標就是矩形左上角的坐標 這個點的像興隼除為 k坐標:搟f的競度reft ¥生&格子的在度* top loft是這個一于陽左於界的距寓 top心這個格「史上H不怕思離 圖3-8格子坐標和像素坐標 3.5.6 蛇身的移動方向 〔1〕相反方向 和上一次移動的方向相反的方向稱為相反方向,這種輸入應該忽略。這樣

24、可以防止蛇從 自己的身體中穿過。 〔2〕無效方向 在蛇的這一次移動之后和下一次移動之前這個時間間隔輸入了多個非相反方向,只有最 后一個是有效方向,其他的都是無效方向。 蛇的最終運動方向以有效方向為準。 (3) Snak并增加監(jiān)聽器,并另外啟動一個線程來不斷調(diào)用蛇的move(),在Snak并提供一個 啟動線程的方法。 3.5.7吃到食物判定 通過判定坐標是否重合來判斷,只需要判斷蛇頭是否和食物重合就可以了, 因為蛇的身 體都是走蛇頭走過的地方,蛇吃掉食物后身體就會變長。在 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)詳細設計 4.1 程序設計 4.1.1 主類 MainFrame 〔1〕主類為此程序的入口,定義了 MainFrame的對象frame,開場運行此程序 〔2〕源代碼見文件 MainFrame.Java 4.1.2 類 MainFrame 〔1〕成員變量見表4-1 表4-1主要成員變量 成員變量描述 變量類型 名稱 選項面板 private GameOptionPanel optionPanel 游戲面板 private GamePanel gamePanel 蛇類對象 private Snake

27、 snake 石頭對象 private Ground ground 食物對象 private Food food 控制對象 private Controller controller 速度標簽 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 body 蛇頭坐標 Point head 蛇尾坐標 Point tail 是否活著 boolean live 是否暫停 boolean pause 速度 int speed 監(jiān)聽 Set listener 〔2〕方法見表4-4 表4-4 主要方法 方法名 功能 eatFood() setHeadC010ro setBodyC010ro changeDirection(int) move() begin(

29、) 判斷食物是否被蛇吃掉,如果食物在蛇運行方向的 正前方,并且與蛇頭接觸,那么被吃掉 設置蛇頭的顏色 設置蛇身的顏色 改變運行方向 蛇在運行中所采取的措施 開啟一個新的線程驅(qū)動蛇定時移動 4.1.4 類 Food 〔1〕成員變量見表4-5 表4-5主要成員變量 成員變量描述 變量類型 名稱 顏色 private Color color 隨機 private Random random 〔2〕源代碼見文件Food.java 4.1.5 類 Controller 該類包含控制器和處理按鍵邏輯,控制器,控制Ground, Snake^ Food,負責

30、游戲的邏 輯處理按鍵事件,實現(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坐標和顏色等屬性,構(gòu)造方法 Gr

31、ound()初始化地圖,設置格局,可以通過setRockColor(方法設置石頭的顏色,方法 isSnakeEatRock刻斷蛇是否吃到食物,最后運用drawMe()方法顯示石頭。 源代碼見文件Ground.java 4.1.7 類 GameListener 此類為游戲監(jiān)聽類,實現(xiàn)游戲的監(jiān)聽功能。 源代碼見文件GameListener.java 4.1.8 類 SnakeListener 此類為蛇的監(jiān)聽類,實現(xiàn)蛇運動的監(jiān)聽,蛇移動的監(jiān)聽snakeMoved()蛇吃到食物的監(jiān)聽 snakeEatFood() 源代碼見文件SnakeListener.java 4.1.9 類 G

32、lobal 工具類 此類中存放了其他類中用到的一些常量:格子的像素〔寬度,高度〕 、蛇的初始長度和 初始速度等。 源代碼見文件Global.java 4.1.10 類 GameOptionPanel 此類為游戲的選項面板類,實現(xiàn)游戲面板的控制。 源代碼見文件 GameOptionPanel.java 4.1.11 類 GamePanel 此類為游戲的顯示界面設置,可以通過 setBackgroundColorQ?置游戲的背景顏色。 源代碼見文件GamePanel.java 4.2 貪吃蛇游戲各功能界面截圖 4.2.1 游戲的初始界面 圖4-1初始界面 圖4-2控制

33、面板 帶示熊期卷飆 圖4-3速度標簽 4.2.2游戲運行過程界面 〔1〕鼠標點擊開場新游戲按鈕,開場游戲: 圖4-4開場游戲 圖4-5開場游戲〔有加速 有改顏色 有網(wǎng)格〕 〔2〕按空格鍵,游戲開場運行,蛇開場移動,并且吃到一次食物即紅色方塊后就變成蛇體: 圖4-6吃到食物身體變長

34、 〔3〕按方向鍵改變蛇的運行方向,并且碰壁后從新開場游戲,紅色方塊隨機地方產(chǎn)生: 圖4-7碰壁死亡 5系統(tǒng)測試 5.1 測試的意義 系統(tǒng)測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程,成功的測試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯誤 的測試。測試的目的就是希望能以最少的人力和時間發(fā)現(xiàn)潛在的各種錯誤和缺陷。應根據(jù)開 發(fā)各階段的需求、設計等文檔或程序的部構(gòu)造精心設計測試用例,并利用這些實例來運行程 序,以便發(fā)現(xiàn)錯誤。系統(tǒng)測試是保證系統(tǒng)質(zhì)

35、量和可靠性的關鍵步驟,是對系統(tǒng)開發(fā)過程中的 系統(tǒng)分析系統(tǒng)設計和實施的最后復查。 根據(jù)測試的概念和目的,在進展信息系統(tǒng)測試時應遵 循以根本原那么。 5.2 測試過程 (1)擬定測試方案。在制定測試方案時,要充分考慮整個工程的開發(fā)時間和開發(fā)進程以及 一些人為因素和客觀條件等,使得測試方案是可行的。測試方案的容主要有測試的容、進度 安排、測試所需的環(huán)境和條件、測試培訓安排等。 (2)編制測試大綱。測試大綱是測試的依據(jù)。它明確詳盡地規(guī)定了在測試中針對系統(tǒng)的每 一項功能或特性所必須完成的根本測試工程和測試完成的標準。 (3)根據(jù)測試大綱設計和生成測試用例。 在設計測試用例的時候,可綜合利用前面介

36、紹的 測試用例和設計技術,產(chǎn)生測試設計說明文檔,其容主要有被測工程、輸人數(shù)據(jù)、測試過程、 預期輸出結(jié)果等。 ⑷實施測試。測試的實施階段是由一系列的測試周期組成的。在每個測試周期中,測試 人員和開發(fā)人員將依據(jù)預先編制好的測試大綱和準備好的測試用例,對被測軟件或設備進展 完整的測試 (5)生成測試報告。測試完成后,要形成相應的測試報告,主要對測試進展概要說明,列 出測試的結(jié)論,指出缺陷和錯誤,另外,給出一些建議,如可采用的修改方法,各項修改預 計的工作量及修改的負責人員。 5.3 測試結(jié)果 貪吃蛇測試情況如表5-1所示: 表5-1貪吃蛇測試情況 執(zhí)行的操作 期望的結(jié)果 實際結(jié)果

37、 翻開文件,運行代碼 代碼正常運行,無錯誤信息 符合期望結(jié)果 點擊“開場游戲〃 貪吃蛇出現(xiàn),食物出現(xiàn) 符合期望結(jié)果 點擊“暫停游戲〃 游戲暫停,蛇和食物都靜止 符合期望結(jié)果 點擊“停頓游戲〃 游戲停頓,重新開場新游戲 符合期望結(jié)果 利用方向鍵控制方向,空格鍵暫 停游戲 蛇運行方向正常,空格鍵暫停游 戲 符合期望結(jié)果 鍵盤按PgUp/PgDn 蛇加速/減速運動 符合期望結(jié)果 點擊“設置背景顏色〃 出現(xiàn)顏色選項,背景顏色變化 符合期望結(jié)果 點擊“設置蛇頭 /蛇身/食物顏 色〃 蛇頭、蛇身和食物顏色變化明顯 且顯示正常效果 符合期望結(jié)果 “顯示

38、網(wǎng)格’‘打鉤 出現(xiàn)網(wǎng)格,并且自行選擇網(wǎng)格顏 色 符合期望結(jié)果 點擊“恢復默認設置〃 所有設置都恢復到初始化狀態(tài) 符合期望結(jié)果 蛇每吃到一個食物 身體變長 符合期望結(jié)果 蛇碰壁或者吃到自己的身體 完畢游戲 符合期望結(jié)果 通過以上測試,驗證程序運行正常,沒有發(fā)現(xiàn)什么錯誤 結(jié)論 畢業(yè)設計是我們作為學生在學習階段的最后一個環(huán)節(jié),是對所學根底知識和專業(yè)知識的 一種綜合應用,是一種綜合的再學習、再提高的過程,這一過程對我們學生的學習能力和獨 立思考及工作能力也是一個培養(yǎng),同時畢業(yè)設計的水平也反映了大學教育的綜合水平,因此 學校十分重視畢業(yè)設計這一環(huán)節(jié),加強了對畢業(yè)設計工

39、作的指導和發(fā)動教育。在大學的學習 過程中,畢業(yè)設計是一個重要的環(huán)節(jié),是我們步入社會參與實際工作的一次極好的演示,也 是對我們自學能力和解決問題能力的一次考驗,是學校生活與社會生活間的過渡。 在完成畢業(yè)設計的這段時間里,我收獲頗多: 通過這次的java貪吃蛇游戲設計我了解到java語言的特點:簡單性、面向?qū)ο?、平臺 無關性、可移植性、解釋性、高性能、動態(tài)性、可靠性和平安性、多線程、分布式處理等, 在課程設計過程中不僅穩(wěn)固了我們以前的根底理論知識,而且使我們各個方面的能力都有很 大的提高。從一開場的無從下手,到不斷的查閱資料,圖書館借書,再到請教教師的幫助, 這些都很好的鍛煉了我們理論聯(lián)系實

40、際,與具體工程、課題相結(jié)合的能力,開發(fā)、設計游戲 的能力進一步在課程設計中表達。這讓我學會了很多,為以后的學習和工作加強。在設計過 程中,總是遇到這樣或那樣的問題。有時發(fā)現(xiàn)一個問題的時候,需要做大量的工作,花大量 的時間才能解決。為以后的工作積累了經(jīng)歷,增強了信心。既讓我們懂得了怎樣把理論應用 于實際,又讓我們懂得了在實踐中遇到的問題怎樣用理論去解決,它更是自己綜合運用所學 知識,發(fā)現(xiàn)、提出、分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié)。其實我們可以把畢業(yè)設 計看作是一個社會實踐的容,在完成畢業(yè)設計的時候,所用到的知識,以及所具備的專注力 和責任心,同樣在以后的社會工作中是必不可少的。 任何

41、事情都是一分為二的,在畢業(yè)設計過程中也暴露出自己專業(yè)根底的很多缺乏之處。 例如對java語言的綜合運用的技巧的缺乏,對一些 java類的理解不夠透徹,等等。感覺自 己所學習的只是冰山一角,面對稍微復雜的東西還是沒能得心應手,再一次體會到學無止境 的意義了。 這款游戲的優(yōu)點,就是簡單的畫面和容易的操作很容易使玩家就上手,適合不通年齡段 的玩家娛樂。當然這款游戲也存在有缺乏的地方,有些功能還是沒有實現(xiàn)。通過這次設計過 程中,我查閱了大量的資料,對java有了更深刻的認識,通過這次的設計,更提高了我在程 序設計和調(diào)試方面的技巧,更重要的是我認識了自己的缺乏, 在編程方面我還需要努力學習 來充實

42、自己,來獲取更大的收獲。 致 大學三年學習時光已經(jīng)接近尾聲, 畢業(yè)論文的完成也隨之畫上了圓滿的句號, 在此我想 對我的學校,我的父母、親人們,我的教師和同學們表達我由衷的意。感我的家人對我大學 三年學習的默默支持;感我的學校給了我在大學三年深造的時機,讓我能繼續(xù)學習和提高; 感所有教過我的教師和同學們?nèi)陙淼年P心和鼓勵。 當然,這次的畢業(yè)設計得到了很多教師和同學的幫助,首先,最主要感的是我的指導教 師一一王莉教師,她為人隨和熱情,治學嚴謹細心。王教師始終認真負責地給予我深刻而細 致地指導,幫助我拓寬思路,精心點撥、熱忱鼓勵。在整個畢業(yè)設計過程中她給了我很大的 幫助:在畢業(yè)設計選題時她給了

43、我很多的意見,同時又幫我具體分析使我最后選擇了基于 java游戲設計這個具體目標,讓我的畢業(yè)設計有了具體的方向。在論文提綱制定時,我的思 路不是很清晰,經(jīng)過教師的幫助,讓我在寫作時思路更加清晰和明確。在完成初稿后,教師 認真查看了我的文章,指出了我存在的很多問題,然后不斷的修改完善。在此十分感王教師 的細心指導,才能讓我順利完成畢業(yè)設計論文。 最后,感在整個畢業(yè)設計期間和我密切合作的同學, 和曾經(jīng)在各個方面給予過我?guī)椭?伙伴們,在此,我再一次真誠地向幫助過我的教師和同學表示衷心的感! 參考文獻 1、思民,Java開發(fā)技術與工程實踐[M].清華大學,2010-11 2、彬彬,馬文強.Eclipse應用開發(fā)完全手冊[M].人民郵電,2007-9 3、慶)克羅夫特著.暉譯,Java游戲高級編程[M].清華大學,2005-8-1 4、王曉東,計算機算法設計與分析(第三版)[M].電子工業(yè),2009-12-1 5、宛延闿,Java程序設計實例剖析.,國防工業(yè),2003-3 6、包汝,Java十大經(jīng)典案例.,科學,2005-1 7、阿奇,Java實用教程〔第二版〕,電子工業(yè),2009-8-1

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!