JAVA打地鼠游戲設(shè)計(jì)畢業(yè)論文_第1頁(yè)
JAVA打地鼠游戲設(shè)計(jì)畢業(yè)論文_第2頁(yè)
JAVA打地鼠游戲設(shè)計(jì)畢業(yè)論文_第3頁(yè)
JAVA打地鼠游戲設(shè)計(jì)畢業(yè)論文_第4頁(yè)
JAVA打地鼠游戲設(shè)計(jì)畢業(yè)論文_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

打地鼠游戲摘要:近年來(lái),Java作為一種新的編程語(yǔ)言,以其簡(jiǎn)單性、可移植性和平臺(tái)無(wú)關(guān)性等優(yōu)點(diǎn),得到了廣泛地應(yīng)用,特別是Java與萬(wàn)維網(wǎng)的完美結(jié)合,使其成為網(wǎng)絡(luò)編程和嵌入式編程領(lǐng)域的首選編程語(yǔ)言。JBuilder是Borland公司用于快速開(kāi)發(fā)Java應(yīng)用的一款優(yōu)秀的集成開(kāi)發(fā)環(huán)境,它以其友好的開(kāi)發(fā)界面、強(qiáng)大的組件支持等優(yōu)點(diǎn),得到廣大程序員的接受和認(rèn)可。J2SE稱(chēng)為Java標(biāo)準(zhǔn)版或Java平臺(tái)。J2SE提供了標(biāo)準(zhǔn)的SDK開(kāi)發(fā)平臺(tái)。利用該平臺(tái)可以開(kāi)發(fā)Java桌面應(yīng)用程序和低端的服務(wù)器應(yīng)用程序。也可以開(kāi)發(fā)JavaApplet程序。它實(shí)際上是一系列規(guī)范的集合,由JCP組織制定相關(guān)的JavaSpecificationRequest(JSR)并發(fā)布。本游戲是使用eclipse編寫(xiě)的打地鼠游戲,本游戲是實(shí)現(xiàn)地鼠的不斷閃現(xiàn)和敲擊,根據(jù)玩家的書(shū)平來(lái)計(jì)算出成績(jī)。本軟件接受了娛樂(lè)游戲的特性,用相關(guān)技術(shù)及本程序的分析和功能的具體實(shí)現(xiàn),游戲界面美觀(guān),操作簡(jiǎn)單,是廣大游戲的愛(ài)好者都喜歡的一款游戲。關(guān)鍵字:Eclipse;打地鼠;Java

前言人類(lèi)進(jìn)入21世紀(jì),全球一體化,互聯(lián)網(wǎng)就起到重要的作用,而且隨著互聯(lián)網(wǎng)的不斷發(fā)展,信息技術(shù)逐漸發(fā)展壯大,將成為網(wǎng)絡(luò)經(jīng)濟(jì)的核心。其中計(jì)算機(jī)、網(wǎng)絡(luò)通信的發(fā)展最為迅速。在現(xiàn)今電子信息高速發(fā)展的時(shí)代,游戲已經(jīng)深入到人們的日常生活當(dāng)中,成為老少皆宜的娛樂(lè)方式。Java自問(wèn)世以來(lái),以其得天獨(dú)厚的優(yōu)勢(shì),在IT業(yè)界掀起了研究、開(kāi)發(fā)它的浪潮,顯示了“鵬程萬(wàn)里”的美好前景。作為一種與底層硬件無(wú)關(guān)的、“編寫(xiě)一次,到處運(yùn)行”的高級(jí)語(yǔ)言和計(jì)算平臺(tái),Java天生就具有將網(wǎng)絡(luò)上的各個(gè)平臺(tái)連成一體的能力,真正實(shí)現(xiàn)了“網(wǎng)絡(luò)就是計(jì)算機(jī)”的理念。以Java為代表的網(wǎng)絡(luò)的成長(zhǎng),改變了我們的聯(lián)系方式、生活方式、學(xué)習(xí)方式和經(jīng)營(yíng)方式。它的來(lái)到使我們目睹了一場(chǎng)類(lèi)似印刷術(shù)的重大變革。毫無(wú)疑問(wèn),它將影響人類(lèi)社會(huì)的發(fā)展,這就是:Java加速人類(lèi)進(jìn)入網(wǎng)絡(luò)時(shí)代!Java是當(dāng)今IT產(chǎn)業(yè)和人類(lèi)文明的創(chuàng)新和希望!

