畢業(yè)論文-Java實(shí)現(xiàn)蜘蛛紙牌_第1頁
畢業(yè)論文-Java實(shí)現(xiàn)蜘蛛紙牌_第2頁
畢業(yè)論文-Java實(shí)現(xiàn)蜘蛛紙牌_第3頁
畢業(yè)論文-Java實(shí)現(xiàn)蜘蛛紙牌_第4頁
畢業(yè)論文-Java實(shí)現(xiàn)蜘蛛紙牌_第5頁
已閱讀5頁,還剩54頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 太原理工大學(xué)畢業(yè)設(shè)計(jì)(論文)用紙 緒論1.1 游戲開發(fā)的背景知識蜘蛛紙牌時一款很受大家喜歡的休閑類游戲,隨著科學(xué)技術(shù)的不斷發(fā)展的蜘蛛紙牌的的功能也越來越強(qiáng)大,界面變的越來越美觀,玩蜘蛛紙牌的人也很多。蜘蛛紙牌在window 2000 的時候就已經(jīng)存在于系統(tǒng)中,一直是大家在休閑的最佳游戲。通過這次蜘蛛紙牌游戲的設(shè)計(jì),實(shí)現(xiàn)蜘蛛紙牌的主要功能,不論是對游戲的了解,還是對自己設(shè)計(jì)程序的能力都是很好的提高。游戲的目標(biāo)是以最少的移動次數(shù)將牌面中的十疊牌以及待發(fā)的五組,共計(jì)八副牌整理移除。當(dāng)所有牌被移除整理到界面的左下方,游戲獲勝。1.2 需要做的準(zhǔn)備工作需要做的工作有學(xué)習(xí)掌握開發(fā)程序的方法,安裝所需的編

2、程的平臺eclipse,了解開發(fā)工具,進(jìn)行進(jìn)程分析,根據(jù)得需求規(guī)格說明書設(shè)計(jì)具體的程序流程圖,編寫程序,修改程序,運(yùn)行程序,系統(tǒng)調(diào)試程序、測試程序,發(fā)布程序。2 開發(fā)工具介紹2.1 java語言概述java是一種可以撰寫跨HYPERLINK /view/58664.htm平臺HYPERLINK /view/220910.htm應(yīng)用HYPERLINK /subview/37/6030295.htm軟件的面向?qū)ο蟮腍YPERLINK /subview/17674/10597204.htm程序HYPERLINK /view/14417.htm設(shè)計(jì)HYPERLINK /subview/9793/106

3、63680.htm語言,是由HYPERLINK /view/1061350.htmSun Microsystems公司于1995年5月推出的Java程序設(shè)計(jì)語言和HYPERLINK /view/209634.htmJava平臺(即JavaEE, JavaME, JavaSE)的總稱。Java自面世后就非常流行,發(fā)展迅速,對HYPERLINK /view/824.htmC+語言形成了有力沖擊。Java 技術(shù)具有卓越的通用性、高效性、平臺移植性和HYPERLINK /view/4547.htm安全性,廣泛應(yīng)用于個人HYPERLINK /subview/13621/4882082.htmPC、HYP

4、ERLINK /view/754520.htm數(shù)據(jù)中心、HYPERLINK /subview/2468/8069356.htm游戲控制臺、HYPERLINK /view/3805.htm科學(xué)HYPERLINK /view/296324.htm超級計(jì)算機(jī)、HYPERLINK /view/49217.htm移動電話和HYPERLINK /view/6825.htm互聯(lián)網(wǎng),同時擁有全球最大的開發(fā)者專業(yè)社群。在全球云計(jì)算和HYPERLINK /view/1168245.htm移動互聯(lián)網(wǎng)的產(chǎn)業(yè)環(huán)境下,Java更具備了顯著優(yōu)勢和廣闊前景?,F(xiàn)在常用的瀏覽器比如說360瀏覽器,IE瀏覽器中均配備有java a

5、pplet。 HYPERLINK /view/29.htmJava不同于一般的HYPERLINK /view/1182926.htm編譯執(zhí)行計(jì)算機(jī)語言和HYPERLINK /view/1182922.htm解釋執(zhí)行計(jì)算機(jī)語言。它首先將HYPERLINK /view/60376.htm源代碼編譯成二進(jìn)制HYPERLINK /view/560330.htm字節(jié)碼(bytecode),然后依賴各種不同平臺上的虛擬機(jī)來解釋執(zhí)行字節(jié)碼。從而實(shí)現(xiàn)了“一次編譯、到處執(zhí)行”的跨平臺特性。不過,每次的執(zhí)行編譯后的字節(jié)碼需要消耗一定的時間,這同時也在一定程度上降低了 Java 程序的性能。2.2 java語言的特

6、點(diǎn)java語言是一種簡單的、面向?qū)ο蟮?、分布式的、健壯的、安全的、與平臺無關(guān)的、多線程、高性能的、動態(tài)程序設(shè)計(jì)語言。1.java語言簡單易學(xué)的: java語言的語法與C語言和C+語言很接近,使得多數(shù)程序員很容易學(xué)習(xí)和使用java。另一方面,java丟棄了C+中很少使用的,很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動的強(qiáng)制類型轉(zhuǎn)換。特別地。java語言不使用指針,并提供了自動的廢料收集,使得程序員不必為內(nèi)存管理而擔(dān)憂。2.平臺無關(guān)性:平臺無關(guān)性是指Java能運(yùn)行于不同的平臺。Java引進(jìn)虛擬機(jī) 原理,并運(yùn)行于虛擬機(jī),實(shí)現(xiàn)不同平臺的Java接口之間。使用Java編寫的程序能在世界范圍

7、內(nèi)共享。Java的數(shù)據(jù)類型與 機(jī)器無關(guān),Java虛擬機(jī)(Java Virtual Machine)是建立在硬件和操作系統(tǒng)之上,實(shí)現(xiàn)Java二進(jìn)制代碼的解釋執(zhí)行功能, 提供于不同平臺的接口的。 3.安全性:Java通常被用在網(wǎng)絡(luò)環(huán)境中,為此,Java提供了一個安全機(jī)制以防惡意HYPERLINK /wiki/代碼代碼的攻擊。除了Java語言具有的許多安全特性以外,Java對通過網(wǎng)絡(luò)下載的類具有一個安全防范機(jī)制(類HYPERLINK /wiki/classloaderclassloader),如分配不同的名字空間以防替代本地的同名類、HYPERLINK /wiki/字節(jié)代碼字節(jié)代碼檢查,并提供安全管

