JAVA課程設計俄羅斯方塊(含代碼)_第1頁
JAVA課程設計俄羅斯方塊(含代碼)_第2頁
JAVA課程設計俄羅斯方塊(含代碼)_第3頁
JAVA課程設計俄羅斯方塊(含代碼)_第4頁
JAVA課程設計俄羅斯方塊(含代碼)_第5頁
已閱讀5頁,還剩87頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、javajava程序課程設計程序課程設計 任任 務務 書書 俄羅斯方塊游戲的開發(fā) 1 1、主要內(nèi)容:、主要內(nèi)容: 俄羅斯方塊游戲具有廣泛的游戲人群,因為它比較簡單有趣,無論老少都比較 適合。俄羅斯方塊游戲的設計對于每一個java語言設計者進行語言提高和進階都是 一個很好的鍛煉機會。 俄羅斯方塊游戲的設計工作是非常復雜和重要的,它涉及面逛,牽涉面多,如 果不好好考慮和設計,將難以成功開發(fā)出這個游戲。在這個游戲的設計中,將牽涉 到圖形界面的顯示與更新,數(shù)據(jù)的收集與更新并且在這個游戲的開發(fā)中還會應用類 的繼承機制以及一些設計模式。 因此,如何設計和開發(fā)好這個俄羅斯方塊游戲,對于提高java開發(fā)水平和

2、系統(tǒng) 的設計能力有極大的幫助。在設計開發(fā)過程中,開發(fā)者需要處理好各個類之間的集 成關(guān)系,還要處理各個類的相應的封裝,并且還要協(xié)調(diào)好各個模塊之間的邏輯依賴 關(guān)系和數(shù)據(jù)通信關(guān)系。 2 2、具體要求(包括技術(shù)要求等):具體要求(包括技術(shù)要求等): 系統(tǒng)的功能設計要求:系統(tǒng)的功能設計要求: 本課程設計將實現(xiàn)以下幾種功能。本課程設計將實現(xiàn)以下幾種功能。 1.1. 游戲界面主框架游戲界面主框架 游戲界面主框架主要包括游戲圖形區(qū)域界面,游戲速度的選擇更新界面,游 戲分數(shù)的顯示更新界面,下一個圖形方塊的顯示更新區(qū)域,開始游戲按鈕,重新開 始游戲按鈕以及退出游戲按鈕 游戲界面主框架的主要結(jié)構(gòu)如下圖所示。 2游戲

3、圖形區(qū)域界面的顯示更新功能游戲圖形區(qū)域界面的顯示更新功能 游戲圖形區(qū)域界面主要是一個圖形顯示更新區(qū)域,主要包括游戲方塊顯示更新,整 行方塊的刪除和更新,進行中和游戲結(jié)束時的分數(shù)更新和游戲圖形區(qū)域界面的清除 。 在這個游戲圖形區(qū)域界面中,主要是一個表格,根據(jù)相應格子的設置標志來顯示相 應的圖形圖片,這樣就實現(xiàn)了俄羅斯方塊的實時顯示。 3游戲方塊的設計游戲方塊的設計 在俄羅斯方塊游戲中,具體的游戲方塊圖形的設計是比較重要的一個方面。因為俄羅 斯方塊游戲中主要的動作就是控制游戲方塊的移動和翻轉(zhuǎn),以便于組成一行行連續(xù)的 方塊從而增加游的分數(shù)。 由于主要的游戲動作都集中在這個游戲方塊上,因此游戲方塊的設

4、計就顯得格外重要 了。為了增加程序的可擴展性,這里設計一個游戲方塊的基類,各個具體的游戲方塊 都從這個基類開始繼承。這樣,當需要增加游戲方塊時就不用重新設計新的類,只需 要從這個基類集成出一個類就可以了。 更具基類設計了8個派生游戲方塊類,其結(jié)構(gòu)如圖: 系統(tǒng)功能設計分析系統(tǒng)功能設計分析 俄羅斯方塊游戲根據(jù)游戲界面布局的不同,將系統(tǒng)劃分為如下幾個功能部分。 (1) 游戲顯示更新功能。游戲顯示更新功能主要是更新顯示游戲區(qū)域的方塊顯示, 包括控制游戲方塊的下落速度,下落方向以及形狀改變,并且還需要判斷當前 游戲方塊是否滿足消除一行的條件。gameareapanel類就是游戲顯示更新的控制 類,pai