目錄1、設(shè)計(jì)內(nèi)容 、設(shè)計(jì)內(nèi)容概要設(shè)計(jì)的主要目的是,將游戲的需求轉(zhuǎn)化為游戲的數(shù)據(jù)結(jié)構(gòu)和系統(tǒng)結(jié)構(gòu)。通過(guò)制定相應(yīng)文檔和規(guī)范,以求在開(kāi)發(fā)過(guò)程中指導(dǎo)開(kāi)發(fā)人員的進(jìn)行開(kāi)發(fā)。并且規(guī)定好每個(gè)模塊的功能和作用。打地鼠游戲的設(shè)計(jì)內(nèi)容:首先設(shè)計(jì)幾個(gè)洞,讓洞中隨機(jī)冒出地鼠,通過(guò)鼠標(biāo)控制錘子,錘子與地鼠接觸,則加分,否則不加分,在規(guī)定的時(shí)間內(nèi),如果分值夠了,就過(guò)關(guān)了,否則失敗重來(lái)。1.1設(shè)計(jì)目的與要求(1)實(shí)驗(yàn)?zāi)康模和ㄟ^(guò)編寫(xiě)調(diào)試“打地鼠游戲”程序,分析了解“打地鼠游戲”的功能實(shí)現(xiàn)過(guò)程,掌握游戲設(shè)計(jì)的有關(guān)知識(shí)。(2)實(shí)驗(yàn)要求:按照實(shí)驗(yàn)教程的要求完成“打地鼠游戲”程序的編程和調(diào)試工作。1.2Java語(yǔ)言的發(fā)展Java自正式問(wèn)世以來(lái)已經(jīng)歷了四年的歷程,時(shí)間雖短,發(fā)展極快。一年一度在美國(guó)舊金山召開(kāi)的世界JavaOne語(yǔ)言開(kāi)發(fā)者大會(huì)(JavaOneDeveloperConference)盛況空前正說(shuō)明了這一點(diǎn)。四年中每年的JavaOne大會(huì),既是了解Java最新技術(shù)動(dòng)態(tài)、應(yīng)用成果和下一步發(fā)展趨勢(shì)的最好場(chǎng)所,又是推動(dòng)下一年Java快速發(fā)展的重要?jiǎng)恿ΑJ讓肑avaOne大會(huì)于1996年召開(kāi),各屆簡(jiǎn)況如下:1996年5月29-31日,第一屆,出席會(huì)議者6500余人,來(lái)自工業(yè)界的超過(guò)一半。有人評(píng)價(jià)說(shuō):“這是近年計(jì)算機(jī)界最光輝的一次盛會(huì)”。工業(yè)界相當(dāng)看好Java語(yǔ)言,認(rèn)為它的使用將會(huì)引起一場(chǎng)軟件革命:從軟件的設(shè)計(jì)風(fēng)格、設(shè)計(jì)方法、設(shè)計(jì)目標(biāo)到設(shè)計(jì)過(guò)程,都會(huì)產(chǎn)生徹底的變革,“甚至?xí)淖兇诵乔虻纳罘绞健薄?997年,第二屆,出席會(huì)議者10000人。Java的追隨者不斷增加,應(yīng)用開(kāi)發(fā)迅速起步。1998年3月24-27日,第三屆,出席會(huì)議者14000余人(注冊(cè)人數(shù)),注冊(cè)門(mén)票售價(jià)1195美元,否則1395美元,即使如此,仍有不少人不惜工本,擠入會(huì)場(chǎng)。本次會(huì)議除了軟件巨頭微軟未參加會(huì)議外,幾乎所有的計(jì)算機(jī)公司都參加了。展廳內(nèi)設(shè)300多個(gè)展臺(tái),先后舉行了90場(chǎng)專(zhuān)題討論會(huì),每場(chǎng)參加的人數(shù)從千人至五六千人不等。會(huì)議的主題是:通過(guò)Java的培訓(xùn)來(lái)帶動(dòng)Java軟件的開(kāi)發(fā)和技術(shù)研究,從而發(fā)展生產(chǎn)力,獲取高額利潤(rùn),提高生活質(zhì)量,推動(dòng)信息產(chǎn)業(yè)的進(jìn)步。會(huì)議展出的內(nèi)容大致如下:Java開(kāi)發(fā)工具軟件,如:JMF、JDK、SymantecVisualCafe、JavaDynamicManagementKit、JFC、JNDI、JavaStudio等;企業(yè)信息管理解決方案軟件,如:EJB(EnterpriseJavaBeans);基于Java技術(shù)的信息家電,如:機(jī)頂盒、Java電話(huà)等;個(gè)人信息綜合服務(wù)(Java戒指)、社會(huì)信息綜合查詢(xún)亭(Kiosk);電子商務(wù)軟件、智能卡、JavaCardAPI等;網(wǎng)絡(luò)計(jì)算環(huán)境下的Java服務(wù)器軟件、遠(yuǎn)程方法調(diào)用(RMI)、基于Java技術(shù)的移動(dòng)計(jì)算設(shè)備;JMS(JavaMessageService)用于出版、票據(jù)訂閱的軟件;JOS(JavaOS)、基于Java技術(shù)的NC和JavaStation。1999年6月15-18日,第四屆,出席會(huì)議者達(dá)20000人,300多家廠(chǎng)商參展,舉辦400多場(chǎng)技術(shù)講座,555名演講者慷慨陳詞,精彩紛呈。這次大會(huì)的主要特點(diǎn)是:Java框架結(jié)構(gòu)被梳理清晰。本次JavaOne大會(huì)上,Sun公司的一個(gè)重大舉措就是公布了Java平臺(tái)的最新架構(gòu)。重新定義的Java平臺(tái)以Java2為核心,由面向企業(yè)和服務(wù)器市場(chǎng)的企業(yè)版Java2(J2EE)、面向傳統(tǒng)PC客戶(hù)機(jī)市場(chǎng)的標(biāo)準(zhǔn)版Java2(J2SE)和面向信息電器等后PC終端設(shè)備市場(chǎng)的Micro版Java2(J2ME)三大部分組成。其中,J2EE包括EnterpriseJavaBeans(EJB)、JavaServerPages&JavaServlets、JavaMailAPI和JavaMassageService組成。而J2ME則是原有的PersonalJava、EmbeddedJava、JavaCard以及剛剛推出的Kjava組成。雖然新框架結(jié)構(gòu)中的內(nèi)容都是已有的,但這樣重新定義和組合,使得Java平臺(tái)的概念簡(jiǎn)單化,從而變得易于理解,更適合于進(jìn)行市場(chǎng)推廣。2)重點(diǎn)放在企業(yè)平臺(tái)隨著Internet的飛速發(fā)展,企業(yè)計(jì)算模式正摒棄C/S結(jié)構(gòu)而采用Web-Browser結(jié)構(gòu),此即瘦客戶(hù)端/胖服務(wù)器、大容量數(shù)據(jù)庫(kù)的3層或N層體系結(jié)構(gòu)。由于Java的特點(diǎn),使得它在開(kāi)發(fā)服務(wù)器端的應(yīng)用程序方面有著得天獨(dú)厚的優(yōu)勢(shì),面向服務(wù)器端的J2EE為當(dāng)今逐漸流行的N層體系結(jié)構(gòu)提供了一個(gè)標(biāo)準(zhǔn)的Java計(jì)算平臺(tái):界面一致、工具簡(jiǎn)易、豐富、Web頁(yè)面互聯(lián)便捷,從而能大大加速和簡(jiǎn)化各種應(yīng)用系統(tǒng)的開(kāi)發(fā)。3)加速后PC時(shí)代的進(jìn)程計(jì)算機(jī)的發(fā)展創(chuàng)造了Internet,但是計(jì)算機(jī)現(xiàn)在卻不是訪(fǎng)問(wèn)Internet的唯一方式。正在出現(xiàn)的信息化、智能化的消費(fèi)類(lèi)電子產(chǎn)品打破了PC作為信息終端的壟斷地位,成為人類(lèi)進(jìn)入Internet的新門(mén)戶(hù)。信息終端的多元化預(yù)示著所謂后PC(post-PC)時(shí)代的到來(lái)。消費(fèi)類(lèi)的信息終端量大面廣,是典型的瘦客戶(hù)機(jī),其本身的資源和能力不能與PC相比,但必須更加智能化,并對(duì)服務(wù)器端的管理提出了更高的要求。而Java平臺(tái)恰恰滿(mǎn)足了這種要求。本次大會(huì)推出的Kjava虛擬機(jī)能運(yùn)行在16以上的微處理器上,占用內(nèi)存少,人們可以隨心所欲,在資源有限的設(shè)備上方便地開(kāi)發(fā)出各種各樣的應(yīng)用,直接運(yùn)行在不同的消費(fèi)類(lèi)或其它電子設(shè)備上;而Jini的出現(xiàn)為Java網(wǎng)絡(luò)連接提供了公共標(biāo)準(zhǔn),使得任何Java設(shè)備都可以連入網(wǎng)絡(luò)中被自動(dòng)識(shí)別,并可充分利用網(wǎng)絡(luò)上已有的各種資源。大力推進(jìn)Jini的發(fā)展是Sun公司加速后PC時(shí)代進(jìn)程的一項(xiàng)重要策略。4)應(yīng)用系統(tǒng)異彩紛呈與上屆大會(huì)一樣,展出內(nèi)容有:應(yīng)用工具、應(yīng)用系統(tǒng)、信息家電等。特別在實(shí)時(shí)系統(tǒng)開(kāi)發(fā)方面,以IBM為首開(kāi)發(fā)出了應(yīng)用于工業(yè)實(shí)時(shí)環(huán)境的Java嵌入系統(tǒng),展現(xiàn)出Java在工業(yè)領(lǐng)域的廣闊應(yīng)用前景。Java語(yǔ)言的出現(xiàn)和發(fā)展,得到了IT業(yè)界的青睞,它像一面大旗,凝聚了世界眾多的廠(chǎng)商與Sun公司一道,結(jié)成了對(duì)抗微軟壟斷的聯(lián)盟。許多知名廠(chǎng)商紛紛購(gòu)買(mǎi)Java許可證,目前已有90多萬(wàn)個(gè)軟件開(kāi)發(fā)商加入了Java陣營(yíng),1億個(gè)Java最終用戶(hù),幾千種Java應(yīng)用軟件產(chǎn)品,1500余種Java書(shū)籍(自Java問(wèn)世4年來(lái),平均每天出版一本)。這真是IT業(yè)界的盛事!IBM公司提出“高舉Java大旗,全力以赴”的口號(hào),它在全世界的11個(gè)國(guó)家有28個(gè)實(shí)驗(yàn)室,集聚了2500余名技術(shù)人員,芯片巨人Intel提出“抓住時(shí)機(jī),占領(lǐng)Java陣地”!決心使Intel芯片系統(tǒng)成為開(kāi)發(fā)Java應(yīng)用運(yùn)行的最佳平臺(tái);Novell則宣稱(chēng)“Java是Novell的未來(lái),未來(lái)是服務(wù)器端Java的市場(chǎng)”;作為Java發(fā)明者的Sun公司,堅(jiān)持“保衛(wèi)Java大旗,發(fā)展Java之路”的方針。此外,HP、Oracle、Apple、Sybase、Netscape、Informix、3Com、Motorola等公司均是Sun的堅(jiān)強(qiáng)同盟。在我國(guó),Java的引進(jìn)與開(kāi)發(fā)起步早,發(fā)展水平基本與世界同步。目前,Sun公司已在中國(guó)建成了由5個(gè)授權(quán)中心、20多個(gè)Internet/IntarnetJava解決方案中心和10所Java大學(xué)、若干培訓(xùn)中心組成的三級(jí)結(jié)構(gòu)。全面推動(dòng)Java在中國(guó)的普及、應(yīng)用、研究、開(kāi)發(fā),培養(yǎng)了數(shù)以十萬(wàn)計(jì)的Java開(kāi)發(fā)人員。此外,Sun還牽頭成立了中外軟件廠(chǎng)商的開(kāi)發(fā)聯(lián)盟。在中國(guó),Java的開(kāi)發(fā)可以說(shuō)是“人才濟(jì)濟(jì),成果累累”。如清華大學(xué)王克宏教授帶領(lǐng)的課題組面向全國(guó),自96年開(kāi)始舉辦了多期Java培訓(xùn)班和講座,開(kāi)設(shè)了數(shù)期本科生、研究生Java課程,出版了“Java系列叢書(shū)”10余冊(cè),承擔(dān)了國(guó)家“九五”攻關(guān)項(xiàng)目“基于Java技術(shù)的交互式遠(yuǎn)程教學(xué)系統(tǒng)”,并與日本就Java開(kāi)發(fā)進(jìn)行了國(guó)際合作,成績(jī)斐然;東大阿派下屬的寶鋼東軟軟件技術(shù)研究中心是國(guó)內(nèi)是首屈一指的Java研發(fā)骨干企業(yè),該中心從95年起就開(kāi)始了Java的研發(fā),目前,已掌握了PersonalJava的核心移植技術(shù),并成功地將JVM移植到汽車(chē)導(dǎo)航平臺(tái)。此外,他們還開(kāi)發(fā)出支持Jini協(xié)議的即插即用網(wǎng)絡(luò)打印機(jī)軟件,以及一套Jini信息家電網(wǎng)絡(luò)的可視化演示環(huán)境,完成了基于JavaBeans的組件化軟件開(kāi)發(fā)及運(yùn)行支持環(huán)境等多項(xiàng)成果;在臺(tái)灣,22家知名計(jì)算機(jī)公司成立了“Java聯(lián)盟”,并在臺(tái)北建立了“Java開(kāi)發(fā)中心”,新竹建立了“Java語(yǔ)言實(shí)驗(yàn)室”;在香港,舉行了全島Java杯比賽,掀起了學(xué)習(xí)Java的熱潮。Java的浪潮洶涌澎湃,席卷全球!