8、理機(jī)制(類SecurityManager)讓Java應(yīng)用設(shè)置安全哨兵。 4.面向?qū)ο?Java語言提供類、接口和繼承等原語,為了簡單起見,只支持類之間的單繼承,但支持接口之間的多繼承,并支持類與接口之間的實(shí)現(xiàn)機(jī)制。Java語言全面支持動態(tài)綁定,而C+ 語言只對虛函數(shù)使用動態(tài)綁定??傊?,Java語言是一個純的面向?qū)ο蟪绦蛟O(shè)計(jì)語言。5.分布式:Java語言支持Internet應(yīng)用的開發(fā),在基本的Java應(yīng)用編程接口中有一個網(wǎng)絡(luò)應(yīng)用編程接口,它提供了用于網(wǎng)絡(luò)應(yīng)用編程的類庫,包括URL、URLConnection、Socket、 ServerSocket等。Java的RMI(遠(yuǎn)程方法激活)機(jī)制也是開發(fā)

9、分布式應(yīng)用的重要手段。 6.健壯性:Java的強(qiáng)類型機(jī)制、異常處理、廢料的自動收集等是Java程序健壯性的重要保證。對指針的丟棄是Java的明智選擇。Java的安全檢查機(jī)制使得Java更具健壯性。 7.解釋型:Java程序在Java平臺上被編譯為字節(jié)碼格式, 然后可以在實(shí)現(xiàn)這個Java平臺的任何系統(tǒng)中運(yùn)行。在運(yùn)行時,Java平臺中的Java解釋器對這些字節(jié)碼進(jìn)行解釋執(zhí)行,執(zhí)行過程中需要的類在聯(lián)接階段被載入到運(yùn)行環(huán)境中。 8.動態(tài):java程序的基本組成單元就是類,有些類是自己編寫的,有些是從類庫中引入的,而類又是運(yùn)行時動態(tài)裝載的,這就使得Java可以在分部環(huán)境中動態(tài)的維護(hù)程序及分類,而不像C+

10、那樣,沒檔期類庫升級以后,如果想讓程序具有新類庫提供的功能,就需要修改程序,重新編譯。9.多線程:在Java語言中,線程是一種特殊的對象,它必須由Thread類或其子類來創(chuàng)建。通常有兩種方法來創(chuàng)建線程:其一,使用型構(gòu)為Thread 的HYPERLINK /wiki/構(gòu)造子構(gòu)造子將一個實(shí)現(xiàn)了Runnable接口的對象包裝成一個線程,其二,從Thread類派生出子類并重寫run方法,使用該子類創(chuàng)建的對象即為線程。值得注意的是Thread類已經(jīng)實(shí)現(xiàn)了Runnable接口,因此,任何一個線程均有它的run方法,而run方法中包含了線程所要運(yùn)行的代碼。線程的活動由一組方法來控制。 Java語言支持多個線

11、程的同時執(zhí)行,并提供多線程之間的同步機(jī)制。 10.可以移植的:這種可移植性來源于體系結(jié)構(gòu)中立性,另外,java還嚴(yán)格規(guī)定了各個基本數(shù)據(jù)類型的長度。java系統(tǒng)本身也具有很強(qiáng)的可移植性,java編譯器是用java實(shí)現(xiàn)的,java運(yùn)行環(huán)境是用ANSIC實(shí)現(xiàn)的。 11.Java語言是體系結(jié)構(gòu)中立的:Java程序(后綴為java的文件)在Java平臺上被編譯為體系結(jié)構(gòu)中立的字節(jié)碼格式(后綴為class的文件), 然后可以在實(shí)現(xiàn)這個Java平臺的任何系統(tǒng)中運(yùn)行。這種途徑適合于異構(gòu)的網(wǎng)絡(luò)環(huán)境和軟件的分發(fā)。2.3 Eclipse簡介Eclipse 是一個開放源代碼的、基于 Java 的可擴(kuò)展開發(fā)平臺。就其本

12、身而言,它只是一個框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運(yùn)的是,Eclipse 附帶了一個標(biāo)準(zhǔn)的插件集,包括 Java 開發(fā)工具(Java Development Tools,JDT)。 雖然大多數(shù)用戶很樂于將 Eclipse 當(dāng)作 Java 集成開發(fā)環(huán)境(IDE)來使用,但 Eclipse 的目標(biāo)卻不僅限于此。Eclipse 還包括插件開發(fā)環(huán)境(Plug-in Development Environment,PDE),這個組件主要針對希望擴(kuò)展 Eclipse 的軟件開發(fā)人員,因?yàn)樗试S他們構(gòu)建與 Eclipse 環(huán)境無縫集成的工具。由于 Eclipse 中的每樣?xùn)|西都是插件,對于給

13、 Eclipse 提供插件,以及給用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)境而言,所有工具開發(fā)人員都具有同等的發(fā)揮場所。這種平等和一致性并不僅限于 Java 開發(fā)工具。盡管 Eclipse 是使用 Java 語言開發(fā)的,但它的用途并不限于 Java 語言;例如,支持諸如 C/C+ 和 COBOL 等編程語言的插件已經(jīng)可用,或預(yù)計(jì)將會推出。Eclipse 框架還可用來作為與軟件開發(fā)無關(guān)的其他應(yīng)用程序類型的基礎(chǔ),比如內(nèi)容管理系統(tǒng)?;?Eclipse 的應(yīng)用程序的一個突出例子是 IBM Rational Software Architect,它構(gòu)成了 IBM Java 開發(fā)工具系列的基礎(chǔ)。Eclipse I

14、DE for Java EE Developers。3 可行性分析可行性分析是通過對HYPERLINK /view/25183.htm項(xiàng)目的主要內(nèi)容和配套條件,如市場需求、資源供應(yīng)、建設(shè)規(guī)模、工藝路線、設(shè)備選型、環(huán)境影響、資金籌措、盈利能力等,從技術(shù)、經(jīng)濟(jì)、工程等方面進(jìn)行調(diào)查研究和分析比較,并對項(xiàng)目建成以后可能取得的財(cái)務(wù)、HYPERLINK /view/188272.htm經(jīng)濟(jì)效益及社會環(huán)境影響進(jìn)行預(yù)測,從而提出該項(xiàng)目是否值得投資和如何進(jìn)行建設(shè)的咨詢意見,為HYPERLINK /view/1334011.htm項(xiàng)目決策提供依據(jù)的一種綜合性的HYPERLINK /view/532763.htm系

15、統(tǒng)分析方法??尚行苑治鰬?yīng)具有預(yù)見性、公正性、可靠性、科學(xué)性的特點(diǎn)。3.1 概述 HYPERLINK /view/117853.htm可行性研究主要內(nèi)容是要求以全面、系統(tǒng)的分析為主要方法,經(jīng)濟(jì)效益為核心,圍繞影響項(xiàng)目的各種因素,運(yùn)用大量的數(shù)據(jù)資料論證擬建項(xiàng)目是否可行。對整個HYPERLINK /view/117853.htm可行性研究提出綜合分析評價,指出優(yōu)缺點(diǎn)和建議。為了結(jié)論的需要,往往還需要加上一些附件,如試驗(yàn)數(shù)據(jù)、論證材料、計(jì)算圖表、附圖等,以增強(qiáng)可行性報(bào)告的說服力?;YPERLINK /view/1885765.htm項(xiàng)目可行性研究軟件(RSGL-KX2.0),以化工行業(yè)可行性研究報(bào)

