版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
打地鼠游戲摘要:近年來,Java作為一種新的編程語言,以其簡單性、可移植性和平臺無關(guān)性等優(yōu)點,得到了廣泛地應(yīng)用,特別是Java與萬維網(wǎng)的完美結(jié)合,使其成為網(wǎng)絡(luò)編程和嵌入式編程領(lǐng)域的首選編程語言。JBuilder是Borland公司用于快速開發(fā)Java應(yīng)用的一款優(yōu)秀的集成開發(fā)環(huán)境,它以其友好的開發(fā)界面、強大的組件支持等優(yōu)點,得到廣大程序員的接受和認可。J2SE稱為Java標(biāo)準(zhǔn)版或Java平臺。J2SE提供了標(biāo)準(zhǔn)的SDK開發(fā)平臺。利用該平臺可以開發(fā)Java桌面應(yīng)用程序和低端的服務(wù)器應(yīng)用程序。也可以開發(fā)JavaApplet程序。它實際上是一系列規(guī)范的集合,由JCP組織制定相關(guān)的JavaSpecificationRequest(JSR)并發(fā)布。本游戲是使用eclipse編寫的打地鼠游戲,本游戲是實現(xiàn)地鼠的不斷閃現(xiàn)和敲擊,根據(jù)玩家的書平來計算出成績。本軟件接受了娛樂游戲的特性,用相關(guān)技術(shù)及本程序的分析和功能的具體實現(xiàn),游戲界面美觀,操作簡單,是廣大游戲的愛好者都喜歡的一款游戲。關(guān)鍵字:Eclipse;打地鼠;Java
前言人類進入21世紀,全球一體化,互聯(lián)網(wǎng)就起到重要的作用,而且隨著互聯(lián)網(wǎng)的不斷發(fā)展,信息技術(shù)逐漸發(fā)展壯大,將成為網(wǎng)絡(luò)經(jīng)濟的核心。其中計算機、網(wǎng)絡(luò)通信的發(fā)展最為迅速。在現(xiàn)今電子信息高速發(fā)展的時代,游戲已經(jīng)深入到人們的日常生活當(dāng)中,成為老少皆宜的娛樂方式。Java自問世以來,以其得天獨厚的優(yōu)勢,在IT業(yè)界掀起了研究、開發(fā)它的浪潮,顯示了“鵬程萬里”的美好前景。作為一種與底層硬件無關(guān)的、“編寫一次,到處運行”的高級語言和計算平臺,Java天生就具有將網(wǎng)絡(luò)上的各個平臺連成一體的能力,真正實現(xiàn)了“網(wǎng)絡(luò)就是計算機”的理念。以Java為代表的網(wǎng)絡(luò)的成長,改變了我們的聯(lián)系方式、生活方式、學(xué)習(xí)方式和經(jīng)營方式。它的來到使我們目睹了一場類似印刷術(shù)的重大變革。毫無疑問,它將影響人類社會的發(fā)展,這就是:Java加速人類進入網(wǎng)絡(luò)時代!Java是當(dāng)今IT產(chǎn)業(yè)和人類文明的創(chuàng)新和希望!
目錄1、設(shè)計內(nèi)容 、設(shè)計內(nèi)容概要設(shè)計的主要目的是,將游戲的需求轉(zhuǎn)化為游戲的數(shù)據(jù)結(jié)構(gòu)和系統(tǒng)結(jié)構(gòu)。通過制定相應(yīng)文檔和規(guī)范,以求在開發(fā)過程中指導(dǎo)開發(fā)人員的進行開發(fā)。并且規(guī)定好每個模塊的功能和作用。打地鼠游戲的設(shè)計內(nèi)容:首先設(shè)計幾個洞,讓洞中隨機冒出地鼠,通過鼠標(biāo)控制錘子,錘子與地鼠接觸,則加分,否則不加分,在規(guī)定的時間內(nèi),如果分值夠了,就過關(guān)了,否則失敗重來。1.1設(shè)計目的與要求(1)實驗?zāi)康模和ㄟ^編寫調(diào)試“打地鼠游戲”程序,分析了解“打地鼠游戲”的功能實現(xiàn)過程,掌握游戲設(shè)計的有關(guān)知識。(2)實驗要求:按照實驗教程的要求完成“打地鼠游戲”程序的編程和調(diào)試工作。1.2Java語言的發(fā)展Java自正式問世以來已經(jīng)歷了四年的歷程,時間雖短,發(fā)展極快。一年一度在美國舊金山召開的世界JavaOne語言開發(fā)者大會(JavaOneDeveloperConference)盛況空前正說明了這一點。四年中每年的JavaOne大會,既是了解Java最新技術(shù)動態(tài)、應(yīng)用成果和下一步發(fā)展趨勢的最好場所,又是推動下一年Java快速發(fā)展的重要動力。首屆JavaOne大會于1996年召開,各屆簡況如下:1996年5月29-31日,第一屆,出席會議者6500余人,來自工業(yè)界的超過一半。有人評價說:“這是近年計算機界最光輝的一次盛會”。工業(yè)界相當(dāng)看好Java語言,認為它的使用將會引起一場軟件革命:從軟件的設(shè)計風(fēng)格、設(shè)計方法、設(shè)計目標(biāo)到設(shè)計過程,都會產(chǎn)生徹底的變革,“甚至?xí)淖兇诵乔虻纳罘绞健薄?997年,第二屆,出席會議者10000人。Java的追隨者不斷增加,應(yīng)用開發(fā)迅速起步。1998年3月24-27日,第三屆,出席會議者14000余人(注冊人數(shù)),注冊門票售價1195美元,否則1395美元,即使如此,仍有不少人不惜工本,擠入會場。本次會議除了軟件巨頭微軟未參加會議外,幾乎所有的計算機公司都參加了。展廳內(nèi)設(shè)300多個展臺,先后舉行了90場專題討論會,每場參加的人數(shù)從千人至五六千人不等。會議的主題是:通過Java的培訓(xùn)來帶動Java軟件的開發(fā)和技術(shù)研究,從而發(fā)展生產(chǎn)力,獲取高額利潤,提高生活質(zhì)量,推動信息產(chǎn)業(yè)的進步。會議展出的內(nèi)容大致如下:Java開發(fā)工具軟件,如:JMF、JDK、SymantecVisualCafe、JavaDynamicManagementKit、JFC、JNDI、JavaStudio等;企業(yè)信息管理解決方案軟件,如:EJB(EnterpriseJavaBeans);基于Java技術(shù)的信息家電,如:機頂盒、Java電話等;個人信息綜合服務(wù)(Java戒指)、社會信息綜合查詢亭(Kiosk);電子商務(wù)軟件、智能卡、JavaCardAPI等;網(wǎng)絡(luò)計算環(huán)境下的Java服務(wù)器軟件、遠程方法調(diào)用(RMI)、基于Java技術(shù)的移動計算設(shè)備;JMS(JavaMessageService)用于出版、票據(jù)訂閱的軟件;JOS(JavaOS)、基于Java技術(shù)的NC和JavaStation。1999年6月15-18日,第四屆,出席會議者達20000人,300多家廠商參展,舉辦400多場技術(shù)講座,555名演講者慷慨陳詞,精彩紛呈。這次大會的主要特點是:Java框架結(jié)構(gòu)被梳理清晰。本次JavaOne大會上,Sun公司的一個重大舉措就是公布了Java平臺的最新架構(gòu)。重新定義的Java平臺以Java2為核心,由面向企業(yè)和服務(wù)器市場的企業(yè)版Java2(J2EE)、面向傳統(tǒng)PC客戶機市場的標(biāo)準(zhǔn)版Java2(J2SE)和面向信息電器等后PC終端設(shè)備市場的Micro版Java2(J2ME)三大部分組成。其中,J2EE包括EnterpriseJavaBeans(EJB)、JavaServerPages&JavaServlets、JavaMailAPI和JavaMassageService組成。而J2ME則是原有的PersonalJava、EmbeddedJava、JavaCard以及剛剛推出的Kjava組成。雖然新框架結(jié)構(gòu)中的內(nèi)容都是已有的,但這樣重新定義和組合,使得Java平臺的概念簡單化,從而變得易于理解,更適合于進行市場推廣。2)重點放在企業(yè)平臺隨著Internet的飛速發(fā)展,企業(yè)計算模式正摒棄C/S結(jié)構(gòu)而采用Web-Browser結(jié)構(gòu),此即瘦客戶端/胖服務(wù)器、大容量數(shù)據(jù)庫的3層或N層體系結(jié)構(gòu)。由于Java的特點,使得它在開發(fā)服務(wù)器端的應(yīng)用程序方面有著得天獨厚的優(yōu)勢,面向服務(wù)器端的J2EE為當(dāng)今逐漸流行的N層體系結(jié)構(gòu)提供了一個標(biāo)準(zhǔn)的Java計算平臺:界面一致、工具簡易、豐富、Web頁面互聯(lián)便捷,從而能大大加速和簡化各種應(yīng)用系統(tǒng)的開發(fā)。3)加速后PC時代的進程計算機的發(fā)展創(chuàng)造了Internet,但是計算機現(xiàn)在卻不是訪問Internet的唯一方式。正在出現(xiàn)的信息化、智能化的消費類電子產(chǎn)品打破了PC作為信息終端的壟斷地位,成為人類進入Internet的新門戶。信息終端的多元化預(yù)示著所謂后PC(post-PC)時代的到來。消費類的信息終端量大面廣,是典型的瘦客戶機,其本身的資源和能力不能與PC相比,但必須更加智能化,并對服務(wù)器端的管理提出了更高的要求。而Java平臺恰恰滿足了這種要求。本次大會推出的Kjava虛擬機能運行在16以上的微處理器上,占用內(nèi)存少,人們可以隨心所欲,在資源有限的設(shè)備上方便地開發(fā)出各種各樣的應(yīng)用,直接運行在不同的消費類或其它電子設(shè)備上;而Jini的出現(xiàn)為Java網(wǎng)絡(luò)連接提供了公共標(biāo)準(zhǔn),使得任何Java設(shè)備都可以連入網(wǎng)絡(luò)中被自動識別,并可充分利用網(wǎng)絡(luò)上已有的各種資源。大力推進Jini的發(fā)展是Sun公司加速后PC時代進程的一項重要策略。4)應(yīng)用系統(tǒng)異彩紛呈與上屆大會一樣,展出內(nèi)容有:應(yīng)用工具、應(yīng)用系統(tǒng)、信息家電等。特別在實時系統(tǒng)開發(fā)方面,以IBM為首開發(fā)出了應(yīng)用于工業(yè)實時環(huán)境的Java嵌入系統(tǒng),展現(xiàn)出Java在工業(yè)領(lǐng)域的廣闊應(yīng)用前景。Java語言的出現(xiàn)和發(fā)展,得到了IT業(yè)界的青睞,它像一面大旗,凝聚了世界眾多的廠商與Sun公司一道,結(jié)成了對抗微軟壟斷的聯(lián)盟。許多知名廠商紛紛購買Java許可證,目前已有90多萬個軟件開發(fā)商加入了Java陣營,1億個Java最終用戶,幾千種Java應(yīng)用軟件產(chǎn)品,1500余種Java書籍(自Java問世4年來,平均每天出版一本)。這真是IT業(yè)界的盛事!IBM公司提出“高舉Java大旗,全力以赴”的口號,它在全世界的11個國家有28個實驗室,集聚了2500余名技術(shù)人員,芯片巨人Intel提出“抓住時機,占領(lǐng)Java陣地”!決心使Intel芯片系統(tǒng)成為開發(fā)Java應(yīng)用運行的最佳平臺;Novell則宣稱“Java是Novell的未來,未來是服務(wù)器端Java的市場”;作為Java發(fā)明者的Sun公司,堅持“保衛(wèi)Java大旗,發(fā)展Java之路”的方針。此外,HP、Oracle、Apple、Sybase、Netscape、Informix、3Com、Motorola等公司均是Sun的堅強同盟。在我國,Java的引進與開發(fā)起步早,發(fā)展水平基本與世界同步。目前,Sun公司已在中國建成了由5個授權(quán)中心、20多個Internet/IntarnetJava解決方案中心和10所Java大學(xué)、若干培訓(xùn)中心組成的三級結(jié)構(gòu)。全面推動Java在中國的普及、應(yīng)用、研究、開發(fā),培養(yǎng)了數(shù)以十萬計的Java開發(fā)人員。此外,Sun還牽頭成立了中外軟件廠商的開發(fā)聯(lián)盟。在中國,Java的開發(fā)可以說是“人才濟濟,成果累累”。如清華大學(xué)王克宏教授帶領(lǐng)的課題組面向全國,自96年開始舉辦了多期Java培訓(xùn)班和講座,開設(shè)了數(shù)期本科生、研究生Java課程,出版了“Java系列叢書”10余冊,承擔(dān)了國家“九五”攻關(guān)項目“基于Java技術(shù)的交互式遠程教學(xué)系統(tǒng)”,并與日本就Java開發(fā)進行了國際合作,成績斐然;東大阿派下屬的寶鋼東軟軟件技術(shù)研究中心是國內(nèi)是首屈一指的Java研發(fā)骨干企業(yè),該中心從95年起就開始了Java的研發(fā),目前,已掌握了PersonalJava的核心移植技術(shù),并成功地將JVM移植到汽車導(dǎo)航平臺。此外,他們還開發(fā)出支持Jini協(xié)議的即插即用網(wǎng)絡(luò)打印機軟件,以及一套Jini信息家電網(wǎng)絡(luò)的可視化演示環(huán)境,完成了基于JavaBeans的組件化軟件開發(fā)及運行支持環(huán)境等多項成果;在臺灣,22家知名計算機公司成立了“Java聯(lián)盟”,并在臺北建立了“Java開發(fā)中心”,新竹建立了“Java語言實驗室”;在香港,舉行了全島Java杯比賽,掀起了學(xué)習(xí)Java的熱潮。Java的浪潮洶涌澎湃,席卷全球!
2、軟件技術(shù)與特點2.1Java技術(shù)2.1.1Java嵌入技術(shù)Java發(fā)展至今日,已不僅僅是一種編程語言,實際上已形成了一門技術(shù)。其內(nèi)容包括:1)Java軟件包:Java語言及其編程技術(shù)、JavaOS、Java開發(fā)環(huán)境與工具、Java語言的各種軟件包、數(shù)據(jù)庫接口JDBC等。2)Java虛擬機及其規(guī)范3)Java嵌入技術(shù)(Java芯片)已推出的有Java戒指、Java卡等。1999年8月2日,Sun公司宣布名為MAJC的專門為Java語言設(shè)計的的芯片優(yōu)化研制成功,欲與Intel試比高低。該芯片在設(shè)計時采用了模塊式高性能計算引擎,實質(zhì)為一種芯片級并行處理機,能以更有效的方式分解計算任務(wù),特別適合處理多媒體數(shù)據(jù)。Sun公司希望通過MAJC芯片的發(fā)布催生出一個基于Java語言的微處理器家族,與Intel公司競爭。設(shè)想中的Java處理器將應(yīng)用在從低價消費電子產(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ò)中被自動識別,并可充分利用網(wǎng)絡(luò)上已有的各種資源。它把網(wǎng)絡(luò)上的各類設(shè)備(包括消費類電子設(shè)備如移動電話、PDA、DTV、HPC、NC、游戲機、電冰箱、智能卡等等)和各種軟件組合成一個單一、動態(tài)的分布式系統(tǒng),使網(wǎng)絡(luò)更易于操縱、易于管理,具有更高的可配置性。Jini將使網(wǎng)絡(luò)具有自發(fā)性,它的出現(xiàn)大大擴展了“計算”和“計算機”的含義,極大地簡化了網(wǎng)絡(luò)操作,對家庭用戶來說,使用網(wǎng)上設(shè)備即插即用,就像使用電話一樣方便。Java和Jini不僅可以不依賴于Windows為代表的操作系統(tǒng),而且引導(dǎo)著信息產(chǎn)業(yè)的潮流,使Sun公司能在未來的、非PC類電子產(chǎn)品的數(shù)字化市場中強占制高點。2.2Java語言的主要特點Java語言是一種適用于網(wǎng)絡(luò)編程的語言,它的基本結(jié)構(gòu)與C++極為相似,但卻簡單得多。它集成了其它一些語言的特點和優(yōu)勢,又避開了它們的不足之處。它的主要特點如下:2.2.1簡單性Java與C++相比,不再支持運算符重載、多級繼承及廣泛的自動強制等易混淆和較少使用的特性,而增加了內(nèi)存空間自動垃圾收集的功能,復(fù)雜特性的省略和實用功能的增加使得開發(fā)變得簡單而可靠。簡單化的另一個方面是Java的系統(tǒng)非常小,其基本解釋和類支持部分只占40KB,附加的基本標(biāo)準(zhǔn)庫和線程支持也只需增加175KB。因此,Java應(yīng)用軟件能在相當(dāng)小的系統(tǒng)之上獨立工作。2.2.2平臺獨立性這是Java最吸引人的地方。由于它采用先編譯成中間碼(字節(jié)碼),然后裝載與校驗,再解釋成不同的機器碼來執(zhí)行,即“Java虛擬機”的思想,“屏蔽”了具體的“平臺環(huán)境”特性要求,使得只要能支持Java虛擬機,就可運行各種Java程序。2.2.3面向?qū)ο竺嫦驅(qū)ο螅∣-O)的技術(shù)是近年來軟件開發(fā)中用得最為普遍的程序設(shè)計方法,它通過把客觀事物進行分類組合、參數(shù)封裝、用成員變量來描述對象的性質(zhì)、狀態(tài),而用方法(成員函數(shù))來實現(xiàn)其行為和功能。O-O技術(shù)具有繼承性、封裝性、多態(tài)性等眾多特點,Java在保留這些優(yōu)點的基礎(chǔ)上,又具有動態(tài)聯(lián)編的特性,更能發(fā)揮出面向?qū)ο蟮膬?yōu)勢。2.2.4多線程多線程機制使應(yīng)用程序能并行執(zhí)行,Java有一套成熟的同步原語,保證了對共享數(shù)據(jù)的正確操作。通過使用多線程,程序設(shè)計者可以分別用不同的線程完成特定的行為,而不需要采用全局的事件循環(huán)機制,這樣就很容易實現(xiàn)網(wǎng)絡(luò)上實時的交互行為。2.2.5安全性Java有建立在公共密鑰技術(shù)基礎(chǔ)上的確認技術(shù)。指示器語義的改變將使應(yīng)用程序不能再去訪問以前的數(shù)據(jù)結(jié)構(gòu)或是私有數(shù)據(jù),大多數(shù)病毒也就無法破壞數(shù)據(jù)。因而,用Java可以構(gòu)造出無病毒、安全的系統(tǒng)。Java語言除上述主要特點外,還有高性能、分布性、強大性、解釋性、可移植性等,此處不再贅述。
3、設(shè)計過程3.1設(shè)計方案的論證Eclipse是當(dāng)今最流行的Java開發(fā)TDE之一,它是一個開發(fā)源代碼、基于Java的課擴展開發(fā)平臺,因為它具有良好的可擴展性。J2ME開發(fā)可以繼承在Eclipse中完成,利用Eclipse界面友好的優(yōu)勢,提高J2ME應(yīng)用程序的開發(fā)效率。Eclipse框架的這種靈活性來源于其擴展點。它們是在XML中定義的已知接口,并充當(dāng)插件的耦合點。擴展點的范圍包括從用在常規(guī)表述過濾器中的簡單字符串,到一個Java類的描述。任何Eclipse插件定義的擴展點都能夠被其插件使用,反之,任何Eclipse插件也可以組從其他插件定義的擴展點。除了解由擴展點定義的接口外,插件不知道他們通過擴展點提供的服務(wù)將如何被使用。Eclipse的最大特點是它能接受由Java開發(fā)者自己編寫的開放源代碼插件,這類似于微軟公司的VisualStudio和Sun微系統(tǒng)公司的NetBeans平臺。Eclipse為工具開發(fā)商提供了更好的靈活性,使他門能更好的控制自己的軟件技術(shù)。3.2概要設(shè)計本程序工有1個Main源文件:Main:該方法負責(zé)了游戲的全部工作,主要有游戲的邏輯處理和UI的顯示。該文件用到的函數(shù)如下:MyCanvas:負責(zé)游戲中用到的變量初始化工作,設(shè)置游戲的初始化狀態(tài),如線程的初始化。Paint:負責(zé)游戲界面的繪制和命令菜單的添加。CommandAction:聲明執(zhí)行操作的接口。有java接口或者抽象類來實現(xiàn)。Run:該函數(shù)主要負責(zé)處理線程的工作,游戲狀態(tài)的切換和各種變量的賦值。Runnable接口:Runnable接口應(yīng)該由那些打算通過某一線程執(zhí)行其實例的類來實現(xiàn)。類必須定義一個稱為run的無參數(shù)方法。此外,Runnable為非Thread子類的類提供了一種激活方式。通過實例化某個Thread實例并將自身作為運行目標(biāo),就可以運行實現(xiàn)Runnable的類而無需創(chuàng)建Thread的子類。大多數(shù)情況下,如果只想重寫run()方法,而不重寫其他Thread方法,那么應(yīng)使用Runnable接口。3.3軟件框架流程圖首先,進入游戲界面,顯示出游戲的圖形,使得老鼠在洞中隨機閃爍出現(xiàn);然后單擊鼠標(biāo)的click事件,點擊老鼠得到相應(yīng)的分數(shù),最后退出游戲。如圖1所示:進入游戲界面進入游戲界面顯示游戲的圖形點擊老鼠,得到相應(yīng)的分數(shù)退出游戲使得老鼠隨機閃爍單擊鼠標(biāo)的單擊鼠標(biāo)的click事件圖1項目流程圖3.4界面設(shè)計圖經(jīng)過進一步的分析設(shè)計,得到的打地鼠游戲界面圖,如圖2所示: privatestaticfinallongserialVersionUID=1L; privateintnum=0;//設(shè)置全局變量 privateJLabel[]mouses; privateImageIconimgMouse; privateJLabelback; privateJLabeljtf; PlayMouse(){//寫一個構(gòu)造器對成員變量初始化 this.setResizable(true);//是否能夠手動的修改大小 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"));//對老鼠進行初始化 mouses=newJLabel[9];//對數(shù)組進行初始化 for(inti=0;i<9;i++){//寫一個for循環(huán) mouses[i]=newJLabel(); mouses[i].setSize(imgMouse.getIconWidth(),imgMouse.getIconHeight());//設(shè)置老鼠的大小 //mouses[i].setIcon(imgMouse); mouses[i].addMouseListener(newMouseAdapter(){//通過匿名內(nèi)部類添加一個監(jiān)聽器,可以監(jiān)聽到所有事件圖2游戲界面圖經(jīng)過進一步的分析設(shè)計,得到的打地鼠游戲加分功能,如圖3所示:publicvoidmouseClicked(MouseEvente){//加分功能 Objectobject=e.getSource();//點擊事件源默認的是object if(objectinstanceofJLabel){//判斷圖片正好出現(xiàn) JLabellabel=(JLabel)object; if(label.getIcon()!=null){ num++; jtf.setText("您的得分是:"+num+"分");//每次顯示分數(shù)都會變化 } label.setIcon(null);//如果點完圖片就消失 } }圖3游戲加分圖3.5軟件項目核心程序本次項目中我主要負責(zé)的是運用了多線程的技術(shù),代碼如下:publicstaticvoidmain(String[]args){ PlayMoused1=newPlayMouse();//調(diào)用構(gòu)造器 Threadt1=newThread(d1);//產(chǎn)生一個線程,讓他運行起來 t1.start(); } @Override publicvoidrun(){//老鼠閃爍出現(xiàn)多線程 while(true){ try{ Thread.sleep(500); intindex=(int)(Math.random()*9); if(mouses[index].getIcon()==null){//圖片有沒有立刻被點中 mouses[index].setIcon(imgMouse);//如果沒點中就有一定的反應(yīng)時間 Thread.sleep(800);//反應(yīng)時間,可以根據(jù)難度的不同設(shè)置不同的長度 if(mouses[index].isShowing()){//如果在反應(yīng)時間仍然沒有點就設(shè)置為空 mouses[index].setIcon(null); } } }catch(InterruptedExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } } }}3.6本次程序中學(xué)到的知識本次課程設(shè)計我從中學(xué)習(xí)到了Java的編程思想,主要學(xué)到以下內(nèi)容:1、游戲編寫用到的基本框架,也就是游戲引擎。2、學(xué)習(xí)到了Runable接口的使用。3、一些關(guān)鍵字的使用方法。4、學(xué)習(xí)到了多線程的使用方法。JAVA多線程實現(xiàn)方式主要有三種:繼承Thread類、實現(xiàn)Runnable接口、使用ExecutorService、Callable、Future實現(xiàn)有返回結(jié)果的多線程。其中前兩種方式線程執(zhí)行完后都沒有返回值,只有最后一種是帶返回值的。5、繼承Thread類實現(xiàn)多線程
繼承Thread類的方法盡管被我列為一種多線程實現(xiàn)方式,但Thread本質(zhì)上也是實現(xiàn)了Runnable接口的一個實例,它代表一個線程的實例,并且,啟動線程的唯一方法就是通過Thread類的start()實例方法。start()方法是一個native方法,它將啟動一個新線程,并執(zhí)行run()方法。這種方式實現(xiàn)多線程很簡單,通過自己的類直接extendThread,并復(fù)寫run()方法,就可以啟動新線程并執(zhí)行自己定義的run()方法。例如:public
class
MyThread
extends
Thread
{
public
void
run()
{
System.out.println("MyThread.run()");
}
}
publicclassMyThreadextendsThread{publicvoidrun(){System.out.println("MyThread.run()");}}在合適的地方啟動線程如下:[java]\o"viewplain"viewplain\o"copy"copy\o"print"print\o"?"?MyThread
myThread1
=
new
MyThread();
MyThread
myThread2
=
new
MyThread();
myThread1.start();
myThread2.start();
6、實現(xiàn)Runnable接口方式實現(xiàn)多線程
如果自己的類已經(jīng)extends另一個類,就無法直接extendsThread,此時,必須實現(xiàn)一個Runnable接口,如下:public
class
MyThread
extends
OtherClass
implements
Runnable
{
public
void
run()
{
System.out.println("MyThread.run()");
}
}
publicclassMyThreadextendsOtherClassimplementsRunnable{publicvoidrun(){System.out.println("MyThread.run()");}}為了啟動MyThread,需要首先實例化一個Thread,并傳入自己的MyThread實例:MyThread
myThread
=
new
MyThread();
Thread
thread
=
new
Thread(myThread);
thread.start();
總結(jié)“打地鼠”游戲的基本功能已經(jīng)實現(xiàn)了,其中很多代碼之間都是很復(fù)雜的,
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度綠色建筑施工現(xiàn)場環(huán)保施工監(jiān)管合同3篇
- 2024年度高端摩托車租賃服務(wù)合作協(xié)議2篇
- 2024年武漢地區(qū)記賬代理業(yè)務(wù)協(xié)議樣本版B版
- 2024年度建筑工程施工合同綠色施工與節(jié)能要求3篇
- 漯河醫(yī)學(xué)高等??茖W(xué)?!恫牧吓c工藝(陶瓷)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年度水利工程圍板定制與水利設(shè)施保護協(xié)議3篇
- 2024年標(biāo)準(zhǔn)個人借款與連帶責(zé)任擔(dān)保協(xié)議版B版
- 2024年版智能交通系統(tǒng)研發(fā)與實施合同
- 2024年度實習(xí)培訓(xùn)生崗位實習(xí)協(xié)議書模板集錦2篇
- 2024年度室內(nèi)木門行業(yè)聯(lián)盟合作發(fā)展合同3篇
- 五年級上冊《勞動與技術(shù)》期中期末復(fù)習(xí)測試卷(附答案)
- 了解世界各大宗教的信仰
- 一例縫線傷口延遲愈合患者的個案護理體會
- 自然資源數(shù)據(jù)平臺建設(shè)需求
- (完整)中小學(xué)教師職稱評定答辯題
- 電工高級工理論題庫(帶答案)
- 沈從文先生在西南聯(lián)大全文
- 訴訟前和解申請書
- 自然辯證法概論-第4章(2018新大綱)
- 市場營銷(第2版) 課件 王永貴 第1、2章-市場與市場營銷概述及發(fā)展、營銷環(huán)境與市場感知
- 國有集團公司中層及員工履職追責(zé)問責(zé)處理辦法模版
評論
0/150
提交評論