5、nt(graphics g)方法主要負責游戲區(qū)域的實時重繪。 (2) 游戲方塊預覽功能。 在游戲過程中,當在游戲區(qū)域中出現(xiàn)一個游戲方塊時,必須在游戲預覽區(qū)域出 現(xiàn)下一個游戲方塊,這樣有利于游戲者控制游戲的策劃。由于在此游戲中存在8 中不同的游戲方塊,所以在游戲方塊預覽中就需要顯示隨機生成游戲方塊。pre viewpanel類是游戲預覽控制類,在painting(graphics g)方法中,將根據(jù)生成的隨機數(shù)字顯示不同的游戲方塊。 (3) 游戲方塊控制功能。 給各種游戲方塊設置一個基類,主要包括begin()(初始化顯示)方法,down ()(向下移動)方法,left()(向左移動)方法,ri

6、ght()(向右移動)方 法,change()(變換角度)方法,downto()(一下到底)方法。在各個游 戲子類中,需要具體實現(xiàn)這些方法。 (4) 游戲速度分數(shù)更新功能。 在游戲者進行游戲的過程中,需要按照異地昂的游戲規(guī)則給游戲規(guī)則給游戲者 計算游戲分數(shù),當游戲分數(shù)達到一定數(shù)量后,就需要給游戲者增加難度,即提 高游戲中游戲方塊的下落速度。 學習并掌握以下技術(shù):學習并掌握以下技術(shù):java等 熟練使用以下開發(fā)工具:熟練使用以下開發(fā)工具:jcreator等 實現(xiàn)系統(tǒng)上述的功能。實現(xiàn)系統(tǒng)上述的功能。 3 3、進度安排:進度安排: 12月28日 12月29日:課程設計選題,查找參考資料 12月29日

7、 12月 30日:完成需求分析 12月31日 1月2日: 完成系統(tǒng)設計和數(shù)據(jù)庫設計 1月3日 1月4日: 完成程序代碼的編寫 1月5日 1月6日:系統(tǒng)測試與完善 1月7日 1月8日:完成課程設計報告,準備答辯 4、主要參考文獻、主要參考文獻 1 劉中兵.java高手真經(jīng)m.北京:電子工業(yè)出版社,2009.3:3-666 2 陶亞楠 廖建.java web開發(fā)入行真功夫m.北京:電子工業(yè)出版社,2009.3:3-222 3黃曉東.java 課程設計案列精編(第二版)m .中國水利水電出版社,2007.4:6- 333 4黃曉東.java 課程設計案列精編(第一版)m .中國水利水電出版社,200

8、4.5:6- 222 5 趙斌.sql server 2008應用開發(fā)案例解析m.北京:科學出版社,2009:8-100 6 kai leung yung,wai hung ip,ding-wei wang. soft computing based procurement planning of time-variable demand in manufacturing systems j. international journal of automation and computing. 2007, 4(1):80-87 7 meline j.p.van der meulen,migue

9、l revilla. the effectiveness of choice of programming language as a diversity seeking decisionj. springer berlin/heidelberg. 2005, (3):199-209 摘要摘要 在現(xiàn)今電子信息高速發(fā)展的時代,電子游戲已經(jīng)深入人們的日常生活,成為老少 皆宜的娛樂方式。但是游戲設計結(jié)合了日新月異的技術(shù),在一個產(chǎn)品中整合了復雜的 設計、藝術(shù)、聲音和軟件,所以并不是人人皆知。直到今天,在中國從事游戲設計的 人仍然很少,但是游戲行業(yè)的發(fā)展之快,遠超如家電、汽車等傳統(tǒng)行業(yè),也正因為如 此,