16、告、立項(xiàng)申請書規(guī)范為基礎(chǔ),通過文本、數(shù)據(jù)靈活調(diào)用,生成符合國家規(guī)定的可行性研究報(bào)告、項(xiàng)目立項(xiàng)申請書的格式。 本軟件的意義在于提高化工應(yīng)用課題立項(xiàng)及項(xiàng)目生產(chǎn)轉(zhuǎn)化時的HYPERLINK /view/117853.htm可行性研究的準(zhǔn)確預(yù)測,旨在克服化工科技人員在技術(shù)指標(biāo)、生產(chǎn)銷售、環(huán)境評價、成本核算、利潤分配、風(fēng)險(xiǎn)評估等方面的知識欠缺,降低化工項(xiàng)目的投資風(fēng)險(xiǎn)。該軟件的內(nèi)容翔實(shí),使用簡便,只需要輸入基礎(chǔ)技術(shù)數(shù)據(jù)和基礎(chǔ)經(jīng)濟(jì)數(shù)據(jù)就可得到規(guī)范的完整可行性研究報(bào)告和項(xiàng)目立項(xiàng)申請書文檔。 我國HYPERLINK /view/117853.htm可行性研究存在的主要問題,一是工程技術(shù)方案的研究論證深度不夠。按照

17、國外的通常做法,HYPERLINK /view/117853.htm可行性研究階段的研究深度應(yīng)能達(dá)到定方案的程度,因此要求在工程技術(shù)方案論證,應(yīng)達(dá)到Basic Design或Concept Design的程度,基本相當(dāng)于我國的初步設(shè)計(jì)應(yīng)達(dá)到的水平,應(yīng)提出明確的設(shè)備清單;二是HYPERLINK /view/591181.htm財(cái)務(wù)評價就項(xiàng)目論項(xiàng)目,這與國外利用企業(yè)理財(cái)?shù)睦碚摵头椒ㄟM(jìn)行資本預(yù)算管理,對HYPERLINK /view/1741329.htm投資項(xiàng)目進(jìn)行HYPERLINK /view/1478470.htm投資決策和HYPERLINK /view/1250741.htm融資決策的通行做

18、法存在重大差異,并且在HYPERLINK /view/1015416.htm經(jīng)濟(jì)評價方面不恰當(dāng)?shù)厥褂昧藝窠?jīng)濟(jì)評價的概念,由此引起一系列的認(rèn)識誤區(qū);三是在市場分析、組織機(jī)構(gòu)分析等方面與國外差別較大,研究深度嚴(yán)重不足;四是不重視多方案的比選及項(xiàng)目HYPERLINK /view/551082.htm風(fēng)險(xiǎn)分析,或者分析的內(nèi)容、深度嚴(yán)重不足,缺乏項(xiàng)目周期各階段風(fēng)險(xiǎn)管理的統(tǒng)一籌劃及策略論證。 可行性研究的依據(jù): 一個擬建項(xiàng)目的HYPERLINK /view/117853.htm可行性研究,必須在國家有關(guān)的規(guī)劃、政策、法規(guī)的指導(dǎo)下完成,同時,還必須要有相應(yīng)的各種技術(shù)資料。進(jìn)行HYPERLINK /view

19、/117853.htm可行性研究工作的主要依據(jù)主要包括: 國家經(jīng)濟(jì)和社會發(fā)展的長期規(guī)劃,部門與地區(qū)規(guī)劃,經(jīng)濟(jì)建設(shè)的指導(dǎo)方針、任務(wù)、HYPERLINK /view/126536.htm產(chǎn)業(yè)政策、投資政策和技術(shù)經(jīng)濟(jì)政策以及國家和地方法規(guī)等; 經(jīng)過批準(zhǔn)的HYPERLINK /view/1366794.htm項(xiàng)目建議書和在項(xiàng)目建議書批準(zhǔn)后簽訂的意向性協(xié)議等; 由國家批準(zhǔn)的資源報(bào)告,國土開發(fā)整治規(guī)劃、區(qū)域規(guī)劃和工業(yè)基地規(guī)劃。對于交通運(yùn)輸項(xiàng)目建設(shè)要有有關(guān)的江河流域規(guī)劃與路網(wǎng)規(guī)劃等; 國家進(jìn)出口貿(mào)易政策和HYPERLINK /view/2432632.htm關(guān)稅政策; 當(dāng)?shù)氐臄M建廠址的自然、經(jīng)濟(jì)、社會等基礎(chǔ)

20、資料; 有關(guān)國家、地區(qū)和行業(yè)的工程技術(shù)、經(jīng)濟(jì)方面的法令、法規(guī)、標(biāo)準(zhǔn)定額資料等; 由國家頒布的建設(shè)項(xiàng)目可行性研究及HYPERLINK /view/1015416.htm經(jīng)濟(jì)評價的有關(guān)規(guī)定; 包含各種市場信息的HYPERLINK /view/1927124.htm市場調(diào)研報(bào)告。 可行性研究的一般要求: HYPERLINK /view/117853.htm可行性研究工作對于整個項(xiàng)目建設(shè)過程乃至整個國民經(jīng)濟(jì)都有非常重要的意義,為了保證可行性研究工作的科學(xué)性、客觀性和公正性,有效地防止錯誤和遺漏,在可行性研究中, (1)首先必須站在客觀公正的立場進(jìn)行調(diào)查研究,做好基礎(chǔ)資料的收集工作。對于收集的基礎(chǔ)資料,

21、要按照客觀實(shí)際情況進(jìn)行論證評價,如實(shí)地反映客觀HYPERLINK /view/187327.htm經(jīng)濟(jì)規(guī)律,從客觀數(shù)據(jù)出發(fā),通過科學(xué)分析,得出項(xiàng)目是否可行的結(jié)論。 (2)HYPERLINK /view/671183.htm可行性研究報(bào)告的內(nèi)容深度必須達(dá)到國家規(guī)定的標(biāo)準(zhǔn),基本內(nèi)容要完整,應(yīng)盡可能多地占有數(shù)據(jù)資料,避免粗制濫造,搞形式主義。 (3)為保證HYPERLINK /view/117853.htm可行性研究的工作質(zhì)量,應(yīng)保證咨詢設(shè)計(jì)單位足夠的工作周期,防止因各種原因的不負(fù)責(zé)任草率行事。具體工作周期由委托單位與咨詢設(shè)計(jì)單位在簽訂合同時協(xié)商確定。3.2 本系統(tǒng)的可行性分析 (1). 投資必要性