2、軟件技術(shù)與特點(diǎn)2.1Java技術(shù)2.1.1Java嵌入技術(shù)Java發(fā)展至今日,已不僅僅是一種編程語(yǔ)言,實(shí)際上已形成了一門(mén)技術(shù)。其內(nèi)容包括:1)Java軟件包:Java語(yǔ)言及其編程技術(shù)、JavaOS、Java開(kāi)發(fā)環(huán)境與工具、Java語(yǔ)言的各種軟件包、數(shù)據(jù)庫(kù)接口JDBC等。2)Java虛擬機(jī)及其規(guī)范3)Java嵌入技術(shù)(Java芯片)已推出的有Java戒指、Java卡等。1999年8月2日,Sun公司宣布名為MAJC的專(zhuān)門(mén)為Java語(yǔ)言設(shè)計(jì)的的芯片優(yōu)化研制成功,欲與Intel試比高低。該芯片在設(shè)計(jì)時(shí)采用了模塊式高性能計(jì)算引擎,實(shí)質(zhì)為一種芯片級(jí)并行處理機(jī),能以更有效的方式分解計(jì)算任務(wù),特別適合處理多媒體數(shù)據(jù)。Sun公司希望通過(guò)MAJC芯片的發(fā)布催生出一個(gè)基于Java語(yǔ)言的微處理器家族,與Intel公司競(jìng)爭(zhēng)。設(shè)想中的Java處理器將應(yīng)用在從低價(jià)消費(fèi)電子產(chǎn)品到高端因特網(wǎng)服務(wù)器領(lǐng)域。2.1.2Jini技術(shù)1999年初正式發(fā)布后,立刻得到業(yè)界的廣泛支持。Jini的出現(xiàn)為Java網(wǎng)絡(luò)連接提供了公共標(biāo)準(zhǔn),使得任何Java設(shè)備都可以連入網(wǎng)絡(luò)中被自動(dòng)識(shí)別,并可充分利用網(wǎng)絡(luò)上已有的各種資源。它把網(wǎng)絡(luò)上的各類(lèi)設(shè)備(包括消費(fèi)類(lèi)電子設(shè)備如移動(dòng)電話(huà)、PDA、DTV、HPC、NC、游戲機(jī)、電冰箱、智能卡等等)和各種軟件組合成一個(gè)單一、動(dòng)態(tài)的分布式系統(tǒng),使網(wǎng)絡(luò)更易于操縱、易于管理,具有更高的可配置性。Jini將使網(wǎng)絡(luò)具有自發(fā)性,它的出現(xiàn)大大擴(kuò)展了“計(jì)算”和“計(jì)算機(jī)”的含義,極大地簡(jiǎn)化了網(wǎng)絡(luò)操作,對(duì)家庭用戶(hù)來(lái)說(shuō),使用網(wǎng)上設(shè)備即插即用,就像使用電話(huà)一樣方便。Java和Jini不僅可以不依賴(lài)于Windows為代表的操作系統(tǒng),而且引導(dǎo)著信息產(chǎn)業(yè)的潮流,使Sun公司能在未來(lái)的、非PC類(lèi)電子產(chǎn)品的數(shù)字化市場(chǎng)中強(qiáng)占制高點(diǎn)。2.2Java語(yǔ)言的主要特點(diǎn)Java語(yǔ)言是一種適用于網(wǎng)絡(luò)編程的語(yǔ)言,它的基本結(jié)構(gòu)與C++極為相似,但卻簡(jiǎn)單得多。它集成了其它一些語(yǔ)言的特點(diǎn)和優(yōu)勢(shì),又避開(kāi)了它們的不足之處。它的主要特點(diǎn)如下:2.2.1簡(jiǎn)單性Java與C++相比,不再支持運(yùn)算符重載、多級(jí)繼承及廣泛的自動(dòng)強(qiáng)制等易混淆和較少使用的特性,而增加了內(nèi)存空間自動(dòng)垃圾收集的功能,復(fù)雜特性的省略和實(shí)用功能的增加使得開(kāi)發(fā)變得簡(jiǎn)單而可靠。簡(jiǎn)單化的另一個(gè)方面是Java的系統(tǒng)非常小,其基本解釋和類(lèi)支持部分只占40KB,附加的基本標(biāo)準(zhǔn)庫(kù)和線(xiàn)程支持也只需增加175KB。因此,Java應(yīng)用軟件能在相當(dāng)小的系統(tǒng)之上獨(dú)立工作。2.2.2平臺(tái)獨(dú)立性這是Java最吸引人的地方。由于它采用先編譯成中間碼(字節(jié)碼),然后裝載與校驗(yàn),再解釋成不同的機(jī)器碼來(lái)執(zhí)行,即“Java虛擬機(jī)”的思想,“屏蔽”了具體的“平臺(tái)環(huán)境”特性要求,使得只要能支持Java虛擬機(jī),就可運(yùn)行各種Java程序。2.2.3面向?qū)ο竺嫦驅(qū)ο螅∣-O)的技術(shù)是近年來(lái)軟件開(kāi)發(fā)中用得最為普遍的程序設(shè)計(jì)方法,它通過(guò)把客觀(guān)事物進(jìn)行分類(lèi)組合、參數(shù)封裝、用成員變量來(lái)描述對(duì)象的性質(zhì)、狀態(tài),而用方法(成員函數(shù))來(lái)實(shí)現(xiàn)其行為和功能。O-O技術(shù)具有繼承性、封裝性、多態(tài)性等眾多特點(diǎn),Java在保留這些優(yōu)點(diǎn)的基礎(chǔ)上,又具有動(dòng)態(tài)聯(lián)編的特性,更能發(fā)揮出面向?qū)ο蟮膬?yōu)勢(shì)。2.2.4多線(xiàn)程多線(xiàn)程機(jī)制使應(yīng)用程序能并行執(zhí)行,Java有一套成熟的同步原語(yǔ),保證了對(duì)共享數(shù)據(jù)的正確操作。通過(guò)使用多線(xiàn)程,程序設(shè)計(jì)者可以分別用不同的線(xiàn)程完成特定的行為,而不需要采用全局的事件循環(huán)機(jī)制,這樣就很容易實(shí)現(xiàn)網(wǎng)絡(luò)上實(shí)時(shí)的交互行為。2.2.5安全性Java有建立在公共密鑰技術(shù)基礎(chǔ)上的確認(rèn)技術(shù)。指示器語(yǔ)義的改變將使應(yīng)用程序不能再去訪(fǎng)問(wèn)以前的數(shù)據(jù)結(jié)構(gòu)或是私有數(shù)據(jù),大多數(shù)病毒也就無(wú)法破壞數(shù)據(jù)。因而,用Java可以構(gòu)造出無(wú)病毒、安全的系統(tǒng)。Java語(yǔ)言除上述主要特點(diǎn)外,還有高性能、分布性、強(qiáng)大性、解釋性、可移植性等,此處不再贅述。