10、游戲人才的教育、培養(yǎng)遠落后于產(chǎn)業(yè)的發(fā)展。 俄羅斯方塊是個老幼皆宜的小游戲,它實現(xiàn)由四塊正方形的色塊組成,然后存儲 在一個數(shù)組的四個元素中,計算機隨機產(chǎn)生不同七種類型的方塊,根據(jù)計算機時鐘控 制它在一定的時間不停的產(chǎn)生,用戶根據(jù)鍵盤的四個方向鍵控制翻轉(zhuǎn)、向左、向右和 向下操作,(控制鍵的實現(xiàn)是由鍵盤的方向鍵的事件處理實現(xiàn))。然后程序根據(jù)這七 種方塊堆疊成各種不同的模型。 論文描述了游戲的歷史,開發(fā)此游戲的環(huán)境,游戲開發(fā)的意義。遵循軟件工程的 知識,從軟件問題定義開始,接著進行可行性研究、需求分析、概要設計、詳細設計 ,最后對軟件進行了測試,整個開發(fā)過程貫穿軟件工程的知識體系。 此次設計在micr

11、osoft windows xp系統(tǒng)下,以java為開發(fā)語言,在eclipse開發(fā)平臺上進行游戲的設計與實踐。 關(guān)鍵詞:游戲設計;算法;數(shù)組;事件關(guān)鍵詞:游戲設計;算法;數(shù)組;事件 abstract in the era of high-speed development of electronic information, computer game has enter peoples daily life, become an amusement adapt to old and young. but game design is a combination of fast-moving

12、technology, the complexity of integrating design、 art、audio and software into a single production, so this technology isnt known by everyone. up-to-date, there are few people work at game design all the same, whereas, the development of game industry more faster than traditional industry as home app

13、liances and automobile, by the reason of this situation, the education and training of person with ability of game design drop behind the development of game industry. the russian square piece is a get-away drama with all proper old young , it carry out to be constitute by four pieces of colors of e

14、xact square piece, then save in one four chemical elements of the piece set, random creation dissimilarity of calculator seven the square piece of the category type, control it according to the calculator clock in certain time continuously creation, the customer is inside out according to four direc

15、tions key control of the keyboard, to left, rightwards and get down the operation,.( the realization of the control key is to be carry out by the event handling of the direction key of the keyboard)then the procedure pileds according to these seven kinds of square pieces various different model. the

16、 thesis has described the game history , has developed this game environment, development significance of game. knowledge abiding by a software engineering, definition begins from software problem , proceed to carry out feasibility study , need analysis , essentials design , detailed design, the at

17、last has carried out a testing on the software , entire exploitation process has run through the software engineering knowledge hierarchy. the computer game design and practice are designed on eclipse developing platform with java developing instrument, under microsoft windows xp system this time. k

18、ey words:game design;calculate way;several;eve 目目 錄錄 摘要摘要.vi abstract.vii 目目 錄錄.i 第第1章章 引言引言 .1 1.1 背景.1 1.2 課程設計內(nèi)容.1 1.3 任務分工.2 第第2章章 俄羅斯方塊概述俄羅斯方塊概述 .4 2.1 游戲的歷史.4 2.1.1從頭談起.4 2.1.2圖形硬件的革命.4 2.2游戲的意義與內(nèi)涵.5 2.2.1游戲的組成要素.5 2.3俄羅斯方塊游戲.5 第第3章章 可行性研究可行性研究 .6 3.1 設計目的.6 3.2 可行性研究前提.6 3.3 可行性分析.7 3.4 結(jié)論.7

19、第第4章章 俄羅斯方塊游戲的設計俄羅斯方塊游戲的設計 .8 4.1游戲功能需求.8 4.2 運行環(huán)境及系統(tǒng)性能的需求.9 4.3 詳細設計.9 第第5章章 系統(tǒng)的具體實現(xiàn)系統(tǒng)的具體實現(xiàn) .20 5.1界面設計.20 5.1.1用戶登陸界面圖.20 5.1.2 系統(tǒng)主界面.26 5.2程序設計及調(diào)試運行.31 5.2.1 測試的意義及注意事項.31 5.2.2測試的步驟.32 5.2.3 測試結(jié)果.33 第第6章章 結(jié)束語結(jié)束語 .33 致謝致謝 .34 參考文獻參考文獻 .35 附錄附錄 源代碼源代碼 .36 第第1章章 引言引言 1.11.1 背景背景 俄羅斯方塊是一款風靡全球的電視游戲機和