22、 主要根據(jù)市場調(diào)查及預(yù)測的結(jié)果,以及有關(guān)的產(chǎn)業(yè)政策等因素,論證項(xiàng)目投資建設(shè)的必要性; (2). 技術(shù)的可行性 主要從事項(xiàng)目實(shí)施的技術(shù)角度,合理設(shè)計(jì)技術(shù)方案,并進(jìn)行比選和評價; (3). 財(cái)務(wù)的可行性 主要從項(xiàng)目及投資者的角度,設(shè)計(jì)合理財(cái)務(wù)方案,從企業(yè)理財(cái)?shù)慕嵌冗M(jìn)行資本預(yù)算,評價項(xiàng)目的財(cái)務(wù)盈利能力,進(jìn)行投資決策,并從融資主體(企業(yè))的角度評價股東投資收益、現(xiàn)金流量計(jì)劃及債務(wù)清償能力; (4). 組織的可行性 制定合理的項(xiàng)目實(shí)施進(jìn)度計(jì)劃、設(shè)計(jì)合理組織機(jī)構(gòu)、選擇經(jīng)驗(yàn)豐富的管理人員、建立良好的協(xié)作關(guān)系、制定合適的培訓(xùn)計(jì)劃等,保證項(xiàng)目順利執(zhí)行; (5). 經(jīng)濟(jì)的可行性 從資源配置的角度衡量項(xiàng)目的價值,評

23、價項(xiàng)目在實(shí)現(xiàn)區(qū)域經(jīng)濟(jì)發(fā)展目標(biāo)、有效配置經(jīng)濟(jì)資源、增加供應(yīng)、創(chuàng)造就業(yè)、改善環(huán)境、提高人民生活等方面的效益。 (6). 社會可行性 分析項(xiàng)目對社會的影響,包括政治體制、方針政策、經(jīng)濟(jì)結(jié)構(gòu)、法律道德、宗教民族、婦女兒童及社會穩(wěn)定性等; (7). 風(fēng)險(xiǎn)因素控制的可行性對項(xiàng)目的市場風(fēng)險(xiǎn)、技術(shù)風(fēng)險(xiǎn)、財(cái)務(wù)風(fēng)險(xiǎn)、組織風(fēng)險(xiǎn)、法律風(fēng)險(xiǎn)、經(jīng)濟(jì)及社會風(fēng)險(xiǎn)等因素進(jìn)行評價,制定規(guī)避風(fēng)險(xiǎn)的對策,為項(xiàng)目全過程的風(fēng)險(xiǎn)管理提供依據(jù)。3.3 系統(tǒng)分析3.3.1 限定問題所謂問題,是現(xiàn)實(shí)情況與HYPERLINK /view/149377.htm計(jì)劃目標(biāo)或理想狀態(tài)之間的差距。系統(tǒng)分析的核心內(nèi)容有兩個:其一是進(jìn)行“診斷”,即找出問題及其

24、原因;其二是“開處方”,即提出解決問題的最可行方案。所謂限定問題,就是要明確問題的本質(zhì)或特性、問題存在范圍和影響程度、問題產(chǎn)生的時間和環(huán)境、問題的癥狀和原因等。限定問題是系統(tǒng)分析中關(guān)鍵的一步,因?yàn)槿绻霸\斷”出錯,以后開的“處方”就不可能對癥下藥。在限定問題時,要注意區(qū)別癥狀和問題,探討問題原因不能先入為主,同時要判別哪些是局部問題,哪些是整體問題,問題的最后確定應(yīng)該在調(diào)查研究之后。通過親身體驗(yàn)總結(jié)各銀行ATM提款機(jī)界面流程,得到本系統(tǒng)開發(fā)的主要流程界面(主要功能取款、轉(zhuǎn)賬、查詢、修改密碼等)。3.3.2 確定目標(biāo)系統(tǒng)分析目標(biāo)應(yīng)該根據(jù)客戶的要求和對需要解決問題的理解加以確定,如有可能應(yīng)盡量通過

25、指標(biāo)表示,以便進(jìn)行定量分析。對不能定量描述的目標(biāo)也應(yīng)該盡量用文字說明清楚,以便進(jìn)行定性分析和評價系統(tǒng)分析的成效。3.3.3 調(diào)查研究,收集數(shù)據(jù)調(diào)查研究和收集數(shù)據(jù)應(yīng)該圍繞問題起因進(jìn)行,一方面要驗(yàn)證有限定問題階段形成的假設(shè),另一方面要探討產(chǎn)生問題的根本原因,為下一步提出解決問題的備選方案做準(zhǔn)備。調(diào)查研究常用的有四種方式,即閱讀文件資料、HYPERLINK /view/1212144.htm訪談、觀察和調(diào)查。收集的數(shù)據(jù)和信息包括事實(shí)(facts)、見解(opinions)和態(tài)度(attitudes)。要對數(shù)據(jù)和信息去偽存真,交叉核實(shí),保證真實(shí)性和準(zhǔn)確性。3.3.4 提出方案和評價標(biāo)準(zhǔn)通過深入調(diào)查研究

26、,使真正有待解決的問題得以最終確定,使產(chǎn)生問題的主要原因得到明確,在此基礎(chǔ)上就可以有針對性地提出解決問題的備選方案。備選方案是解決問題和達(dá)到咨詢目標(biāo)可供選擇的建議或設(shè)計(jì),應(yīng)提出兩種以上的備選方案,以便提供進(jìn)一步HYPERLINK /view/20473.htm評估和篩選。為了對備選方案進(jìn)行HYPERLINK /view/20473.htm評估,要根據(jù)問題的性質(zhì)和客戶具備的條件。提出約束條件或評價標(biāo)準(zhǔn),供下一步應(yīng)用。3.3.5 方案評估根據(jù)上述約束條件或評價標(biāo)準(zhǔn),對解決問題備選方案進(jìn)行評估,評估應(yīng)該是綜合性的,不僅要考慮技術(shù)因素,也要考慮社會經(jīng)濟(jì)等因素,評估小組應(yīng)該有一定代表性,除咨詢項(xiàng)目組成員