3、設(shè)計(jì)過(guò)程3.1設(shè)計(jì)方案的論證Eclipse是當(dāng)今最流行的Java開(kāi)發(fā)TDE之一,它是一個(gè)開(kāi)發(fā)源代碼、基于Java的課擴(kuò)展開(kāi)發(fā)平臺(tái),因?yàn)樗哂辛己玫目蓴U(kuò)展性。J2ME開(kāi)發(fā)可以繼承在Eclipse中完成,利用Eclipse界面友好的優(yōu)勢(shì),提高J2ME應(yīng)用程序的開(kāi)發(fā)效率。Eclipse框架的這種靈活性來(lái)源于其擴(kuò)展點(diǎn)。它們是在XML中定義的已知接口,并充當(dāng)插件的耦合點(diǎn)。擴(kuò)展點(diǎn)的范圍包括從用在常規(guī)表述過(guò)濾器中的簡(jiǎn)單字符串,到一個(gè)Java類(lèi)的描述。任何Eclipse插件定義的擴(kuò)展點(diǎn)都能夠被其插件使用,反之,任何Eclipse插件也可以組從其他插件定義的擴(kuò)展點(diǎn)。除了解由擴(kuò)展點(diǎn)定義的接口外,插件不知道他們通過(guò)擴(kuò)展點(diǎn)提供的服務(wù)將如何被使用。Eclipse的最大特點(diǎn)是它能接受由Java開(kāi)發(fā)者自己編寫(xiě)的開(kāi)放源代碼插件,這類(lèi)似于微軟公司的VisualStudio和Sun微系統(tǒng)公司的NetBeans平臺(tái)。Eclipse為工具開(kāi)發(fā)商提供了更好的靈活性,使他門(mén)能更好的控制自己的軟件技術(shù)。3.2概要設(shè)計(jì)本程序工有1個(gè)Main源文件:Main:該方法負(fù)責(zé)了游戲的全部工作,主要有游戲的邏輯處理和UI的顯示。該文件用到的函數(shù)如下:MyCanvas:負(fù)責(zé)游戲中用到的變量初始化工作,設(shè)置游戲的初始化狀態(tài),如線(xiàn)程的初始化。Paint:負(fù)責(zé)游戲界面的繪制和命令菜單的添加。CommandAction:聲明執(zhí)行操作的接口。有java接口或者抽象類(lèi)來(lái)實(shí)現(xiàn)。Run:該函數(shù)主要負(fù)責(zé)處理線(xiàn)程的工作,游戲狀態(tài)的切換和各種變量的賦值。Runnable接口:Runnable接口應(yīng)該由那些打算通過(guò)某一線(xiàn)程執(zhí)行其實(shí)例的類(lèi)來(lái)實(shí)現(xiàn)。類(lèi)必須定義一個(gè)稱(chēng)為run的無(wú)參數(shù)方法。此外,Runnable為非Thread子類(lèi)的類(lèi)提供了一種激活方式。通過(guò)實(shí)例化某個(gè)Thread實(shí)例并將自身作為運(yùn)行目標(biāo),就可以運(yùn)行實(shí)現(xiàn)Runnable的類(lèi)而無(wú)需創(chuàng)建Thread的子類(lèi)。大多數(shù)情況下,如果只想重寫(xiě)run()方法,而不重寫(xiě)其他Thread方法,那么應(yīng)使用Runnable接口。3.3軟件框架流程圖首先,進(jìn)入游戲界面,顯示出游戲的圖形,使得老鼠在洞中隨機(jī)閃爍出現(xiàn);然后單擊鼠標(biāo)的click事件,點(diǎn)擊老鼠得到相應(yīng)的分?jǐn)?shù),最后退出游戲。如圖1所示:進(jìn)入游戲界面進(jìn)入游戲界面顯示游戲的圖形點(diǎn)擊老鼠,得到相應(yīng)的分?jǐn)?shù)退出游戲使得老鼠隨機(jī)閃爍單擊鼠標(biāo)的單擊鼠標(biāo)的click事件圖1項(xiàng)目流程圖3.4界面設(shè)計(jì)圖經(jīng)過(guò)進(jìn)一步的分析設(shè)計(jì),得到的打地鼠游戲界面圖,如圖2所示: privatestaticfinallongserialVersionUID=1L; privateintnum=0;//設(shè)置全局變量 privateJLabel[]mouses; privateImageIconimgMouse; privateJLabelback; privateJLabeljtf; PlayMouse(){//寫(xiě)一個(gè)構(gòu)造器對(duì)成員變量初始化 this.setResizable(true);//是否能夠手動(dòng)的修改大小 this.getContentPane().setLayout(null); this.setTitle("我的打地鼠游戲"); back=newJLabel(); back.setBounds(0,-35,600,438); this.setBounds(300,100,600,438);//設(shè)置框的大小和位置以及坐標(biāo) this.setCursor(Toolkit.getDefaultToolkit().createCustomCursor(Toolkit.getDefaultToolkit().getImage("src/com/iotek/mouse/1.png"),newPoint(3,3),"self"));//把鼠標(biāo)變成錘子ImageIconicon=newImageIcon(this.getClass().getResource("3.jpg"));//加載圖片調(diào)用構(gòu)造器 back.setIcon(icon); imgMouse=newImageIcon(this.getClass().getResource("2.png"));//對(duì)老鼠進(jìn)行初始化 mouses=newJLabel[9];//對(duì)數(shù)組進(jìn)行初始化 for(inti=0;i<9;i++){//寫(xiě)一個(gè)for循環(huán) mouses[i]=newJLabel(); mouses[i].setSize(imgMouse.getIconWidth(),imgMouse.getIconHeight());//設(shè)置老鼠的大小 //mouses[i].setIcon(imgMouse); mouses[i].addMouseListener(newMouseAdapter(){//通過(guò)匿名內(nèi)部類(lèi)添加一個(gè)監(jiān)聽(tīng)器,可以監(jiān)聽(tīng)到所有事件圖2游戲界面圖經(jīng)過(guò)進(jìn)一步的分析設(shè)計(jì),得到的打地鼠游戲加分功能,如圖3所示:publicvoidmouseClicked(MouseEvente){//加分功能 Objectobject=e.getSource();//點(diǎn)擊事件源默認(rèn)的是object if(objectinstanceofJLabel){//判斷圖片正好出現(xiàn) JLabellabel=(JLabel)object; if(label.getIcon()!=null){ num++; jtf.setText("您的得分是:"+num+"分");//每次顯示分?jǐn)?shù)都會(huì)變化 } label.setIcon(null);//如果點(diǎn)完圖片就消失 } }圖3游戲加分圖3.5軟件項(xiàng)目核心程序本次項(xiàng)目中我主要負(fù)責(zé)的是運(yùn)用了多線(xiàn)程的技術(shù),代碼如下:publicstaticvoidmain(String[]args){ PlayMoused1=newPlayMouse();//調(diào)用構(gòu)造器 Threadt1=newThread(d1);//產(chǎn)生一個(gè)線(xiàn)程,讓他運(yùn)行起來(lái) t1.start(); } @Override publicvoidrun(){//老鼠閃爍出現(xiàn)多線(xiàn)程 while(true){ try{ Thread.sleep(500); intindex=(int)(Math.random()*9); if(mouses[index].getIcon()==null){//圖片有沒(méi)有立刻被點(diǎn)中 mouses[index].setIcon(imgMouse);//如果沒(méi)點(diǎn)中就有一定的反應(yīng)時(shí)間 Thread.sleep(800);//反應(yīng)時(shí)間,可以根據(jù)難度的不同設(shè)置不同的長(zhǎng)度 if(mouses[index].isShowing()){//如果在反應(yīng)時(shí)間仍然沒(méi)有點(diǎn)就設(shè)置為空 mouses[index].setIcon(null); } } }catch(InterruptedExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } } }}3.6本次程序中學(xué)到的知識(shí)本次課程設(shè)計(jì)我從中學(xué)習(xí)到了Java的編程思想,主要學(xué)到以下內(nèi)容:1、游戲編寫(xiě)用到的基本框架,也就是游戲引擎。2、學(xué)習(xí)到了Runable接口的使用。3、一些關(guān)鍵字的使用方法。4、學(xué)習(xí)到了多線(xiàn)程的使用方法。JAVA多線(xiàn)程實(shí)現(xiàn)方式主要有三種:繼承Thread類(lèi)、實(shí)現(xiàn)Runnable接口、使用ExecutorService、Callable、Future實(shí)現(xiàn)有返回結(jié)果的多線(xiàn)程。其中前兩種方式線(xiàn)程執(zhí)行完后都沒(méi)有返回值,只有最后一種是帶返回值的。5、繼承Thread類(lèi)實(shí)現(xiàn)多線(xiàn)程