20、掌上游戲機游戲,它由俄羅斯人 阿列克謝帕基特諾夫發(fā)明,故得此名。俄羅斯方塊的基本規(guī)則是移動、旋轉(zhuǎn)和擺 放游戲自動輸出的各種方塊,使之排列成完整的一行或多行并且消除得分。由于 上手簡單、老少皆宜,從而家喻戶曉,風靡世界。 俄羅斯方塊曾經(jīng)造成的轟動與造成的經(jīng)濟價值可以說是游戲史上的一件大事, 它看似簡單但卻變化無窮,令人上癮。相信大多數(shù)用戶都還記得為它癡迷得茶 不思飯不想的那個俄羅斯方塊時代。 俄羅斯方塊上手極其簡單,但是要熟練地掌握其中的操作與擺放技巧,難 度卻不低。作為家喻戶曉老少皆宜的大眾游戲,其普及程度可以說是史上任何 一款游戲都無法相比的。但是,誰知道這么優(yōu)秀的娛樂工具,出自哪位神人之

21、手呢? 顧名思義,俄羅斯方塊自然是俄羅斯人發(fā)明的。這位偉人叫做阿列克謝帕基 特諾夫。 俄羅斯方塊原名是俄語(英語是tetris),這個名字來源于 希臘語tetra,意思是“四”,而游戲的作者最喜歡網(wǎng)球(tennis)。于是, 他把兩個詞tetra和tennis合而為一,命名為tetris,這也就是俄羅斯方塊名 字的由來啦。 1.21.2 課程設計內(nèi)容課程設計內(nèi)容 1. .游戲界面主框架游戲界面主框架 游戲界面主框架主要包括游戲圖形區(qū)域界面,游戲速度的選擇更新界面, ,游戲分數(shù)的顯示更新界面,下一個圖形方塊的顯示更新區(qū)域,開始游戲按 鈕,重新開始游戲按鈕以及退出游戲按鈕 2游戲圖形區(qū)域界面的顯示

22、更新功能游戲圖形區(qū)域界面的顯示更新功能 游戲圖形區(qū)域界面主要是一個圖形顯示更新區(qū)域,主要包括游戲方塊顯示更 新,整行方塊的刪除和更新,進行中和游戲結(jié)束時的分數(shù)更新和游戲圖形區(qū) 域界面的清除。 在這個游戲圖形區(qū)域界面中,主要是一個表格,根據(jù)相應格子的設置標志來 顯示相應的圖形圖片,這樣就實現(xiàn)了俄羅斯方塊的實時顯示。 3游戲方塊的設計游戲方塊的設計 在俄羅斯方塊游戲中,具體的游戲方塊圖形的設計是比較重要的一個方面。因為 俄羅斯方塊游戲中主要的動作就是控制游戲方塊的移動和翻轉(zhuǎn),以便于組成一行 行連續(xù)的方塊從而增加游的分數(shù)。 由于主要的游戲動作都集中在這個游戲方塊上,因此游戲方塊的設計就顯得格外 重要

23、了。為了增加程序的可擴展性,這里設計一個游戲方塊的基類,各個具體的 游戲方塊都從這個基類開始繼承。這樣,當需要增加游戲方塊時就不用重新設計 新的類,只需要從這個基類集成出一個類就可以了。 4.系統(tǒng)功能設計分析系統(tǒng)功能設計分析 俄羅斯方塊游戲根據(jù)游戲界面布局的不同,將系統(tǒng)劃分為如下幾個功能部分。 (1) 游戲顯示更新功能。游戲顯示更新功能主要是更新顯示游戲區(qū)域的方塊顯 示,包括控制游戲方塊的下落速度,下落方向以及形狀改變,并且還需要 判斷當前游戲方塊是否滿足消除一行的條件。gameareapanel類就是游戲 顯示更新的控制類,paint(graphics g)方法主要負責游戲區(qū)域的實時重繪。

24、(2) 游戲方塊預覽功能。 在游戲過程中,當在游戲區(qū)域中出現(xiàn)一個游戲方塊時,必須在游戲預覽區(qū) 域出現(xiàn)下一個游戲方塊,這樣有利于游戲者控制游戲的策劃。由于在此游 戲中存在8中不同的游戲方塊,所以在游戲方塊預覽中就需要顯示隨機生 成游戲方塊。previewpanel類是游戲預覽控制類,在painting(graphics g)方法中,將根據(jù)生成的隨機數(shù)字顯示不同的游戲方塊。 (3) 游戲方塊控制功能。 給各種游戲方塊設置一個基類,主要包括begin()(初始化顯示)方法, down()(向下移動)方法,left()(向左移動)方法,right()(向 右移動)方法,change()(變換角度)方法