27、外,也要吸收客戶組織的代表參加。根據(jù)評估結(jié)果確定最可行方案。3.3.6 提交可行方案最可行方案并不一定是最佳方案,它是在約束條件之內(nèi),根據(jù)評價標(biāo)準(zhǔn)篩選出的最現(xiàn)實(shí)可行的方案。如果HYPERLINK /view/1744472.htm客戶滿意,則系統(tǒng)分析達(dá)到目標(biāo)。如果客戶不滿意,則要與客戶協(xié)商調(diào)整約束條件或評價標(biāo)準(zhǔn),甚至重新限定的問題,開始新一輪系統(tǒng)分析,直到HYPERLINK /view/1744472.htm客戶滿意為止。4 總體設(shè)計(jì)4.1 系統(tǒng)設(shè)計(jì)即對有關(guān)系統(tǒng)全局問題的設(shè)計(jì),也就是設(shè)計(jì)系統(tǒng)總的處理方案,又稱系統(tǒng)概要設(shè)計(jì)。它包括:HYPERLINK /view/3314.htm計(jì)算機(jī)配置設(shè)計(jì)、

28、系統(tǒng)模塊結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)庫和文件設(shè)計(jì)、代碼設(shè)計(jì)以及系統(tǒng)可靠性與內(nèi)部控制設(shè)計(jì)等內(nèi)容。軟件功能分解屬于下列軟件開發(fā)中的總體設(shè)計(jì)階段。概要設(shè)計(jì)解決軟件系統(tǒng)的模塊劃分和模塊的層次機(jī)構(gòu)以及數(shù)據(jù)庫設(shè)計(jì);HYPERLINK /view/228950.htm詳細(xì)設(shè)計(jì)解決每個模塊的控制流程,內(nèi)部算法和HYPERLINK /view/9900.htm數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)。這個階段結(jié)束,要交付HYPERLINK /view/624719.htm概要設(shè)計(jì)說明書和設(shè)計(jì)說明,也可以合并在一起,稱為設(shè)計(jì)說明書。系統(tǒng)設(shè)計(jì)通常應(yīng)用兩種方法:一種是HYPERLINK /view/2058.htm歸納法,另一種是HYPERLINK /vi

29、ew/303331.htm演繹法。應(yīng)用HYPERLINK /view/2058.htm歸納法進(jìn)行系統(tǒng)設(shè)計(jì)的HYPERLINK /view/17674.htm程序是:首先盡可能地收集現(xiàn)有的和過去的同類系統(tǒng)的系統(tǒng)設(shè)計(jì)資料;在對這些系統(tǒng)的設(shè)計(jì)、制造和運(yùn)行狀況進(jìn)行分析研究的基礎(chǔ)上,根據(jù)所設(shè)計(jì)的系統(tǒng)的功能要求進(jìn)行多次選擇,然后對少數(shù)幾個同類系統(tǒng)作出相應(yīng)修正,最后得出一個理想的系統(tǒng)。HYPERLINK /view/303331.htm演繹法是一種公理化方法,即先從普遍的規(guī)則和HYPERLINK /view/437790.htm原理出發(fā),根據(jù)設(shè)計(jì)人員的知識和經(jīng)驗(yàn),從具有一定功能的元素集合中選擇能符合系統(tǒng)功能

30、要求的多種元素,然后將這些元素按照一定形式進(jìn)行組合(見HYPERLINK /view/591160.htm系統(tǒng)結(jié)構(gòu)),從而創(chuàng)造出具有所需功能的新系統(tǒng)。在系統(tǒng)設(shè)計(jì)的實(shí)踐中,這兩種方法往往是并用的。 系統(tǒng)設(shè)計(jì)原則: (1)階段開發(fā)原則 系統(tǒng)框架和HYPERLINK /view/9900.htm數(shù)據(jù)結(jié)構(gòu)全面設(shè)計(jì),具體功能實(shí)現(xiàn)分階段進(jìn)行。網(wǎng)站的建設(shè)過程可以采取以下三期:第一期工程搭建網(wǎng)站的基本構(gòu)架,實(shí)現(xiàn)HYPERLINK /view/4319973.htm電子商務(wù)網(wǎng)的大部分功能,初步實(shí)現(xiàn)網(wǎng)上交易;第二期工程實(shí)現(xiàn)網(wǎng)上競價系統(tǒng)的全部功能;第三期工程實(shí)現(xiàn)網(wǎng)站在線的B to B 交易。 (2)易用性原則 方便

31、上網(wǎng)客戶瀏覽和操作,最大限度地減輕后臺管理人員的負(fù)擔(dān),做到部分業(yè)務(wù)的自動化處理。 (3)業(yè)務(wù)完整性原則 對于業(yè)務(wù)進(jìn)行中的特殊情況能夠做出及時、正確的響應(yīng),保證業(yè)務(wù)數(shù)據(jù)的完整性。 (4)業(yè)務(wù)規(guī)范化原則 在系統(tǒng)設(shè)計(jì)的同時,也為將來的業(yè)務(wù)流程制定了較為完善的規(guī)范,具有較強(qiáng)的實(shí)際操作性。 (5)可擴(kuò)展性原則 系統(tǒng)設(shè)計(jì)要考慮到業(yè)務(wù)未來發(fā)展的需要,要盡可能設(shè)計(jì)得簡明,各個功能模塊間的HYPERLINK /view/1599212.htm耦合度小,便于系統(tǒng)的擴(kuò)展。如果存在舊有的HYPERLINK /view/7809.htm數(shù)據(jù)庫系統(tǒng),則需要充分考慮HYPERLINK /view/80015.htm兼容性。

32、 本系統(tǒng)參照windows游戲蜘蛛紙牌,自己編寫設(shè)計(jì)實(shí)現(xiàn)其功能,它具有如下一些功能: 設(shè)計(jì)一個游戲界面,包括玩牌區(qū)、發(fā)牌區(qū)和回收區(qū)。 (1)紙牌以及其背景的設(shè)定。 (2)移動紙牌。使用鼠標(biāo)將較小的紙牌拖放到較大的紙牌下方,可以拖動一組紙牌,當(dāng)要求這組紙牌是同一個花色,并且這一組紙牌從上到下是從大到小排列的,且不間斷。 (3)回收紙牌。當(dāng)某列出現(xiàn)同一花色,從上到下依次是從K到A的不間組合時,這組紙牌將被回收到回收區(qū)中。 (4)發(fā)牌。用鼠標(biāo)單擊發(fā)牌區(qū),若發(fā)牌區(qū)還有剩余的紙牌,則將發(fā)出一疊紙牌共10張,依次添加到玩牌區(qū)的10列紙牌最下方,但要求這10列紙牌沒有空白列。.若玩家不了解游戲規(guī)則可以點(diǎn)擊幫

33、助獲得游戲方法。 (5)級別設(shè)定。點(diǎn)擊“游戲”菜單中選取游戲難以級別,有3種級別,分別對應(yīng)初級、中級、高級。 (6)退出游戲。4.2 主要模型 該游戲的開發(fā)及相關(guān)功能的實(shí)現(xiàn)需要在Eclipse下建立java project,同時編寫Spider.java、PKCard.java、SpiderMenu.java、AboutDialog.class,另外將紙牌的圖片文件保存在images文件夾中。該游戲可分為以下各項(xiàng)功能:Spider.java 用于實(shí)現(xiàn)紙牌初始化、設(shè)置游戲等級以及異常處理。PKCard.java用于定義紙牌的顯示的各種屬性以及鼠標(biāo)事件的相應(yīng)屬性。SpiderMenu.java用于