繼承Thread類(lèi)的方法盡管被我列為一種多線(xiàn)程實(shí)現(xiàn)方式,但Thread本質(zhì)上也是實(shí)現(xiàn)了Runnable接口的一個(gè)實(shí)例,它代表一個(gè)線(xiàn)程的實(shí)例,并且,啟動(dòng)線(xiàn)程的唯一方法就是通過(guò)Thread類(lèi)的start()實(shí)例方法。start()方法是一個(gè)native方法,它將啟動(dòng)一個(gè)新線(xiàn)程,并執(zhí)行run()方法。這種方式實(shí)現(xiàn)多線(xiàn)程很簡(jiǎn)單,通過(guò)自己的類(lèi)直接extendThread,并復(fù)寫(xiě)run()方法,就可以啟動(dòng)新線(xiàn)程并執(zhí)行自己定義的run()方法。例如:public

class

MyThread

extends

Thread

{

public

void

run()

{

System.out.println("MyThread.run()");

}

}

publicclassMyThreadextendsThread{publicvoidrun(){System.out.println("MyThread.run()");}}在合適的地方啟動(dòng)線(xiàn)程如下:[java]\o"viewplain"viewplain\o"copy"copy\o"print"print\o"?"?MyThread

myThread1

=

new

MyThread();

MyThread

myThread2

=

new

MyThread();

myThread1.start();

myThread2.start();

6、實(shí)現(xiàn)Runnable接口方式實(shí)現(xiàn)多線(xiàn)程

如果自己的類(lèi)已經(jīng)extends另一個(gè)類(lèi),就無(wú)法直接extendsThread,此時(shí),必須實(shí)現(xiàn)一個(gè)Runnable接口,如下:public

class

MyThread

extends

OtherClass

implements

Runnable

{

public

void

run()

{

System.out.println("MyThread.run()");

}

}

publicclassMyThreadextendsOtherClassimplementsRunnable{publicvoidrun(){System.out.println("MyThread.run()");}}為了啟動(dòng)MyThread,需要首先實(shí)例化一個(gè)Thread,并傳入自己的MyThread實(shí)例:MyThread

myThread

=

new

MyThread();

Thread

thread

=

new

Thread(myThread);

thread.start();

總結(jié)“打地鼠”游戲的基本功能已經(jīng)實(shí)現(xiàn)了,其中很多代碼之間都是很復(fù)雜的,

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論