25、,downto()(一下到底) 方法。在各個游戲子類中,需要具體實現(xiàn)這些方法。 (4) 游戲速度分數(shù)更新功能。 在游戲者進行游戲的過程中,需要按照異地昂的游戲規(guī)則給游戲規(guī)則給游 戲者計算游戲分數(shù),當游戲分數(shù)達到一定數(shù)量后,就需要給游戲者增加難 度,即提高游戲中游戲方塊的下落速度。 1.31.3 任務分工任務分工 第第2章章 俄羅斯方塊概述俄羅斯方塊概述 2.12.1 游戲的歷史游戲的歷史 游戲是人類生活的重要組成部分,從第一個電子游戲開發(fā)至今已經(jīng)有30多年 ,在這個短暫的時期里,隨著硬件水平的提高,游戲開發(fā)新技術(shù)層出不窮,經(jīng)典游戲 比比皆是。 2.1.1從頭談起從頭談起 真正的電子游戲機產(chǎn)生于

26、20世紀70年代。1971年,麻省理工學院的學生nola n bushnell設計了世界上的第一個業(yè)務用游戲機(俗名街機),叫做電腦空間 。這臺游戲機用一臺黑白電視機作為顯示屏,用一個控制柄作為操縱器,不過由 于市場因素這款游戲以失敗告終。但是最后他在電子游戲的發(fā)展上取得了非凡的 成就。 上面介紹的是專用機游戲的歷史,而最早的電腦游戲可以追溯到1972年,一 個叫crowther的工程師用當時最流行的主機dec公司的pdp10編寫一段簡單 的fortran程序。在這個程序里,crowther設計了一張地圖,地圖上不規(guī)則的分 布著陷阱,游戲者必須尋找路徑避開陷阱。這個程序被公認為是最早的電腦游戲

27、 程序。 1989年,broderbund公司的設計師喬丹.麥克納根據(jù)阿拉伯民族的古老傳說 一千零一夜在apple平臺上制作了一部動作冒險相結(jié)合的電腦游戲波斯 王子。這個游戲獲得了第一作,它代表了當時電腦技術(shù)的最高水平。 1986年,任天堂公司發(fā)售了一款真正的游戲巨作超級馬里奧。 20世紀80年代ibm pc兼容機的出現(xiàn)打破了apple公司的壟斷地位。 到了20世紀90年代,游戲業(yè)才真正成熟起來,成為了一種產(chǎn)業(yè)。 由于pc機價格非常低而且硬件速度越來越快,游戲逐漸成為人們生活中不可 缺少的一部分。游戲產(chǎn)業(yè)也逐漸發(fā)展成熟。 2.1.2圖形硬件的革命圖形硬件的革命 圖形硬件的飛速發(fā)展是近些年來的事

28、情,部分原因是來自工業(yè)方面的壓力, 例如在軍事和醫(yī)療方面對于實時圖形的需求很強烈,而交互娛樂產(chǎn)業(yè)也極大的推 動了圖形硬件的發(fā)展。技術(shù)上的因素同樣也推動著圖形硬件的發(fā)展,許多圖形算 法可以很容易地表達為并行方式,這樣硬件執(zhí)行的效率變得很高。摩樂定律也起 了作用,越來越多的晶體管可以集成到一塊單獨的芯片上。 在所謂的gpu(圖形處理器)概念出現(xiàn)以前,特殊的圖形硬件只出現(xiàn)在諸如s gi和e import java.awt.event.*; import javax.swing.*; import javax.swing.border.*; public class loginin extends j

29、frame jtextfield f1; jtextfield f2; jbutton b1; jbutton b2; string power;/表示權(quán)限 string imgepath = e:/workspace/gui/14.gif; jpanel p5; image img = toolkit.getdefaulttoolkit().createimage(imgepath); loginin() container cp=getcontentpane(); label l1=new label(用戶:); label l2=new label(密碼:); jpanel p1=new