34、添加游戲下拉菜單的各個選項(xiàng),包含圖形用戶界面的構(gòu)建,組件監(jiān)聽的實(shí)現(xiàn),以及顯示可執(zhí)行操作的線程。SpiderMenu.class生成Spider.class,AboutDialog.class和PKCard.class。4.3 系統(tǒng)功能結(jié)構(gòu)圖 所謂HYPERLINK /view/2130233.htm功能結(jié)構(gòu)圖就是將系統(tǒng)的功能進(jìn)行分解,按功能從屬關(guān)系表示的圖表。HYPERLINK /view/2670.htm管理信息系統(tǒng)的各子系統(tǒng)可以看作是系統(tǒng)目標(biāo)下層的功能,對其中每項(xiàng)功能還可以繼續(xù)分解為第三層、第四層甚至更多的功能。 HYPERLINK /view/2130233.htm功能結(jié)構(gòu)圖就是按照功能

35、的從屬關(guān)系畫成的圖表,圖中的每一個框都稱為一個功能模塊。功能模塊可以根據(jù)具體情況分的大一點(diǎn)或小一點(diǎn),分解得最小功能模塊可以是一個程序中的每個處理過程,而較大的功能模塊則可能是完成某一個任務(wù)的一組程序。 HYPERLINK /view/2130233.htm功能結(jié)構(gòu)圖是對HYPERLINK /view/25278.htm硬件、HYPERLINK /view/37.htm軟件、HYPERLINK /view/1038216.htm解決方案等進(jìn)行解剖,詳細(xì)描述功能列表的結(jié)構(gòu),構(gòu)成,剖面的從大到小,從粗到細(xì),從上到下等而描繪或畫出來的結(jié)構(gòu)圖。從概念上講,上層功能包括 (或控制)下層功能,愈上層功能愈籠

36、統(tǒng),愈下層功能愈具體。功能分解的過程就是一個由抽象到具體、由復(fù)雜到簡單的過程。圖中每一個框稱為一個功能模塊。功能模塊可以根據(jù)具體情況分得大一點(diǎn)或小一點(diǎn)。分解得最小的功能模塊可以是一個程序中的每個處理過程,而較大的功能模塊則可能是完成某一任務(wù)的一組程序。 系統(tǒng)設(shè)計(jì)是新系統(tǒng)的物理設(shè)計(jì)階段。根據(jù)HYPERLINK /view/170100.htm系統(tǒng)分析階段所確定的新系統(tǒng)的HYPERLINK /view/1650561.htm邏輯模型、功能要求,在用戶提供的環(huán)境條件下,設(shè)計(jì)出一個能在HYPERLINK /view/3314.htm計(jì)算機(jī)網(wǎng)絡(luò)環(huán)境上實(shí)施的HYPERLINK /view/556358.h

37、tm方案,即建立新系統(tǒng)的物理模型。圖4-1 系統(tǒng)功能結(jié)構(gòu)圖5 詳細(xì)設(shè)計(jì)5.1 代碼功能功能模塊設(shè)計(jì) 蜘蛛紙牌游戲共由4個部分組成,分別是:Spider.java,SpiderMenuBar.java,PKCard.java,AboutDialog.java。SpiderMenuBar.java包含名為SpiderMenuBar的public類,其主要功能為生成蜘蛛紙牌游戲的菜單欄,實(shí)現(xiàn)菜單欄中各個組件的事件偵聽。主要包括3個模塊:圖形用戶界面的構(gòu)建;組件監(jiān)聽接口的實(shí)現(xiàn):顯示可執(zhí)行操作的線程。PKCard.java包含名為PKCard的public類,其主要功能為:定義紙牌的屬性,包括名稱,位置

38、等相關(guān)信息。并通過相關(guān)方法實(shí)現(xiàn)紙牌的移動等。AboutDialog.java包含名為AboutDialog的public類,其主要功能為生成蜘蛛紙牌游戲的幫助欄。Spider.java包含名為Spider的public類,其主要功能為生成蜘蛛紙牌游戲的框架,實(shí)現(xiàn)游戲中的方法,包括:紙牌的隨機(jī)生成,位置的擺放等。 圖5-1程序的總體設(shè)計(jì)流程圖5.2 模塊一的詳細(xì)介紹SpiderMenuBar.java的功能是生成蜘蛛紙牌游戲的菜單欄。實(shí)現(xiàn)菜單欄中的各個組件的事件。5.2.1 主要的類 JMenuBar類、JMenu類、JMenuItem類、JRadioButton類都是設(shè)計(jì)GUI(圖形用戶界面)

39、的包javax.swing中的類??梢杂胕mport引用這些類。JMenuBar類是JComponent類的子類負(fù)責(zé)創(chuàng)建菜單條的。即JMenuBar類的一個實(shí)例就是一個菜單條。JMenu類是JComponent類的子類負(fù)責(zé)創(chuàng)建菜單組的。即JMenu類的一個實(shí)例化就是一個菜單。 JMenuItem類是JMenu類的父類負(fù)責(zé)創(chuàng)建菜單項(xiàng)。即JMenuItem類的一個實(shí)例化就是一個菜單項(xiàng)。 JRadioButtonMenuItem類負(fù)責(zé)一個單選按鈕菜單項(xiàng)的實(shí)現(xiàn)。JRadioButtonMenuItem 是屬于一組菜單項(xiàng)中的一個菜單項(xiàng),該組中只能選擇一個項(xiàng)。 ButtonGroup 類用于為一組按鈕創(chuàng)建

40、一個多斥作用域。使用相同的 ButtonGroup 對象創(chuàng)建一組按鈕意味著“開啟”其中一個按鈕時,將關(guān)閉組中的其他所有按鈕。 SpiderMenuBar類是此文件的一個主類是JMenuBar的子類。Show類是Thread的子類用于創(chuàng)建線程。5.2.2 主要的變量 jNewGame、jHelp變量分別是JMenu類創(chuàng)建的“游戲”、“幫助”菜單。 jItemAbout、jItemOpen、jItemPlayAgain、jItemExit、jItemValid變量分別是JMenuItem 類創(chuàng)建的“關(guān)于”、“開局”、“重新發(fā)牌”、“退出”、“顯示可行操作”菜單項(xiàng)。 jRMItemEasy、jRMI

