![Java實(shí)現(xiàn)蜘蛛紙牌設(shè)計(jì)方案_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-4/26/7228c3e1-8974-4620-a3fe-7d4938d64cea/7228c3e1-8974-4620-a3fe-7d4938d64cea1.gif)
![Java實(shí)現(xiàn)蜘蛛紙牌設(shè)計(jì)方案_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-4/26/7228c3e1-8974-4620-a3fe-7d4938d64cea/7228c3e1-8974-4620-a3fe-7d4938d64cea2.gif)
![Java實(shí)現(xiàn)蜘蛛紙牌設(shè)計(jì)方案_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-4/26/7228c3e1-8974-4620-a3fe-7d4938d64cea/7228c3e1-8974-4620-a3fe-7d4938d64cea3.gif)
![Java實(shí)現(xiàn)蜘蛛紙牌設(shè)計(jì)方案_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-4/26/7228c3e1-8974-4620-a3fe-7d4938d64cea/7228c3e1-8974-4620-a3fe-7d4938d64cea4.gif)
![Java實(shí)現(xiàn)蜘蛛紙牌設(shè)計(jì)方案_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-4/26/7228c3e1-8974-4620-a3fe-7d4938d64cea/7228c3e1-8974-4620-a3fe-7d4938d64cea5.gif)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 Java實(shí)現(xiàn)蜘蛛紙牌設(shè)計(jì)方案 Java實(shí)現(xiàn)蜘蛛紙牌設(shè)計(jì)方案摘 要蜘蛛紙牌的每一代的window的系統(tǒng)都有,同時(shí)也時(shí)一款很受用戶(hù)喜歡的休閑類(lèi)游戲,很多人都喜歡玩蜘蛛紙牌。本人做的蜘蛛紙牌游戲開(kāi)發(fā)理念是基于window 7操作系統(tǒng)中的蜘蛛紙牌游戲。利用java語(yǔ)言實(shí)現(xiàn)蜘蛛紙牌游戲的主要功能:紙牌的移動(dòng),放置,回收,重發(fā)。利用javax.swing包的類(lèi)實(shí)現(xiàn)紙牌游戲的用戶(hù)界面,通為各個(gè)菜單組件添加監(jiān)視器來(lái)實(shí)現(xiàn)鼠標(biāo)單擊事件所觸發(fā)的接口方法,使得用戶(hù)可以單擊菜單項(xiàng)來(lái)實(shí)現(xiàn)具體的功能。通過(guò)這次游戲程序的設(shè)計(jì),讓我對(duì)Java有了更深的了解和練習(xí),這對(duì)于我以后找到工作打下了的堅(jiān)實(shí)的基礎(chǔ)。關(guān)鍵字:java語(yǔ)言;
2、游戲的背景;功能實(shí)現(xiàn)Java Spider SolitaireAbstractSystem of Spider Solitaire each generation of both window, but also a very popular when users like leisure game, a lot of people like to playspider solitaire. I do Spider Solitaire game development concept is the window 7 operating system of Spider Solitaire ga
3、me based on. To achieve the mainfunction of Spider Solitaire game using java language: Solitaire mobile,placement, recovery, repeat. The card game user interface using the javax.swing package class, interface method for each menu components to add monitor to achieve the mouse click event triggered,
4、so that the user canclick on a menu item to achieve specific functions. Through the design of thegame program, let me have a deeper understanding and Practice on Java, this right after I find work to lay a solid foundation.Keywords: Java language; game background; function realizatiii目錄摘 要iAbstracti
5、i1 緒論11.1 游戲開(kāi)發(fā)的背景知識(shí)11.2 需要做的準(zhǔn)備工作12 開(kāi)發(fā)工具介紹22.1 java語(yǔ)言概述22.2 java語(yǔ)言的特點(diǎn)22.3 Eclipse簡(jiǎn)介33 可行性分析43.1 概述43.2 本系統(tǒng)的可行性分析53.3 系統(tǒng)分析53.3.1 限定問(wèn)題53.3.2 確定目標(biāo)63.3.3 調(diào)查研究,收集數(shù)據(jù)63.3.4 提出方案和評(píng)價(jià)標(biāo)準(zhǔn)63.3.5 方案評(píng)估63.3.6 提交可行方案64 總體設(shè)計(jì)74.1 系統(tǒng)設(shè)計(jì)74.2 主要模型84.3 系統(tǒng)功能結(jié)構(gòu)圖85 詳細(xì)設(shè)計(jì)105.1 代碼功能功能模塊設(shè)計(jì)105.2 模塊一的詳細(xì)介紹105.2.1 主要的類(lèi)105.2.2 主要的變量115
6、.2.3 主要的方法115.3 模塊二的詳細(xì)介紹125.3.1 主要的類(lèi)125.3.2 主要的變量125.3.3 主要的方法125.4 模塊三的詳細(xì)介紹135.4.1 主要類(lèi)介紹135.4.2 主要變量135.4.3 主要方法135.5 模塊四的詳細(xì)介紹145.5.1 主要的類(lèi)145.5.2 主要的變量145.5.3 主要的方法146 具體功能的設(shè)計(jì)166.1 需要實(shí)現(xiàn)的主要功能166.2 主要功能的代碼實(shí)現(xiàn)176.2.1 主界面的實(shí)現(xiàn)176.2.2 游戲按鈕的選項(xiàng)及其下拉列表186.2.3 紙牌移動(dòng)操作196.2.4 回收紙牌操作206.2.5 幫助菜單功能226.2.6 退出模塊設(shè)計(jì)237
7、 程序的運(yùn)行及發(fā)布247.1 運(yùn)行程序247.2 發(fā)布程序248 軟件測(cè)試258.1 簡(jiǎn)介258.2 軟件測(cè)試的原則258.3 軟件測(cè)試的目標(biāo)268.4 軟件測(cè)試內(nèi)容268.5 測(cè)試的方法268.5.1 等價(jià)類(lèi)268.5.2 邊界值27結(jié)論33參考文獻(xiàn)34外文原獻(xiàn)36中文翻譯481 緒論1.1 游戲開(kāi)發(fā)的背景知識(shí)蜘蛛紙牌時(shí)一款很受大家喜歡的休閑類(lèi)游戲,隨著科學(xué)技術(shù)的不斷發(fā)展的蜘蛛紙牌的的功能也越來(lái)越強(qiáng)大,界面變的越來(lái)越美觀,玩蜘蛛紙牌的人也很多。蜘蛛紙牌在window 2000 的時(shí)候就已經(jīng)存在于系統(tǒng)中,一直是大家在休閑的最佳游戲。通過(guò)這次蜘蛛紙牌游戲的設(shè)計(jì),實(shí)現(xiàn)蜘蛛紙牌的主要功能,不論是對(duì)游
8、戲的了解,還是對(duì)自己設(shè)計(jì)程序的能力都是很好的提高。游戲的目標(biāo)是以最少的移動(dòng)次數(shù)將牌面中的十疊牌以及待發(fā)的五組,共計(jì)八副牌整理移除。當(dāng)所有牌被移除整理到界面的左下方,游戲獲勝。1.2 需要做的準(zhǔn)備工作需要做的工作有學(xué)習(xí)掌握開(kāi)發(fā)程序的方法,安裝所需的編程的平臺(tái)eclipse,了解開(kāi)發(fā)工具,進(jìn)行進(jìn)程分析,根據(jù)得需求規(guī)格說(shuō)明書(shū)設(shè)計(jì)具體的程序流程圖,編寫(xiě)程序,修改程序,運(yùn)行程序,系統(tǒng)調(diào)試程序、測(cè)試程序,發(fā)布程序。2 開(kāi)發(fā)工具介紹2.1 java語(yǔ)言概述java是一種可以撰寫(xiě)跨平臺(tái)應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,是由Sun Microsystems公司于1995年5月推出的Java程序設(shè)計(jì)語(yǔ)言和Java
9、平臺(tái)(即JavaEE, JavaME, JavaSE)的總稱(chēng)。Java自面世后就非常流行,發(fā)展迅速,對(duì)C+語(yǔ)言形成了有力沖擊。Java 技術(shù)具有卓越的通用性、高效性、平臺(tái)移植性和安全性,廣泛應(yīng)用于個(gè)人PC、數(shù)據(jù)中心、游戲控制臺(tái)、科學(xué)超級(jí)計(jì)算機(jī)、移動(dòng)電話(huà)和互聯(lián)網(wǎng),同時(shí)擁有全球最大的開(kāi)發(fā)者專(zhuān)業(yè)社群。在全球云計(jì)算和移動(dòng)互聯(lián)網(wǎng)的產(chǎn)業(yè)環(huán)境下,Java更具備了顯著優(yōu)勢(shì)和廣闊前景。現(xiàn)在常用的瀏覽器比如說(shuō)360瀏覽器,IE瀏覽器中均配備有java applet。 Java不同于一般的編譯執(zhí)行計(jì)算機(jī)語(yǔ)言和解釋執(zhí)行計(jì)算機(jī)語(yǔ)言。它首先將源代碼編譯成二進(jìn)制字節(jié)碼(bytecode),然后依賴(lài)各種不同平臺(tái)上的虛擬機(jī)來(lái)解
10、釋執(zhí)行字節(jié)碼。從而實(shí)現(xiàn)了“一次編譯、到處執(zhí)行”的跨平臺(tái)特性。不過(guò),每次的執(zhí)行編譯后的字節(jié)碼需要消耗一定的時(shí)間,這同時(shí)也在一定程度上降低了 Java 程序的性能。2.2 java語(yǔ)言的特點(diǎn)java語(yǔ)言是一種簡(jiǎn)單的、面向?qū)ο蟮摹⒎植际降?、健壯的、安全的、與平臺(tái)無(wú)關(guān)的、多線(xiàn)程、高性能的、動(dòng)態(tài)程序設(shè)計(jì)語(yǔ)言。1.java語(yǔ)言簡(jiǎn)單易學(xué)的: java語(yǔ)言的語(yǔ)法與C語(yǔ)言和C+語(yǔ)言很接近,使得多數(shù)程序員很容易學(xué)習(xí)和使用java。另一方面,java丟棄了C+中很少使用的,很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動(dòng)的強(qiáng)制類(lèi)型轉(zhuǎn)換。特別地。java語(yǔ)言不使用指針,并提供了自動(dòng)的廢料收集,使得程序員不必
11、為內(nèi)存管理而擔(dān)憂(yōu)。2.平臺(tái)無(wú)關(guān)性:平臺(tái)無(wú)關(guān)性是指Java能運(yùn)行于不同的平臺(tái)。Java引進(jìn)虛擬機(jī) 原理,并運(yùn)行于虛擬機(jī),實(shí)現(xiàn)不同平臺(tái)的Java接口之間。使用Java編寫(xiě)的程序能在世界范圍內(nèi)共享。Java的數(shù)據(jù)類(lèi)型與 機(jī)器無(wú)關(guān),Java虛擬機(jī)(Java Virtual Machine)是建立在硬件和操作系統(tǒng)之上,實(shí)現(xiàn)Java二進(jìn)制代碼的解釋執(zhí)行功能, 提供于不同平臺(tái)的接口的。 3.安全性:Java通常被用在網(wǎng)絡(luò)環(huán)境中,為此,Java提供了一個(gè)安全機(jī)制以防惡意代碼的攻擊。除了Java語(yǔ)言具有的許多安全特性以外,Java對(duì)通過(guò)網(wǎng)絡(luò)下載的類(lèi)具有一個(gè)安全防范機(jī)制(類(lèi)classloader),如分配不同的名
12、字空間以防替代本地的同名類(lèi)、字節(jié)代碼檢查,并提供安全管理機(jī)制(類(lèi)SecurityManager)讓Java應(yīng)用設(shè)置安全哨兵。 4.面向?qū)ο?Java語(yǔ)言提供類(lèi)、接口和繼承等原語(yǔ),為了簡(jiǎn)單起見(jiàn),只支持類(lèi)之間的單繼承,但支持接口之間的多繼承,并支持類(lèi)與接口之間的實(shí)現(xiàn)機(jī)制。Java語(yǔ)言全面支持動(dòng)態(tài)綁定,而C+ 語(yǔ)言只對(duì)虛函數(shù)使用動(dòng)態(tài)綁定。總之,Java語(yǔ)言是一個(gè)純的面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言。5.分布式:Java語(yǔ)言支持Internet應(yīng)用的開(kāi)發(fā),在基本的Java應(yīng)用編程接口中有一個(gè)網(wǎng)絡(luò)應(yīng)用編程接口,它提供了用于網(wǎng)絡(luò)應(yīng)用編程的類(lèi)庫(kù),包括URL、URLConnection、Socket、 ServerSoc
13、ket等。Java的RMI(遠(yuǎn)程方法激活)機(jī)制也是開(kāi)發(fā)分布式應(yīng)用的重要手段。 6.健壯性:Java的強(qiáng)類(lèi)型機(jī)制、異常處理、廢料的自動(dòng)收集等是Java程序健壯性的重要保證。對(duì)指針的丟棄是Java的明智選擇。Java的安全檢查機(jī)制使得Java更具健壯性。 7.解釋型:Java程序在Java平臺(tái)上被編譯為字節(jié)碼格式, 然后可以在實(shí)現(xiàn)這個(gè)Java平臺(tái)的任何系統(tǒng)中運(yùn)行。在運(yùn)行時(shí),Java平臺(tái)中的Java解釋器對(duì)這些字節(jié)碼進(jìn)行解釋執(zhí)行,執(zhí)行過(guò)程中需要的類(lèi)在聯(lián)接階段被載入到運(yùn)行環(huán)境中。 8.動(dòng)態(tài):java程序的基本組成單元就是類(lèi),有些類(lèi)是自己編寫(xiě)的,有些是從類(lèi)庫(kù)中引入的,而類(lèi)又是運(yùn)行時(shí)動(dòng)態(tài)裝載的,這就使得J
14、ava可以在分部環(huán)境中動(dòng)態(tài)的維護(hù)程序及分類(lèi),而不像C+那樣,沒(méi)檔期類(lèi)庫(kù)升級(jí)以后,如果想讓程序具有新類(lèi)庫(kù)提供的功能,就需要修改程序,重新編譯。9.多線(xiàn)程:在Java語(yǔ)言中,線(xiàn)程是一種特殊的對(duì)象,它必須由Thread類(lèi)或其子類(lèi)來(lái)創(chuàng)建。通常有兩種方法來(lái)創(chuàng)建線(xiàn)程:其一,使用型構(gòu)為T(mén)hread 的構(gòu)造子將一個(gè)實(shí)現(xiàn)了Runnable接口的對(duì)象包裝成一個(gè)線(xiàn)程,其二,從Thread類(lèi)派生出子類(lèi)并重寫(xiě)run方法,使用該子類(lèi)創(chuàng)建的對(duì)象即為線(xiàn)程。值得注意的是Thread類(lèi)已經(jīng)實(shí)現(xiàn)了Runnable接口,因此,任何一個(gè)線(xiàn)程均有它的run方法,而run方法中包含了線(xiàn)程所要運(yùn)行的代碼。線(xiàn)程的活動(dòng)由一組方法來(lái)控制。 Jav
15、a語(yǔ)言支持多個(gè)線(xiàn)程的同時(shí)執(zhí)行,并提供多線(xiàn)程之間的同步機(jī)制。 10.可以移植的:這種可移植性來(lái)源于體系結(jié)構(gòu)中立性,另外,java還嚴(yán)格規(guī)定了各個(gè)基本數(shù)據(jù)類(lèi)型的長(zhǎng)度。java系統(tǒng)本身也具有很強(qiáng)的可移植性,java編譯器是用java實(shí)現(xiàn)的,java運(yùn)行環(huán)境是用ANSIC實(shí)現(xiàn)的。 11.Java語(yǔ)言是體系結(jié)構(gòu)中立的:Java程序(后綴為java的文件)在Java平臺(tái)上被編譯為體系結(jié)構(gòu)中立的字節(jié)碼格式(后綴為class的文件), 然后可以在實(shí)現(xiàn)這個(gè)Java平臺(tái)的任何系統(tǒng)中運(yùn)行。這種途徑適合于異構(gòu)的網(wǎng)絡(luò)環(huán)境和軟件的分發(fā)。2.3 Eclipse簡(jiǎn)介Eclipse 是一個(gè)開(kāi)放源代碼的、基于 Java 的可擴(kuò)展
16、開(kāi)發(fā)平臺(tái)。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過(guò)插件組件構(gòu)建開(kāi)發(fā)環(huán)境。幸運(yùn)的是,Eclipse 附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括 Java 開(kāi)發(fā)工具(Java Development Tools,JDT)。 雖然大多數(shù)用戶(hù)很樂(lè)于將 Eclipse 當(dāng)作 Java 集成開(kāi)發(fā)環(huán)境(IDE)來(lái)使用,但 Eclipse 的目標(biāo)卻不僅限于此。Eclipse 還包括插件開(kāi)發(fā)環(huán)境(Plug-in Development Environment,PDE),這個(gè)組件主要針對(duì)希望擴(kuò)展 Eclipse 的軟件開(kāi)發(fā)人員,因?yàn)樗试S他們構(gòu)建與 Eclipse 環(huán)境無(wú)縫集成的工具。由于 Eclipse 中的每樣?xùn)|西
17、都是插件,對(duì)于給 Eclipse 提供插件,以及給用戶(hù)提供一致和統(tǒng)一的集成開(kāi)發(fā)環(huán)境而言,所有工具開(kāi)發(fā)人員都具有同等的發(fā)揮場(chǎng)所。這種平等和一致性并不僅限于 Java 開(kāi)發(fā)工具。盡管 Eclipse 是使用 Java 語(yǔ)言開(kāi)發(fā)的,但它的用途并不限于 Java 語(yǔ)言;例如,支持諸如 C/C+ 和 COBOL 等編程語(yǔ)言的插件已經(jīng)可用,或預(yù)計(jì)將會(huì)推出。Eclipse 框架還可用來(lái)作為與軟件開(kāi)發(fā)無(wú)關(guān)的其他應(yīng)用程序類(lèi)型的基礎(chǔ),比如內(nèi)容管理系統(tǒng)?;?Eclipse 的應(yīng)用程序的一個(gè)突出例子是 IBM® Rational® Software Architect,它構(gòu)成了 IB
18、M Java 開(kāi)發(fā)工具系列的基礎(chǔ)。Eclipse IDE for Java EE Developers。3 可行性分析可行性分析是通過(guò)對(duì)項(xiàng)目的主要內(nèi)容和配套條件,如市場(chǎng)需求、資源供應(yīng)、建設(shè)規(guī)模、工藝路線(xiàn)、設(shè)備選型、環(huán)境影響、資金籌措、盈利能力等,從技術(shù)、經(jīng)濟(jì)、工程等方面進(jìn)行調(diào)查研究和分析比較,并對(duì)項(xiàng)目建成以后可能取得的財(cái)務(wù)、經(jīng)濟(jì)效益及社會(huì)環(huán)境影響進(jìn)行預(yù)測(cè),從而提出該項(xiàng)目是否值得投資和如何進(jìn)行建設(shè)的咨詢(xún)意見(jiàn),為項(xiàng)目決策提供依據(jù)的一種綜合性的系統(tǒng)分析方法??尚行苑治鰬?yīng)具有預(yù)見(jiàn)性、公正性、可靠性、科學(xué)性的特點(diǎn)。3.1 概述 可行性研究主要內(nèi)容是要求以全面、系統(tǒng)的分析為主要方法,經(jīng)濟(jì)效益為核心,圍繞影
19、響項(xiàng)目的各種因素,運(yùn)用大量的數(shù)據(jù)資料論證擬建項(xiàng)目是否可行。對(duì)整個(gè)可行性研究提出綜合分析評(píng)價(jià),指出優(yōu)缺點(diǎn)和建議。為了結(jié)論的需要,往往還需要加上一些附件,如試驗(yàn)數(shù)據(jù)、論證材料、計(jì)算圖表、附圖等,以增強(qiáng)可行性報(bào)告的說(shuō)服力?;ろ?xiàng)目可行性研究軟件(RSGL-KX2.0),以化工行業(yè)可行性研究報(bào)告、立項(xiàng)申請(qǐng)書(shū)規(guī)范為基礎(chǔ),通過(guò)文本、數(shù)據(jù)靈活調(diào)用,生成符合國(guó)家規(guī)定的可行性研究報(bào)告、項(xiàng)目立項(xiàng)申請(qǐng)書(shū)的格式。 本軟件的意義在于提高化工應(yīng)用課題立項(xiàng)及項(xiàng)目生產(chǎn)轉(zhuǎn)化時(shí)的可行性研究的準(zhǔn)確預(yù)測(cè),旨在克服化工科技人員在技術(shù)指標(biāo)、生產(chǎn)銷(xiāo)售、環(huán)境評(píng)價(jià)、成本核算、利潤(rùn)分配、風(fēng)險(xiǎn)評(píng)估等方面的知識(shí)欠缺,降低化工項(xiàng)目的投資風(fēng)險(xiǎn)。該軟件的
20、內(nèi)容翔實(shí),使用簡(jiǎn)便,只需要輸入基礎(chǔ)技術(shù)數(shù)據(jù)和基礎(chǔ)經(jīng)濟(jì)數(shù)據(jù)就可得到規(guī)范的完整可行性研究報(bào)告和項(xiàng)目立項(xiàng)申請(qǐng)書(shū)文檔。 我國(guó)可行性研究存在的主要問(wèn)題,一是工程技術(shù)方案的研究論證深度不夠。按照國(guó)外的通常做法,可行性研究階段的研究深度應(yīng)能達(dá)到定方案的程度,因此要求在工程技術(shù)方案論證,應(yīng)達(dá)到Basic Design或Concept Design的程度,基本相當(dāng)于我國(guó)的初步設(shè)計(jì)應(yīng)達(dá)到的水平,應(yīng)提出明確的設(shè)備清單;二是財(cái)務(wù)評(píng)價(jià)就項(xiàng)目論項(xiàng)目,這與國(guó)外利用企業(yè)理財(cái)?shù)睦碚摵头椒ㄟM(jìn)行資本預(yù)算管理,對(duì)投資項(xiàng)目進(jìn)行投資決策和融資決策的通行做法存在重大差異,并且在經(jīng)濟(jì)評(píng)價(jià)方面不恰當(dāng)?shù)厥褂昧?quot;國(guó)民經(jīng)濟(jì)評(píng)價(jià)"
21、的概念,由此引起一系列的認(rèn)識(shí)誤區(qū);三是在市場(chǎng)分析、組織機(jī)構(gòu)分析等方面與國(guó)外差別較大,研究深度嚴(yán)重不足;四是不重視多方案的比選及項(xiàng)目風(fēng)險(xiǎn)分析,或者分析的內(nèi)容、深度嚴(yán)重不足,缺乏項(xiàng)目周期各階段風(fēng)險(xiǎn)管理的統(tǒng)一籌劃及策略論證。 可行性研究的依據(jù): 一個(gè)擬建項(xiàng)目的可行性研究,必須在國(guó)家有關(guān)的規(guī)劃、政策、法規(guī)的指導(dǎo)下完成,同時(shí),還必須要有相應(yīng)的各種技術(shù)資料。進(jìn)行可行性研究工作的主要依據(jù)主要包括: 國(guó)家經(jīng)濟(jì)和社會(huì)發(fā)展的長(zhǎng)期規(guī)劃,部門(mén)與地區(qū)規(guī)劃,經(jīng)濟(jì)建設(shè)的指導(dǎo)方針、任務(wù)、產(chǎn)業(yè)政策、投資政策和技術(shù)經(jīng)濟(jì)政策以及國(guó)家和地方法規(guī)等; 經(jīng)過(guò)批準(zhǔn)的項(xiàng)目建議書(shū)和在項(xiàng)目建議書(shū)批準(zhǔn)后簽訂的意向性協(xié)議等; 由國(guó)家批準(zhǔn)的資源報(bào)告,
22、國(guó)土開(kāi)發(fā)整治規(guī)劃、區(qū)域規(guī)劃和工業(yè)基地規(guī)劃。對(duì)于交通運(yùn)輸項(xiàng)目建設(shè)要有有關(guān)的江河流域規(guī)劃與路網(wǎng)規(guī)劃等; 國(guó)家進(jìn)出口貿(mào)易政策和關(guān)稅政策; 當(dāng)?shù)氐臄M建廠址的自然、經(jīng)濟(jì)、社會(huì)等基礎(chǔ)資料; 有關(guān)國(guó)家、地區(qū)和行業(yè)的工程技術(shù)、經(jīng)濟(jì)方面的法令、法規(guī)、標(biāo)準(zhǔn)定額資料等; 由國(guó)家頒布的建設(shè)項(xiàng)目可行性研究及經(jīng)濟(jì)評(píng)價(jià)的有關(guān)規(guī)定; 包含各種市場(chǎng)信息的市場(chǎng)調(diào)研報(bào)告。 可行性研究的一般要求: 可行性研究工作對(duì)于整個(gè)項(xiàng)目建設(shè)過(guò)程乃至整個(gè)國(guó)民經(jīng)濟(jì)都有非常重要的意義,為了保證可行性研究工作的科學(xué)性、客觀性和公正性,有效地防止錯(cuò)誤和遺漏,在可行性研究中, (1)首先必須站在客觀公正的立場(chǎng)進(jìn)行調(diào)查研究,做好基礎(chǔ)資料的收集工作。對(duì)于收集的
23、基礎(chǔ)資料,要按照客觀實(shí)際情況進(jìn)行論證評(píng)價(jià),如實(shí)地反映客觀經(jīng)濟(jì)規(guī)律,從客觀數(shù)據(jù)出發(fā),通過(guò)科學(xué)分析,得出項(xiàng)目是否可行的結(jié)論。 (2)可行性研究報(bào)告的內(nèi)容深度必須達(dá)到國(guó)家規(guī)定的標(biāo)準(zhǔn),基本內(nèi)容要完整,應(yīng)盡可能多地占有數(shù)據(jù)資料,避免粗制濫造,搞形式主義。 (3)為保證可行性研究的工作質(zhì)量,應(yīng)保證咨詢(xún)?cè)O(shè)計(jì)單位足夠的工作周期,防止因各種原因的不負(fù)責(zé)任草率行事。具體工作周期由委托單位與咨詢(xún)?cè)O(shè)計(jì)單位在簽訂合同時(shí)協(xié)商確定。3.2 本系統(tǒng)的可行性分析 (1). 投資必要性 主要根據(jù)市場(chǎng)調(diào)查及預(yù)測(cè)的結(jié)果,以及有關(guān)的產(chǎn)業(yè)政策等因素,論證項(xiàng)目投資建設(shè)的必要性; (2). 技術(shù)的可行性 主要從事項(xiàng)目實(shí)施的技術(shù)角度,合理設(shè)計(jì)
24、技術(shù)方案,并進(jìn)行比選和評(píng)價(jià); (3). 財(cái)務(wù)的可行性 主要從項(xiàng)目及投資者的角度,設(shè)計(jì)合理財(cái)務(wù)方案,從企業(yè)理財(cái)?shù)慕嵌冗M(jìn)行資本預(yù)算,評(píng)價(jià)項(xiàng)目的財(cái)務(wù)盈利能力,進(jìn)行投資決策,并從融資主體(企業(yè))的角度評(píng)價(jià)股東投資收益、現(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)目的價(jià)值,評(píng)價(jià)項(xiàng)目在實(shí)現(xiàn)區(qū)域經(jīng)濟(jì)發(fā)展目標(biāo)、有效配置經(jīng)濟(jì)資源、增加供應(yīng)、創(chuàng)造就業(yè)、改善環(huán)境、提高人民生活等方面的效益。 (6). 社會(huì)可行性 分析項(xiàng)目對(duì)社會(huì)的影
25、響,包括政治體制、方針政策、經(jīng)濟(jì)結(jié)構(gòu)、法律道德、宗教民族、婦女兒童及社會(huì)穩(wěn)定性等; (7). 風(fēng)險(xiǎn)因素控制的可行性對(duì)項(xiàng)目的市場(chǎ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ì)及社會(huì)風(fēng)險(xiǎn)等因素進(jìn)行評(píng)價(jià),制定規(guī)避風(fēng)險(xiǎn)的對(duì)策,為項(xiàng)目全過(guò)程的風(fēng)險(xiǎn)管理提供依據(jù)。3.3 系統(tǒng)分析3.3.1 限定問(wèn)題所謂問(wèn)題,是現(xiàn)實(shí)情況與計(jì)劃目標(biāo)或理想狀態(tài)之間的差距。系統(tǒng)分析的核心內(nèi)容有兩個(gè):其一是進(jìn)行“診斷”,即找出問(wèn)題及其原因;其二是“開(kāi)處方”,即提出解決問(wèn)題的最可行方案。所謂限定問(wèn)題,就是要明確問(wèn)題的本質(zhì)或特性、問(wèn)題存在范圍和影響程度、問(wèn)題產(chǎn)生的時(shí)間和環(huán)境、問(wèn)題的癥狀和原因等。限定問(wèn)題是系統(tǒng)分析中關(guān)鍵的一步,因?yàn)槿?/p>
26、果“診斷”出錯(cuò),以后開(kāi)的“處方”就不可能對(duì)癥下藥。在限定問(wèn)題時(shí),要注意區(qū)別癥狀和問(wèn)題,探討問(wèn)題原因不能先入為主,同時(shí)要判別哪些是局部問(wèn)題,哪些是整體問(wèn)題,問(wèn)題的最后確定應(yīng)該在調(diào)查研究之后。通過(guò)親身體驗(yàn)總結(jié)各銀行ATM提款機(jī)界面流程,得到本系統(tǒng)開(kāi)發(fā)的主要流程界面(主要功能取款、轉(zhuǎn)賬、查詢(xún)、修改密碼等)。3.3.2 確定目標(biāo)系統(tǒng)分析目標(biāo)應(yīng)該根據(jù)客戶(hù)的要求和對(duì)需要解決問(wèn)題的理解加以確定,如有可能應(yīng)盡量通過(guò)指標(biāo)表示,以便進(jìn)行定量分析。對(duì)不能定量描述的目標(biāo)也應(yīng)該盡量用文字說(shuō)明清楚,以便進(jìn)行定性分析和評(píng)價(jià)系統(tǒng)分析的成效。3.3.3 調(diào)查研究,收集數(shù)據(jù)調(diào)查研究和收集數(shù)據(jù)應(yīng)該圍繞問(wèn)題起因進(jìn)行,一方面要驗(yàn)證有限
27、定問(wèn)題階段形成的假設(shè),另一方面要探討產(chǎn)生問(wèn)題的根本原因,為下一步提出解決問(wèn)題的備選方案做準(zhǔn)備。調(diào)查研究常用的有四種方式,即閱讀文件資料、訪(fǎng)談、觀察和調(diào)查。收集的數(shù)據(jù)和信息包括事實(shí)(facts)、見(jiàn)解(opinions)和態(tài)度(attitudes)。要對(duì)數(shù)據(jù)和信息去偽存真,交叉核實(shí),保證真實(shí)性和準(zhǔn)確性。3.3.4 提出方案和評(píng)價(jià)標(biāo)準(zhǔn)通過(guò)深入調(diào)查研究,使真正有待解決的問(wèn)題得以最終確定,使產(chǎn)生問(wèn)題的主要原因得到明確,在此基礎(chǔ)上就可以有針對(duì)性地提出解決問(wèn)題的備選方案。備選方案是解決問(wèn)題和達(dá)到咨詢(xún)目標(biāo)可供選擇的建議或設(shè)計(jì),應(yīng)提出兩種以上的備選方案,以便提供進(jìn)一步評(píng)估和篩選。為了對(duì)備選方案進(jìn)行評(píng)估,要根據(jù)
28、問(wèn)題的性質(zhì)和客戶(hù)具備的條件。提出約束條件或評(píng)價(jià)標(biāo)準(zhǔn),供下一步應(yīng)用。3.3.5 方案評(píng)估根據(jù)上述約束條件或評(píng)價(jià)標(biāo)準(zhǔn),對(duì)解決問(wèn)題備選方案進(jìn)行評(píng)估,評(píng)估應(yīng)該是綜合性的,不僅要考慮技術(shù)因素,也要考慮社會(huì)經(jīng)濟(jì)等因素,評(píng)估小組應(yīng)該有一定代表性,除咨詢(xún)項(xiàng)目組成員外,也要吸收客戶(hù)組織的代表參加。根據(jù)評(píng)估結(jié)果確定最可行方案。3.3.6 提交可行方案最可行方案并不一定是最佳方案,它是在約束條件之內(nèi),根據(jù)評(píng)價(jià)標(biāo)準(zhǔn)篩選出的最現(xiàn)實(shí)可行的方案。如果客戶(hù)滿(mǎn)意,則系統(tǒng)分析達(dá)到目標(biāo)。如果客戶(hù)不滿(mǎn)意,則要與客戶(hù)協(xié)商調(diào)整約束條件或評(píng)價(jià)標(biāo)準(zhǔn),甚至重新限定的問(wèn)題,開(kāi)始新一輪系統(tǒng)分析,直到客戶(hù)滿(mǎn)意為止。4 總體設(shè)計(jì)4.1 系統(tǒng)設(shè)計(jì)即對(duì)有
29、關(guān)系統(tǒng)全局問(wèn)題的設(shè)計(jì),也就是設(shè)計(jì)系統(tǒng)總的處理方案,又稱(chēng)系統(tǒng)概要設(shè)計(jì)。它包括:計(jì)算機(jī)配置設(shè)計(jì)、系統(tǒng)模塊結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)庫(kù)和文件設(shè)計(jì)、代碼設(shè)計(jì)以及系統(tǒng)可靠性與內(nèi)部控制設(shè)計(jì)等內(nèi)容。軟件功能分解屬于下列軟件開(kāi)發(fā)中的總體設(shè)計(jì)階段。概要設(shè)計(jì)解決軟件系統(tǒng)的模塊劃分和模塊的層次機(jī)構(gòu)以及數(shù)據(jù)庫(kù)設(shè)計(jì);詳細(xì)設(shè)計(jì)解決每個(gè)模塊的控制流程,內(nèi)部算法和數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)。這個(gè)階段結(jié)束,要交付概要設(shè)計(jì)說(shuō)明書(shū)和設(shè)計(jì)說(shuō)明,也可以合并在一起,稱(chēng)為設(shè)計(jì)說(shuō)明書(shū)。系統(tǒng)設(shè)計(jì)通常應(yīng)用兩種方法:一種是歸納法,另一種是演繹法。應(yīng)用歸納法進(jìn)行系統(tǒng)設(shè)計(jì)的程序是:首先盡可能地收集現(xiàn)有的和過(guò)去的同類(lèi)系統(tǒng)的系統(tǒng)設(shè)計(jì)資料;在對(duì)這些系統(tǒng)的設(shè)計(jì)、制造和運(yùn)行狀況進(jìn)行分
30、析研究的基礎(chǔ)上,根據(jù)所設(shè)計(jì)的系統(tǒng)的功能要求進(jìn)行多次選擇,然后對(duì)少數(shù)幾個(gè)同類(lèi)系統(tǒng)作出相應(yīng)修正,最后得出一個(gè)理想的系統(tǒng)。演繹法是一種公理化方法,即先從普遍的規(guī)則和原理出發(fā),根據(jù)設(shè)計(jì)人員的知識(shí)和經(jīng)驗(yàn),從具有一定功能的元素集合中選擇能符合系統(tǒng)功能要求的多種元素,然后將這些元素按照一定形式進(jìn)行組合(見(jiàn)系統(tǒng)結(jié)構(gòu)),從而創(chuàng)造出具有所需功能的新系統(tǒng)。在系統(tǒng)設(shè)計(jì)的實(shí)踐中,這兩種方法往往是并用的。 系統(tǒng)設(shè)計(jì)原則: (1)階段開(kāi)發(fā)原則 系統(tǒng)框架和數(shù)據(jù)結(jié)構(gòu)全面設(shè)計(jì),具體功能實(shí)現(xiàn)分階段進(jìn)行。網(wǎng)站的建設(shè)過(guò)程可以采取以下三期:第一期工程搭建網(wǎng)站的基本構(gòu)架,實(shí)現(xiàn)電子商務(wù)網(wǎng)的大部分功能,初步實(shí)現(xiàn)網(wǎng)上交易;第二期工程實(shí)現(xiàn)網(wǎng)上競(jìng)價(jià)
31、系統(tǒng)的全部功能;第三期工程實(shí)現(xiàn)網(wǎng)站在線(xiàn)的B to B 交易。 (2)易用性原則 方便上網(wǎng)客戶(hù)瀏覽和操作,最大限度地減輕后臺(tái)管理人員的負(fù)擔(dān),做到部分業(yè)務(wù)的自動(dòng)化處理。 (3)業(yè)務(wù)完整性原則 對(duì)于業(yè)務(wù)進(jìn)行中的特殊情況能夠做出及時(shí)、正確的響應(yīng),保證業(yè)務(wù)數(shù)據(jù)的完整性。 (4)業(yè)務(wù)規(guī)范化原則 在系統(tǒng)設(shè)計(jì)的同時(shí),也為將來(lái)的業(yè)務(wù)流程制定了較為完善的規(guī)范,具有較強(qiáng)的實(shí)際操作性。 (5)可擴(kuò)展性原則 系統(tǒng)設(shè)計(jì)要考慮到業(yè)務(wù)未來(lái)發(fā)展的需要,要盡可能設(shè)計(jì)得簡(jiǎn)明,各個(gè)功能模塊間的耦合度小,便于系統(tǒng)的擴(kuò)展。如果存在舊有的數(shù)據(jù)庫(kù)系統(tǒng),則需要充分考慮兼容性。 本系統(tǒng)參照windows游戲蜘蛛紙牌,自己編寫(xiě)設(shè)計(jì)實(shí)現(xiàn)其功能,它具
32、有如下一些功能: 設(shè)計(jì)一個(gè)游戲界面,包括玩牌區(qū)、發(fā)牌區(qū)和回收區(qū)。 (1)紙牌以及其背景的設(shè)定。 (2)移動(dòng)紙牌。使用鼠標(biāo)將較小的紙牌拖放到較大的紙牌下方,可以拖動(dòng)一組紙牌,當(dāng)要求這組紙牌是同一個(gè)花色,并且這一組紙牌從上到下是從大到小排列的,且不間斷。 (3)回收紙牌。當(dāng)某列出現(xiàn)同一花色,從上到下依次是從K到A的不間組合時(shí),這組紙牌將被回收到回收區(qū)中。 (4)發(fā)牌。用鼠標(biāo)單擊發(fā)牌區(qū),若發(fā)牌區(qū)還有剩余的紙牌,則將發(fā)出一疊紙牌共10張,依次添加到玩牌區(qū)的10列紙牌最下方,但要求這10列紙牌沒(méi)有空白列。.若玩家不了解游戲規(guī)則可以點(diǎn)擊幫助獲得游戲方法。 (5)級(jí)別設(shè)定。點(diǎn)擊“游戲”菜單中選取游戲難以級(jí)別
33、,有3種級(jí)別,分別對(duì)應(yīng)初級(jí)、中級(jí)、高級(jí)。 (6)退出游戲。4.2 主要模型 該游戲的開(kāi)發(fā)及相關(guān)功能的實(shí)現(xiàn)需要在Eclipse下建立java project,同時(shí)編寫(xiě)Spider.java、PKCard.java、SpiderMenu.java、AboutDialog.class,另外將紙牌的圖片文件保存在images文件夾中。該游戲可分為以下各項(xiàng)功能:(1) Spider.java 用于實(shí)現(xiàn)紙牌初始化、設(shè)置游戲等級(jí)以及異常處理。(2) PKCard.java用于定義紙牌的顯示的各種屬性以及鼠標(biāo)事件的相應(yīng)屬性。(3) SpiderMenu.java用于添加游戲下拉菜單的各個(gè)選項(xiàng),包含圖形用戶(hù)界面
34、的構(gòu)建,組件監(jiān)聽(tīng)的實(shí)現(xiàn),以及顯示可執(zhí)行操作的線(xiàn)程。(4) SpiderMenu.class生成Spider.class,AboutDialog.class和PKCard.class。4.3 系統(tǒng)功能結(jié)構(gòu)圖 所謂功能結(jié)構(gòu)圖就是將系統(tǒng)的功能進(jìn)行分解,按功能從屬關(guān)系表示的圖表。管理信息系統(tǒng)的各子系統(tǒng)可以看作是系統(tǒng)目標(biāo)下層的功能,對(duì)其中每項(xiàng)功能還可以繼續(xù)分解為第三層、第四層甚至更多的功能。 功能結(jié)構(gòu)圖就是按照功能的從屬關(guān)系畫(huà)成的圖表,圖中的每一個(gè)框都稱(chēng)為一個(gè)功能模塊。功能模塊可以根據(jù)具體情況分的大一點(diǎn)或小一點(diǎn),分解得最小功能模塊可以是一個(gè)程序中的每個(gè)處理過(guò)程,而較大的功能模塊則可能是完成某一個(gè)任務(wù)的一
35、組程序。 功能結(jié)構(gòu)圖是對(duì)硬件、軟件、解決方案等進(jìn)行解剖,詳細(xì)描述功能列表的結(jié)構(gòu),構(gòu)成,剖面的從大到小,從粗到細(xì),從上到下等而描繪或畫(huà)出來(lái)的結(jié)構(gòu)圖。從概念上講,上層功能包括 (或控制)下層功能,愈上層功能愈籠統(tǒng),愈下層功能愈具體。功能分解的過(guò)程就是一個(gè)由抽象到具體、由復(fù)雜到簡(jiǎn)單的過(guò)程。圖中每一個(gè)框稱(chēng)為一個(gè)功能模塊。功能模塊可以根據(jù)具體情況分得大一點(diǎn)或小一點(diǎn)。分解得最小的功能模塊可以是一個(gè)程序中的每個(gè)處理過(guò)程,而較大的功能模塊則可能是完成某一任務(wù)的一組程序。 系統(tǒng)設(shè)計(jì)是新系統(tǒng)的物理設(shè)計(jì)階段。根據(jù)系統(tǒng)分析階段所確定的新系統(tǒng)的邏輯模型、功能要求,在用戶(hù)提供的環(huán)境條件下,設(shè)計(jì)出一個(gè)能在計(jì)算機(jī)網(wǎng)絡(luò)環(huán)境上實(shí)
36、施的方案,即建立新系統(tǒng)的物理模型。圖4-1 系統(tǒng)功能結(jié)構(gòu)圖5 詳細(xì)設(shè)計(jì)5.1 代碼功能功能模塊設(shè)計(jì) 蜘蛛紙牌游戲共由4個(gè)部分組成,分別是:Spider.java,SpiderMenuBar.java,PKCard.java,AboutDialog.java。SpiderMenuBar.java包含名為SpiderMenuBar的public類(lèi),其主要功能為生成蜘蛛紙牌游戲的菜單欄,實(shí)現(xiàn)菜單欄中各個(gè)組件的事件偵聽(tīng)。主要包括3個(gè)模塊:圖形用戶(hù)界面的構(gòu)建;組件監(jiān)聽(tīng)接口的實(shí)現(xiàn):顯示可執(zhí)行操作的線(xiàn)程。PKCard.java包含名為PKCard的public類(lèi),其主要功能為:定義紙牌的屬性,包括名稱(chēng),位置
37、等相關(guān)信息。并通過(guò)相關(guān)方法實(shí)現(xiàn)紙牌的移動(dòng)等。AboutDialog.java包含名為AboutDialog的public類(lèi),其主要功能為生成蜘蛛紙牌游戲的幫助欄。Spider.java包含名為Spider的public類(lèi),其主要功能為生成蜘蛛紙牌游戲的框架,實(shí)現(xiàn)游戲中的方法,包括:紙牌的隨機(jī)生成,位置的擺放等。 圖5-1程序的總體設(shè)計(jì)流程圖5.2 模塊一的詳細(xì)介紹SpiderMenuBar.java的功能是生成蜘蛛紙牌游戲的菜單欄。實(shí)現(xiàn)菜單欄中的各個(gè)組件的事件。5.2.1 主要的類(lèi) JMenuBar類(lèi)、JMenu類(lèi)、JMenuItem類(lèi)、JRadioButton類(lèi)都是設(shè)計(jì)GUI(圖形用戶(hù)界面)
38、的包javax.swing中的類(lèi)。可以用import引用這些類(lèi)。JMenuBar類(lèi)是JComponent類(lèi)的子類(lèi)負(fù)責(zé)創(chuàng)建菜單條的。即JMenuBar類(lèi)的一個(gè)實(shí)例就是一個(gè)菜單條。JMenu類(lèi)是JComponent類(lèi)的子類(lèi)負(fù)責(zé)創(chuàng)建菜單組的。即JMenu類(lèi)的一個(gè)實(shí)例化就是一個(gè)菜單。 JMenuItem類(lèi)是JMenu類(lèi)的父類(lèi)負(fù)責(zé)創(chuàng)建菜單項(xiàng)。即JMenuItem類(lèi)的一個(gè)實(shí)例化就是一個(gè)菜單項(xiàng)。 JRadioButtonMenuItem類(lèi)負(fù)責(zé)一個(gè)單選按鈕菜單項(xiàng)的實(shí)現(xiàn)。JRadioButtonMenuItem 是屬于一組菜單項(xiàng)中的一個(gè)菜單項(xiàng),該組中只能選擇一個(gè)項(xiàng)。 ButtonGroup 類(lèi)用于為一組按鈕創(chuàng)建
39、一個(gè)多斥作用域。使用相同的 ButtonGroup 對(duì)象創(chuàng)建一組按鈕意味著“開(kāi)啟”其中一個(gè)按鈕時(shí),將關(guān)閉組中的其他所有按鈕。 SpiderMenuBar類(lèi)是此文件的一個(gè)主類(lèi)是JMenuBar的子類(lèi)。Show類(lèi)是Thread的子類(lèi)用于創(chuàng)建線(xiàn)程。5.2.2 主要的變量 jNewGame、jHelp變量分別是JMenu類(lèi)創(chuàng)建的“游戲”、“幫助”菜單。 jItemAbout、jItemOpen、jItemPlayAgain、jItemExit、jItemValid變量分別是JMenuItem 類(lèi)創(chuàng)建的“關(guān)于”、“開(kāi)局”、“重新發(fā)牌”、“退出”、“顯示可行操作”菜單項(xiàng)。 jRMItemEasy、jRMI
40、temNormal、jRMItemHard變量分別是JRadioButtonMenuItem類(lèi)創(chuàng)建的“簡(jiǎn)單:?jiǎn)我换ㄉ?、“中?jí):雙花色”、“高級(jí):四花色”的單選按鈕菜單項(xiàng)。 group變量是ButtonGroup 類(lèi)創(chuàng)建的一組按鈕選擇對(duì)象。spider變量是Spider類(lèi)創(chuàng)建的對(duì)象用于主界面窗口的實(shí)現(xiàn)。將在Spider.java文件中介紹。5.2.3 主要的方法public JMenuBar()創(chuàng)建新的菜單欄。public JMenu(String text)構(gòu)造一個(gè)新菜單,用提供的字符串作為其文本。public JMenuItem(String text)創(chuàng)建帶有指定文本的菜單項(xiàng)。publi
41、c JRadioButtonMenuItem(String text)創(chuàng)建一個(gè)帶文本的單選按鈕菜單項(xiàng)。public ButtonGroup()創(chuàng)建一個(gè)新的單選按鈕對(duì)象組。 public void add(MenuItem item)向菜單增加由參數(shù)item指定的菜單項(xiàng)對(duì)象。public void add(AbstractButton b)將單選按鈕添菜單項(xiàng)加到組中。public void add(JMenu c)將指定的菜單添加加到菜單欄中。public void addSeparator()將新分隔符追加到菜單的末尾。所需要添加的事件處理的接口方法將在后來(lái)的模塊中進(jìn)行介紹。事件源即能夠產(chǎn)生的
42、事件的對(duì)象。監(jiān)視器用于對(duì)事件源進(jìn)行監(jiān)視以便對(duì)發(fā)生的事件做出處理。事件源通過(guò)調(diào)用相應(yīng)的方法將某個(gè)對(duì)象作為自己的監(jiān)視器。這個(gè)方法是addActionListen(ActionListener listen)該方法中的參數(shù)是ActionListener類(lèi)型的接口。因此必須用ActionListener接口的類(lèi)創(chuàng)建的對(duì)象傳遞給該方法的參數(shù),使得該對(duì)象成為事件源的的監(jiān)視器。監(jiān)視器負(fù)責(zé)調(diào)用特定的方法處理事件,創(chuàng)建監(jiān)視器的類(lèi)必須提供處理事件的特定的方法,即實(shí)現(xiàn)接口方法。public void addMenuListener(MenuListener l)添加菜單事件的偵聽(tīng)器。 void menuSelect
43、ed(MenuEvent e)選擇某個(gè)菜單時(shí)調(diào)用。 void menuDeselected(MenuEvent e)取消選擇某個(gè)菜單時(shí)調(diào)用。 void menuCanceled(MenuEvent e)取消菜單時(shí)調(diào)用。5.3 模塊二的詳細(xì)介紹PKCard的功能是定義紙牌的屬性,包括名稱(chēng),位置等相關(guān)信息。并通過(guò)相關(guān)方法實(shí)現(xiàn)了紙牌的移動(dòng)等。5.3.1 主要的類(lèi)JDialog類(lèi)是創(chuàng)建對(duì)話(huà)框窗口的主要類(lèi)??梢允褂么祟?lèi)創(chuàng)建自定義的對(duì)話(huà)框,或者調(diào)用 JOptionPane 中的多個(gè)類(lèi)方法來(lái)創(chuàng)建各種標(biāo)準(zhǔn)對(duì)話(huà)框。Jpanel類(lèi)是一個(gè)面板類(lèi)負(fù)責(zé)創(chuàng)建一個(gè)面板容器,再向這個(gè)面板添加組件,然后將面板添加到底層容器中。
44、JTabbedPane類(lèi)負(fù)責(zé)創(chuàng)建一個(gè)組件,它允許用戶(hù)通過(guò)單擊具有給定標(biāo)題和/或圖標(biāo)的選項(xiàng)卡,在一組組件之間進(jìn)行切換。JTextArea類(lèi)負(fù)責(zé)創(chuàng)建一個(gè)顯示純文本的多行區(qū)域。它作為一個(gè)輕量級(jí)組件Container類(lèi)負(fù)責(zé)創(chuàng)建一個(gè)容器對(duì)象,此容器可以包含其它組件。AboutDialog類(lèi)是JDialog類(lèi)的子類(lèi),負(fù)責(zé)創(chuàng)建一個(gè)顯示對(duì)話(huà)框。5.3.2 主要的變量jMainPane、jPanel1、jPanel2、變量是JPane1創(chuàng)建的面板容器。jt1、jt2是JTextArea類(lèi)創(chuàng)建的文本區(qū)對(duì)象。jTabbedPane是JTabbedPane類(lèi)創(chuàng)建的選項(xiàng)卡窗格對(duì)象。c變量是Container類(lèi)創(chuàng)建的容器
45、。5.3.3 主要的方法public JTabbedPane()創(chuàng)建一個(gè)具有默認(rèn)的 JTabbedPane.TOP 選項(xiàng)卡布局的空 TabbedPane.public JDialog()創(chuàng)建一個(gè)沒(méi)有標(biāo)題并且沒(méi)有指定 Frame 所有者的無(wú)模式對(duì)話(huà)框。一個(gè)共享的、隱藏的窗體將被設(shè)置為該對(duì)話(huà)框的所有者。public JPanel()創(chuàng)建具有雙緩沖和流布局的新面板容器。public JTextArea(String text)構(gòu)造顯示指定文本為text的新的文本區(qū)。public void setTittle(String s)設(shè)置一個(gè)標(biāo)題為s的對(duì)話(huà)框。public void setSize(int
46、width,int heigth)創(chuàng)建寬為width,高位heigth大小的對(duì)話(huà)框。public void setResizable(boolean b)設(shè)置對(duì)話(huà)框是否可調(diào)整大小。b為true時(shí),對(duì)話(huà)框可調(diào)整大小。public void setDefaultCloseOperation(int operation)該方法用來(lái)設(shè)置單機(jī)窗體右上角的關(guān)閉圖標(biāo)后,程序會(huì)做出怎樣的處理。operation取DISPOSE_ON_CLOSE時(shí)/隱藏當(dāng)前窗口,并釋放窗體所占有的其他資源。public void setVisible(boolean b)設(shè)置框口是可見(jiàn)還是不可見(jiàn)。b取true是為可見(jiàn)。publ
47、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)在右邊界自動(dòng)換行。public void JTextArea.setFont(Font f)設(shè)置文本區(qū)內(nèi)的字體。public void JTextArea.s
48、etForeground(Color c)設(shè)置文本區(qū)組件的前景色。public void addTab(String title,Icon icon,Component component,String tip)添加由 title 和/或 icon 表示的 component 和 tip,其中任意一個(gè)都可以為 nul參數(shù):title - 此選項(xiàng)卡中要顯示的標(biāo)題,icon - 此選項(xiàng)卡中要顯示的圖標(biāo),component - 單擊此選項(xiàng)卡時(shí)要顯示的組件,tip - 此選項(xiàng)卡要顯示的工具提示。public void pack()調(diào)整此窗口的大小,以適合其子組件的首選大小和布局。5.4 模塊三的詳細(xì)介
49、紹PKCard的作用是定義紙牌的屬性,包括名稱(chēng)、位置等相關(guān)信息。并通過(guò)相關(guān)方法實(shí)現(xiàn)紙牌的移動(dòng)。5.4.1 主要類(lèi)介紹JLable類(lèi)負(fù)責(zé)創(chuàng)建標(biāo)簽對(duì)象。標(biāo)簽用于短文本字符串或圖像或二者的顯示區(qū)。Thread類(lèi)負(fù)責(zé)創(chuàng)建線(xiàn)程對(duì)象。MouseListener接口、MouseMotionListener接口負(fù)責(zé)處理事件源所觸發(fā)的鼠標(biāo)事件,包括處理鼠標(biāo)按下、釋放、進(jìn)入、退出、單擊、連擊、拖動(dòng)、移動(dòng)所觸發(fā)鼠標(biāo)事件。Point類(lèi)負(fù)責(zé)創(chuàng)建表示 (x,y) 坐標(biāo)空間中的位置的點(diǎn)對(duì)象,以整數(shù)精度指定。MouseEvent類(lèi)負(fù)責(zé)創(chuàng)建鼠標(biāo)所發(fā)生的事件對(duì)象。Flash類(lèi)負(fù)責(zé)創(chuàng)建線(xiàn)程對(duì)象,不斷的獲取下一張紙牌。PKCard類(lèi)
50、是文件的主類(lèi),實(shí)現(xiàn)MouseListener接口的JLable的子類(lèi)。負(fù)責(zé)創(chuàng)建紙牌對(duì)象。5.4.2 主要變量Point point變量表示紙牌的位置對(duì)象。Point initPoint表示紙牌的初始化位置對(duì)象。int value變量表示紙牌的內(nèi)容值。int type變量表示紙牌的類(lèi)型。String name變量表示紙牌的名稱(chēng)。Container pane變量表示標(biāo)簽內(nèi)主容器。boolean canMove 變量表示紙牌是否可以移動(dòng),值為true時(shí),可以移動(dòng)。boolean isFront變量表示紙牌是否正面顯示,值為true時(shí),則為正面顯示。PKCard previousCard變量表示上面一
51、張紙牌5.4.3 主要方法public void flashCard(PKCard card)方法啟動(dòng)Flash線(xiàn)程不停的獲取下一張紙牌直至完成。public void run()方法為紙牌的正面設(shè)置白色圖片。card.updateUI()方法將UI屬性重置為當(dāng)前外觀的值。public void mousePressed(MouseEvent mp)方法按下鼠標(biāo)時(shí)事件的處理方法。public void mouseReleased(MouseEvent mr)方法釋放鼠標(biāo)時(shí)事件處理的方法。public void setNextCardLocation(Point point)方法放置鼠標(biāo)時(shí)事件處
52、理方法。public int whichColumnAvailable(Point point)方法為判斷可用列。public void mouseDragged(MouseEvent argO)方法鼠標(biāo)拖動(dòng)紙牌時(shí)事件處理方法。public void moving(int x,int y)方法將紙牌移動(dòng)(x,y)個(gè)位置。pane.setComponentZOrder(this,1)方法將主件移動(dòng)到容器中指定的順序索引。public PKCard(String name,Spider spider)方法紙牌的構(gòu)造函數(shù)。public void turnFront()方法令紙牌顯示正面。public
53、 void turnRear()方法令紙牌顯示背面。public void moveto(Point point()方法將紙牌移動(dòng)到點(diǎn)pointpublic void setCanMove(boolean can)方法判斷紙牌是否能夠移動(dòng)。public boolean isCardFront()方法判斷紙牌是否正面顯示。public boolean isCardCanMove()方法判斷紙是否能夠移動(dòng)。public int getCardValue()方法獲得紙牌的內(nèi)容值。public int getCardType()方法獲得紙牌的類(lèi)型。5.5 模塊四的詳細(xì)介紹Spider.java文件是蜘
54、蛛紙牌游戲的主類(lèi)文件,其主要功能是生成蜘蛛紙牌游戲的框架,實(shí)現(xiàn)游戲中的方法,包括紙牌的隨機(jī)生成、位置的擺放等。5.5.1 主要的類(lèi) JFrame類(lèi)及其子類(lèi)負(fù)責(zé)創(chuàng)建的對(duì)象稱(chēng)為窗體。JLable類(lèi)負(fù)責(zé)創(chuàng)建標(biāo)簽對(duì)象。標(biāo)簽用于短文本字符串或圖像或二者的顯示區(qū)。Container類(lèi)負(fù)責(zé)創(chuàng)建一個(gè)容器對(duì)象,此容器可以包含其它組件。PKCard類(lèi)負(fù)責(zé)創(chuàng)建紙牌對(duì)象。Hashtable類(lèi)實(shí)現(xiàn)一個(gè)哈希表,該哈希表將鍵映射到相應(yīng)的值。5.5.2 主要的變量public static final int EASY=1;代表“簡(jiǎn)單”等級(jí)。public static finalint NATURAL=2 代表“普通”等級(jí)。
55、public static finalint HARD=3 代表“難”等級(jí)。private int grade=Spider.EASY設(shè)定初始等級(jí)為簡(jiǎn)單等級(jí);private Container pane 變量為Container類(lèi)創(chuàng)建的面板容器。private PKCard card變量為PKCard類(lèi)創(chuàng)建的紙牌數(shù)組。private JLable clickLable1變量為JLable類(lèi)創(chuàng)建的右下角發(fā)牌區(qū)的鼠標(biāo)點(diǎn)擊響應(yīng)區(qū)域。private JLable groudLable變量為JLable類(lèi)創(chuàng)建的背景框數(shù)組。Hshtable table變量為Hashtable類(lèi)創(chuàng)建的一個(gè)哈希表對(duì)象,用于存儲(chǔ)鍵值數(shù)據(jù)對(duì)。private int c變量為紙牌的數(shù)量。private int n變量為紙牌的等級(jí)。private int a變量為紙牌所在的列號(hào)。private int finish變量為紙
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 汽車(chē)制造行業(yè)顧問(wèn)工作總結(jié)
- 年產(chǎn)800萬(wàn)平方米水性超細(xì)纖維材料項(xiàng)目可行性研究報(bào)告寫(xiě)作模板-申批備案
- 2025年全球及中國(guó)建筑隔熱用氣凝膠行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025年全球及中國(guó)有機(jī)肥快速測(cè)定儀行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025年全球及中國(guó)實(shí)驗(yàn)室冷藏柜行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025年全球及中國(guó)管路無(wú)菌連接器行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025-2030全球模型實(shí)時(shí)運(yùn)維系統(tǒng)行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025年全球及中國(guó)2.4GHz 無(wú)線(xiàn)通訊芯片行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025-2030全球金屬加工磨料行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025-2030全球高效智能無(wú)孔包衣機(jī)行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 中國(guó)電信應(yīng)急管理整體解決方案
- 中小學(xué)教師師德師風(fēng)法律法規(guī)培訓(xùn)
- 醫(yī)療器械質(zhì)量管理體系文件模板
- 秦始皇嬴政人物生平介紹PPT
- 在馬克思墓前的講話(huà)說(shuō)課稿公開(kāi)課一等獎(jiǎng)市賽課獲獎(jiǎng)?wù)n件
- 骨科無(wú)痛病房的建立
- 送養(yǎng)收養(yǎng)合同協(xié)議書(shū)
- 塑料成型模具設(shè)計(jì)(第2版)江昌勇課件0-導(dǎo)論
- 漢語(yǔ)拼音發(fā)音口型及配圖
- 績(jī)效考核管理醫(yī)院績(jī)效分配方案包括實(shí)施細(xì)則考核表
- 大學(xué)成績(jī)單(大專(zhuān))
評(píng)論
0/150
提交評(píng)論