30、 jpanel(); jpanel p2=new jpanel(); jpanel p3=new jpanel(); jpanel p4=new jpanel(); p5=new jpanel() protected void paintchildren(graphics g) g.drawimage(img,0,0,this); super.paintchildren(g); ; f1=new jtextfield(15); f2=new jpasswordfield(15); b1=new jbutton(登錄); b2=new jbutton(重置); p1.setbackground(

31、color.orange); p2.add(l1); p2.add(f1); p2.setborder(new matteborder(0,0,0,0,color.black); p2.setbackground(color.orange); p3.add(l2); p3.add(f2); p3.setbackground(color.orange); p3.setborder(new matteborder(0,0,0,0,color.black); p4.add(b1); p4.add(b2); p4.setborder(new matteborder(-3,-3,-3,-3,color.

32、cyan); p4.setbackground(color.orange); p5.setlayout(new flowlayout(flowlayout.center,20,20); p5.add(p2); p5.add(p3); p5.add(p4); cp.add(p5,borderlayout.center); b1.addactionlistener(new enter(); b2.addactionlistener(new rewrite(); addwindowlistener(new winclose(); public static void main(string args

33、) loginin log=new loginin(); log.settitle(系統(tǒng)登錄); log.setsize(600,400); log.setvisible(true); class enter implements actionlistener public void actionperformed(actionevent e) if(f1.gettext().equals(admin) power=adminstrator; else if(f1.gettext().equals(snake) power=adminstrator; else joptionpane.show

34、messagedialog(null, 登錄失敗,請重新登錄!); class rewrite implements actionlistener public void actionperformed(actionevent e) f1.settext(); f2.settext(); f1.requestfocus(); class winclose extends windowadapter public void windowclosing(windowevent e) (e.getwindow().dispose(); system.exit(0); 5.1.2 系統(tǒng)主界面系統(tǒng)主界面

35、 圖圖5.25.2 系統(tǒng)主界面系統(tǒng)主界面 關(guān)鍵代碼: public class ersblocksgame extends jframe /每填滿一行計多少分 public final static int per_line_score=100; /積多少分后能升級 public final static int per_level_score=per_line_score*20; /最大級數(shù)是10 public final static int max_level=10; /默認級數(shù)是5 public final static int default_level=5; private gam

36、ecanvas canvas; private ersblock block; private boolean playing=false; private controlpanel ctrlpanel; private jmenubar bar=new jmenubar(); /*private*/ jmenu mgame=new jmenu( 游戲), mcontrol=new jmenu( 控制), mwindowstyle=new jmenu( 游戲風格), minfo=new jmenu( 信息); /*private*/ jmenuitem minewgame=new jmenui

37、tem( 新游戲), misetblockcolor=new jmenuitem( 設置方塊顏色), misetbackcolor=new jmenuitem( 設置背景顏色), miturnharder=new jmenuitem( 升高游戲難度), miturneasier=new jmenuitem( 降低游戲難度), miexit=new jmenuitem( 退出), miplay=new jmenuitem( 開始), mipause=new jmenuitem( 暫停), miresume=new jmenuitem( 恢復), mistop=new jmenuitem( 中止游

38、戲), miauthor=new jmenuitem( 版本:俄羅斯方塊1.0), misourceinfo=new jmenuitem( 源代碼由java實現(xiàn)); private jcheckboxmenuitem miaswindows=new jcheckboxmenuitem( windows), miasmotif=new jcheckboxmenuitem( motif), miasmetal=new jcheckboxmenuitem( metal,true); /主游戲類的構(gòu)造方法param titke string,窗口標題 public ersblocksgame(stri

39、ng title) super(title); setsize(365,392); dimension scrsize= toolkit.getdefaulttoolkit().getscreensize(); setlocation(scrsize.width-getsize().width)/2, (scrsize.height-getsize().height)/2); createmenu(); container container=getcontentpane(); container.setlayout(new borderlayout(6,0); canvas=new game

40、canvas(20,12); ctrlpanel=new controlpanel(this); container.add(canvas, borderlayout.center); container.add(ctrlpanel, borderlayout.east); addwindowlistener(new windowadapter() public void windowclosing(windowevent e) stopgame(); system.exit(0); ); addcomponentlistener(new componentadapter() public v

41、oid componentresized(componentevent e) canvas.fanning(); ); canvas.fanning(); /setvisible(true); 5.25.2程序設計及調(diào)試運行程序設計及調(diào)試運行 5.2.15.2.1 測試的意義及注意事項測試的意義及注意事項 軟件測試是軟件工程中及其重要的一個環(huán)節(jié),目的是保證軟件的質(zhì)量。測試 的好壞將直接影響軟件的好壞,進行測試可以找出其中的錯誤及不足加以改進, 從而得到一個高效、可靠的系統(tǒng)。進行軟件測試主要作用有以下幾點: 1軟件測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程。 2好的軟件測試方案是極可能發(fā)現(xiàn)尚未發(fā)

42、生錯誤的方法。 3程序的測試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯誤。 軟件應從多角度進行測試和分析,這樣才能找出其中錯誤的地方。測試的時 間最好找一些與設計系統(tǒng)無關(guān)的人員,或者分析人員。因為在開發(fā)軟件的時候, 開發(fā)人員已經(jīng)形成了自己的思維定勢,在測試的時候始終受到這種思想的束縛, 很難找出其中的錯誤而與設計無關(guān)的人員和那些分析人員很容易找出錯誤所在。 在程序調(diào)試過程中一定要耐心仔細,一個細微的錯誤將會導致整個功能不能 實現(xiàn)會浪費很多的時間來修改。應在以下幾方面加以注意: 語法錯誤 語法錯誤是經(jīng)常碰到的錯誤。例如,命令拼寫錯誤或傳遞給函數(shù)的參數(shù)不 正確都將產(chǎn)生錯誤。語法錯誤可能導致不能繼續(xù)編寫代碼。 邏輯錯

43、誤 邏輯錯誤通??赡苁菨撛诤碗y以檢測的。當有因鍵入錯誤或程序邏輯流程引 起的邏輯錯誤,可能會成功運行,但產(chǎn)生的結(jié)果卻是錯的。例如,當本應使用小 于符號比較數(shù)值,但卻使用了大于符號時,那么將返回不正確的結(jié)果。 運行時錯誤 運行時錯誤是在執(zhí)行過程中指令試圖執(zhí)行不可能的動作而導致的,必須糾正 運行時產(chǎn)生的錯誤,這樣才能保證軟件運行的可靠性。 本游戲在開發(fā)過程中采用了多種有效的措施保證軟件質(zhì)量,例如,邊界處旋 轉(zhuǎn)、游戲翻轉(zhuǎn)越界糾,等等,極大地方便了用戶操作,但是系統(tǒng)中通常可能還存 在著一些錯誤和缺陷,因此,游戲必須要經(jīng)過反復的運行測試,盡最大量將bug 減到最少。 5.2.25.2.2測試的步驟測試的

44、步驟 通常,軟件測試的過程可以劃分為單元測試、集成測試、確認測試和系統(tǒng)測 試,本游戲?qū)⒁赃@四個步驟進行測試。 1單元測試 單元測試又稱為模塊測試,是針對軟件設計的最小單位 程序模塊進行正確性檢驗的測試工作。其目的在于發(fā)現(xiàn)各模塊內(nèi)部可能存在的各 種差錯??梢詰萌斯y試和計算機測試兩種不同類型的測試方法。 單元測試需要從程序的內(nèi)部結(jié)構(gòu)出發(fā)設計測試用例,即采用白盒測試技術(shù)。 多個模塊可以平行獨立地進行測試。 在這個測試過程中所發(fā)現(xiàn)的往往是編碼和詳細設計中的錯誤。傳統(tǒng)的最小可 編譯單元通常指模塊、函數(shù)或子程序等,而在面向?qū)ο蠹夹g(shù)中通常是指類。 單元測試的重點是模塊接口測試、局部數(shù)據(jù)結(jié)構(gòu)測試、重要的執(zhí)行通路測試、出錯處理 通路測試、邊界條件測試。 2集成測試 集成測試分為子系統(tǒng)測試和系統(tǒng)測試。 子系統(tǒng)測試是把經(jīng)過測試運行正常的模塊放在一起形成子系統(tǒng)后再測試。這 個步驟著重測試模塊的接口,測試模塊之間能否相互斜體哦以及通

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論