41、temNormal、jRMItemHard變量分別是JRadioButtonMenuItem類創(chuàng)建的“簡單:單一花色”、“中級:雙花色”、“高級:四花色”的單選按鈕菜單項(xiàng)。 group變量是ButtonGroup 類創(chuàng)建的一組按鈕選擇對象。spider變量是Spider類創(chuàng)建的對象用于主界面窗口的實(shí)現(xiàn)。將在Spider.java文件中介紹。5.2.3 主要的方法public JMenuBar()創(chuàng)建新的菜單欄。public JMenu(String text)構(gòu)造一個新菜單,用提供的字符串作為其文本。public JMenuItem(String text)創(chuàng)建帶有指定文本的菜單項(xiàng)。publi

42、c JRadioButtonMenuItem(String text)創(chuàng)建一個帶文本的單選按鈕菜單項(xiàng)。public ButtonGroup()創(chuàng)建一個新的單選按鈕對象組。 public void add(MenuItem item)向菜單增加由參數(shù)item指定的菜單項(xiàng)對象。public void add(AbstractButton b)將單選按鈕添菜單項(xiàng)加到組中。public void add(JMenu c)將指定的菜單添加加到菜單欄中。public void addSeparator()將新分隔符追加到菜單的末尾。所需要添加的事件處理的接口方法將在后來的模塊中進(jìn)行介紹。事件源即能夠產(chǎn)生的

43、事件的對象。監(jiān)視器用于對事件源進(jìn)行監(jiān)視以便對發(fā)生的事件做出處理。事件源通過調(diào)用相應(yīng)的方法將某個對象作為自己的監(jiān)視器。這個方法是addActionListen(ActionListener listen)該方法中的參數(shù)是ActionListener類型的接口。因此必須用ActionListener接口的類創(chuàng)建的對象傳遞給該方法的參數(shù),使得該對象成為事件源的的監(jiān)視器。監(jiān)視器負(fù)責(zé)調(diào)用特定的方法處理事件,創(chuàng)建監(jiān)視器的類必須提供處理事件的特定的方法,即實(shí)現(xiàn)接口方法。public void addMenuListener(MenuListener l)添加菜單事件的偵聽器。 void menuSelect

44、ed(MenuEvent e)選擇某個菜單時調(diào)用。 void menuDeselected(MenuEvent e)取消選擇某個菜單時調(diào)用。 void menuCanceled(MenuEvent e)取消菜單時調(diào)用。5.3 模塊二的詳細(xì)介紹PKCard的功能是定義紙牌的屬性,包括名稱,位置等相關(guān)信息。并通過相關(guān)方法實(shí)現(xiàn)了紙牌的移動等。5.3.1 主要的類JDialog類是創(chuàng)建對話框窗口的主要類。可以使用此類創(chuàng)建自定義的對話框,或者調(diào)用 JOptionPane 中的多個類方法來創(chuàng)建各種標(biāo)準(zhǔn)對話框。Jpanel類是一個面板類負(fù)責(zé)創(chuàng)建一個面板容器,再向這個面板添加組件,然后將面板添加到底層容器中。

45、JTabbedPane類負(fù)責(zé)創(chuàng)建一個組件,它允許用戶通過單擊具有給定標(biāo)題和/或圖標(biāo)的選項(xiàng)卡,在一組組件之間進(jìn)行切換。JTextArea類負(fù)責(zé)創(chuàng)建一個顯示純文本的多行區(qū)域。它作為一個輕量級組件Container類負(fù)責(zé)創(chuàng)建一個容器對象,此容器可以包含其它組件。AboutDialog類是JDialog類的子類,負(fù)責(zé)創(chuàng)建一個顯示對話框。5.3.2 主要的變量jMainPane、jPanel1、jPanel2、變量是JPane1創(chuàng)建的面板容器。jt1、jt2是JTextArea類創(chuàng)建的文本區(qū)對象。jTabbedPane是JTabbedPane類創(chuàng)建的選項(xiàng)卡窗格對象。c變量是Container類創(chuàng)建的容器

46、。5.3.3 主要的方法public JTabbedPane()創(chuàng)建一個具有默認(rèn)的 JTabbedPane.TOP 選項(xiàng)卡布局的空 TabbedPane.public JDialog()創(chuàng)建一個沒有標(biāo)題并且沒有指定 Frame 所有者的無模式對話框。一個共享的、隱藏的窗體將被設(shè)置為該對話框的所有者。public JPanel()創(chuàng)建具有雙緩沖和流布局的新面板容器。public JTextArea(String text)構(gòu)造顯示指定文本為text的新的文本區(qū)。public void setTittle(String s)設(shè)置一個標(biāo)題為s的對話框。public void setSize(int

47、width,int heigth)創(chuàng)建寬為width,高位heigth大小的對話框。public void setResizable(boolean b)設(shè)置對話框是否可調(diào)整大小。b為true時,對話框可調(diào)整大小。public void setDefaultCloseOperation(int operation)該方法用來設(shè)置單機(jī)窗體右上角的關(guān)閉圖標(biāo)后,程序會做出怎樣的處理。operation取DISPOSE_ON_CLOSE時/隱藏當(dāng)前窗口,并釋放窗體所占有的其他資源。public void setVisible(boolean b)設(shè)置框口是可見還是不可見。b取true是為可見。publ

48、ic Container getContentPane()方法可得到窗口的內(nèi)容面板容器。public void JTextArea.setSize(int width,int heigth)設(shè)置文本區(qū)的大小。public void JTextArea.setEditable(boolean b)設(shè)置文本區(qū)是否可以編輯。public void JTextArea.setLineWrap(boolean b)設(shè)置文本區(qū)中輸入的文本是否可以實(shí)現(xiàn)在右邊界自動換行。public void JTextArea.setFont(Font f)設(shè)置文本區(qū)內(nèi)的字體。public void JTextArea.s

49、etForeground(Color c)設(shè)置文本區(qū)組件的前景色。public void addTab(String title,Icon icon,Component component,String tip)添加由 title 和/或 icon 表示的 component 和 tip,其中任意一個都可以為 nul參數(shù):title - 此選項(xiàng)卡中要顯示的標(biāo)題,icon - 此選項(xiàng)卡中要顯示的圖標(biāo),component - 單擊此選項(xiàng)卡時要顯示的組件,tip - 此選項(xiàng)卡要顯示的工具提示。public void pack()調(diào)整此窗口的大小,以適合其子組件的首選大小和布局。5.4 模塊三的詳細(xì)介

50、紹PKCard的作用是定義紙牌的屬性,包括名稱、位置等相關(guān)信息。并通過相關(guān)方法實(shí)現(xiàn)紙牌的移動。5.4.1 主要類介紹JLable類負(fù)責(zé)創(chuàng)建標(biāo)簽對象。標(biāo)簽用于短文本字符串或圖像或二者的顯示區(qū)。Thread類負(fù)責(zé)創(chuàng)建線程對象。MouseListener接口、MouseMotionListener接口負(fù)責(zé)處理事件源所觸發(fā)的鼠標(biāo)事件,包括處理鼠標(biāo)按下、釋放、進(jìn)入、退出、單擊、連擊、拖動、移動所觸發(fā)鼠標(biāo)事件。Point類負(fù)責(zé)創(chuàng)建表示 (x,y) 坐標(biāo)空間中的位置的點(diǎn)對象,以整數(shù)精度指定。MouseEvent類負(fù)責(zé)創(chuàng)建鼠標(biāo)所發(fā)生的事件對象。Flash類負(fù)責(zé)創(chuàng)建線程對象,不斷的獲取下一張紙牌。PKCard類

51、是文件的主類,實(shí)現(xiàn)MouseListener接口的JLable的子類。負(fù)責(zé)創(chuàng)建紙牌對象。5.4.2 主要變量Point point變量表示紙牌的位置對象。Point initPoint表示紙牌的初始化位置對象。int value變量表示紙牌的內(nèi)容值。int type變量表示紙牌的類型。String name變量表示紙牌的名稱。Container pane變量表示標(biāo)簽內(nèi)主容器。boolean canMove 變量表示紙牌是否可以移動,值為true時,可以移動。boolean isFront變量表示紙牌是否正面顯示,值為true時,則為正面顯示。PKCard previousCard變量表示上面一

52、張紙牌5.4.3 主要方法public void flashCard(PKCard card)方法啟動Flash線程不停的獲取下一張紙牌直至完成。public void run()方法為紙牌的正面設(shè)置白色圖片。card.updateUI()方法將UI屬性重置為當(dāng)前外觀的值。public void mousePressed(MouseEvent mp)方法按下鼠標(biāo)時事件的處理方法。public void mouseReleased(MouseEvent mr)方法釋放鼠標(biāo)時事件處理的方法。public void setNextCardLocation(Point point)方法放置鼠標(biāo)時事件處

53、理方法。public int whichColumnAvailable(Point point)方法為判斷可用列。public void mouseDragged(MouseEvent argO)方法鼠標(biāo)拖動紙牌時事件處理方法。public void moving(int x,int y)方法將紙牌移動(x,y)個位置。pane.setComponentZOrder(this,1)方法將主件移動到容器中指定的順序索引。public PKCard(String name,Spider spider)方法紙牌的構(gòu)造函數(shù)。public void turnFront()方法令紙牌顯示正面。public

54、 void turnRear()方法令紙牌顯示背面。public void moveto(Point point()方法將紙牌移動到點(diǎn)pointpublic void setCanMove(boolean can)方法判斷紙牌是否能夠移動。public boolean isCardFront()方法判斷紙牌是否正面顯示。public boolean isCardCanMove()方法判斷紙是否能夠移動。public int getCardValue()方法獲得紙牌的內(nèi)容值。public int getCardType()方法獲得紙牌的類型。5.5 模塊四的詳細(xì)介紹Spider.java文件是蜘

55、蛛紙牌游戲的主類文件,其主要功能是生成蜘蛛紙牌游戲的框架,實(shí)現(xiàn)游戲中的方法,包括紙牌的隨機(jī)生成、位置的擺放等。5.5.1 主要的類 JFrame類及其子類負(fù)責(zé)創(chuàng)建的對象稱為窗體。JLable類負(fù)責(zé)創(chuàng)建標(biāo)簽對象。標(biāo)簽用于短文本字符串或圖像或二者的顯示區(qū)。Container類負(fù)責(zé)創(chuàng)建一個容器對象,此容器可以包含其它組件。PKCard類負(fù)責(zé)創(chuàng)建紙牌對象。Hashtable類實(shí)現(xiàn)一個哈希表,該哈希表將鍵映射到相應(yīng)的值。5.5.2 主要的變量public static final int EASY=1;代表“簡單”等級。public static finalint NATURAL=2 代表“普通”等級。

56、public static finalint HARD=3 代表“難”等級。private int grade=Spider.EASY設(shè)定初始等級為簡單等級;private Container pane 變量為Container類創(chuàng)建的面板容器。private PKCard card變量為PKCard類創(chuàng)建的紙牌數(shù)組。private JLable clickLable1變量為JLable類創(chuàng)建的右下角發(fā)牌區(qū)的鼠標(biāo)點(diǎn)擊響應(yīng)區(qū)域。private JLable groudLable變量為JLable類創(chuàng)建的背景框數(shù)組。Hshtable table變量為Hashtable類創(chuàng)建的一個哈希表對象,用于存

57、儲鍵值數(shù)據(jù)對。private int c變量為紙牌的數(shù)量。private int n變量為紙牌的等級。private int a變量為紙牌所在的列號。private int finish變量為紙牌從小到大排列成功的次數(shù)。5.5.3 主要的方法public void setTittle(String s)設(shè)置一個標(biāo)題為s的窗體。public void setVisible(boolean b)設(shè)置框體是可見還是不可見。b取true是為可見。public void setSize(int width,int heigth)創(chuàng)建寬為width,高位heigth大小的窗體。public void se

58、tDefaultCloseOperation(int operation)該方法用來設(shè)置單機(jī)窗體右上角的關(guān)閉圖標(biāo)后,程序會做出怎樣的處理。operation取EXIT_ON_CLOSE時結(jié)束窗體所在的應(yīng)用程序。public void setMenuBar(MenuBar mb)將此窗體的菜單欄設(shè)置為指定的菜單欄。public void pane.setBackground(Color c)設(shè)置面板的背景顏色。public void pane.setLayout(布局對象)設(shè)置面板的布局。public Container getContentPane()方法可得到窗口的內(nèi)容面板容器。public

59、 void setBounds(int a,int b,int weidth, int heigth)設(shè)置出現(xiàn)在屏幕中的組件距離屏幕的左面a個像素,距屏幕上面b個像素,組件寬為weidth,高為heigth。public void newGame()方法開始新游戲。public int getC()方法返回紙牌的數(shù)量。public void setGrade(int grade)方法設(shè)置紙牌游戲的等級。public void initCards()方法進(jìn)行初始化紙牌public void randomCards()方法令紙牌隨機(jī)分配。public void setNA()方法設(shè)置還原紙牌游戲。

60、public void setCardsLocation()方法設(shè)置待展開紙牌級表面初始化紙牌的位置。public void showEnableOperator()方法進(jìn)行顯示是否有可以移動的紙牌。public void deal()方法開始運(yùn)行游戲。public PKCard getPreviousCard(PKCard card)方法獲取當(dāng)前紙牌上面的那一張紙牌。public PKCard getNextCard(PKCard card)方法獲取當(dāng)前紙牌的下面的那一張紙牌。public Point getLastCardLocation(int n)方法獲取第n列紙牌最后一張紙牌的位置。

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論