版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 打地鼠游戲</b></p><p> 摘要:近年來,Java作為一種新的編程語言,以其簡單性、可移植性和平臺無關性等優(yōu)點,得到了廣泛地應用,特別是Java與萬維網(wǎng)的完美結合,使其成為網(wǎng)絡編程和嵌入式編程領域的首選編程語言。JBuilder是Borland公司用于快速開發(fā)Java應用的一款優(yōu)秀的集成開發(fā)環(huán)境,它以其友好的開發(fā)界面、強大的組件支持等優(yōu)點,得到廣大程
2、序員的接受和認可。</p><p> J2SE稱為Java標準版或Java平臺。J2SE提供了標準的SDK開發(fā)平臺。利用該平臺可以開發(fā)Java桌面應用程序和低端的服務器應用程序。也可以開發(fā)JavaApplet程序。它實際上是一系列規(guī)范的集合,由JCP組織制定相關的Java Specification Request(JSR)并發(fā)布。</p><p> 本游戲是使用eclipse編寫的打
3、地鼠游戲,本游戲是實現(xiàn)地鼠的不斷閃現(xiàn)和敲擊,根據(jù)玩家的書平來計算出成績。</p><p> 本軟件接受了娛樂游戲的特性,用相關技術及本程序的分析和功能的具體實現(xiàn),游戲界面美觀,操作簡單,是廣大游戲的愛好者都喜歡的一款游戲。</p><p> 關鍵字:Eclipse ;打地鼠;Java</p><p><b> 前言</b></p&g
4、t;<p> 人類進入21世紀,全球一體化,互聯(lián)網(wǎng)就起到重要的作用,而且隨著互聯(lián)網(wǎng)的不斷發(fā)展,信息技術逐漸發(fā)展壯大,將成為網(wǎng)絡經(jīng)濟的核心。其中計算機、網(wǎng)絡通信的發(fā)展最為迅速。在現(xiàn)今電子信息高速發(fā)展的時代,游戲已經(jīng)深入到人們的日常生活當中,成為老少皆宜的娛樂方式。</p><p> Java自問世以來,以其得天獨厚的優(yōu)勢,在IT業(yè)界掀起了研究、開發(fā)它的浪潮,顯示了“鵬程萬里”的美好前景。作為一種與
5、底層硬件無關的、“編寫一次,到處運行”的高級語言和計算平臺,Java天生就具有將網(wǎng)絡上的各個平臺連成一體的能力,真正實現(xiàn)了“網(wǎng)絡就是計算機”的理念。以Java為代表的網(wǎng)絡的成長,改變了我們的聯(lián)系方式、生活方式、學習方式和經(jīng)營方式。它的來到使我們目睹了一場類似印刷術的重大變革。毫無疑問,它將影響人類社會的發(fā)展,這就是:Java加速人類進入網(wǎng)絡時代!</p><p> Java是當今IT產(chǎn)業(yè)和人類文明的創(chuàng)新和希望!
6、</p><p><b> 1、設計內(nèi)容</b></p><p> 概要設計的主要目的是,將游戲的需求轉化為游戲的數(shù)據(jù)結構和系統(tǒng)結構。通過制定相應文檔和規(guī)范,以求在開發(fā)過程中指導開發(fā)人員的進行開發(fā)。并且規(guī)定好每個模塊的功能和作用。</p><p> 打地鼠游戲的設計內(nèi)容:首先設計幾個洞,讓洞中隨機冒出地鼠,通過鼠標控制錘子,錘子與地鼠接觸
7、,則加分,否則不加分,在規(guī)定的時間內(nèi),如果分值夠了,就過關了,否則失敗重來。</p><p> 1.1 設計目的與要求</p><p> ?。?)實驗目的:通過編寫調(diào)試“打地鼠游戲”程序,分析了解“打地鼠游戲”的功能實現(xiàn)過程,掌握游戲設計的有關知識。</p><p> ?。?)實驗要求:按照實驗教程的要求完成“打地鼠游戲”程序的編程和調(diào)試工作。</p>
8、;<p> 1.2 Java語言的發(fā)展</p><p> Java自正式問世以來已經(jīng)歷了四年的歷程,時間雖短,發(fā)展極快。一年一度在美國舊金山召開的世界Java One語言開發(fā)者大會(Java One Developer Conference)盛況空前正說明了這一點。四年中每年的Java One大會,既是了解Java最新技術動態(tài)、應用成果和下一步發(fā)展趨勢的最好場所,又是推動下一年Java快速發(fā)展
9、的重要動力。首屆Java One大會于1996年召開,各屆簡況如下: </p><p> 1996年5月29-31日,第一屆,出席會議者6500余人,來自工業(yè)界的超過一半。有人評價說:“這是近年計算機界最光輝的一次盛會”。工業(yè)界相當看好Java語言,認為它的使用將會引起一場軟件革命:從軟件的設計風格、設計方法、設計目標到設計過程,都會產(chǎn)生徹底的變革,“甚至會改變此星球的生活方式”。</p><
10、;p> 1997年,第二屆,出席會議者10000人。Java的追隨者不斷增加,應用開發(fā)迅速起步。</p><p> 1998年3月24-27日,第三屆,出席會議者14000余人(注冊人數(shù)),注冊門票售價1195美元,否則1395美元,即使如此,仍有不少人不惜工本,擠入會場。本次會議除了軟件巨頭微軟未參加會議外,幾乎所有的計算機公司都參加了。展廳內(nèi)設300多個展臺,先后舉行了90場專題討論會,每場參加的人
11、數(shù)從千人至五六千人不等。會議的主題是:通過Java的培訓來帶動Java軟件的開發(fā)和技術研究,從而發(fā)展生產(chǎn)力,獲取高額利潤,提高生活質(zhì)量,推動信息產(chǎn)業(yè)的進步。會議展出的內(nèi)容大致如下:</p><p> Java開發(fā)工具軟件,如:JMF、JDK、Symantec Visual Cafe、Java Dynamic Management Kit、JFC、JNDI、Java Studio 等; 企業(yè)信息管理解決方案軟件,
12、如:EJB(Enterprise JavaBeans); 基于Java技術的信息家電,如:機頂盒、Java電話等; 個人信息綜合服務(Java戒指)、社會信息綜合查詢亭(Kiosk); 電子商務軟件、智能卡、Java Card API 等; 網(wǎng)絡計算環(huán)境下的Java服務器軟件、遠程方法調(diào)用(RMI)、基于Java技術的移動計算設備; </p><p> JMS(Java Message Service)用于出版
13、、票據(jù)訂閱的軟件; JOS(Java OS)、基于Java技術的NC和Java Station。</p><p> 1999年6月15-18日,第四屆,出席會議者達20000人,300多家廠商參展,舉辦400多場技術講座,555名演講者慷慨陳詞,精彩紛呈。這次大會的主要特點是:Java框架結構被梳理清晰。 </p><p> 本次JavaOne大會上,Sun公司的一個重大舉措就是公布了
14、Java平臺的最新架構。重新定義的Java平臺以Java 2為核心,由面向企業(yè)和服務器市場的企業(yè)版Java 2(J2EE)、面向傳統(tǒng)PC客戶機市場的標準版Java 2(J2SE)和面向信息電器等后PC終端設備市場的Micro版Java 2(J2ME)三大部分組成。其中,J2EE包括Enterprise JavaBeans(EJB)、Java Server Pages & Java Servlets、Java Mail API和J
15、ava Massage Service組成。而J2ME則是原有的Personal Java、EmbeddedJava、JavaCard以及剛剛推出的Kjava組成。雖然新框架結構中的內(nèi)容都是已有的,但這樣重新定義和組合,使得Java平臺的概念簡單化,從而變得易于理解,更適合于進行市場推廣。</p><p> 2)重點放在企業(yè)平臺</p><p> 隨著Internet的飛速發(fā)展,企業(yè)計
16、算模式正摒棄C/S結構而采用Web-Browser結構,此即瘦客戶端/胖服務器、大容量數(shù)據(jù)庫的3層或N層體系結構。由于Java的特點,使得它在開發(fā)服務器端的應用程序方面有著得天獨厚的優(yōu)勢,面向服務器端的J2EE為當今逐漸流行的N層體系結構提供了一個標準的Java計算平臺:界面一致、工具簡易、豐富、Web頁面互聯(lián)便捷,從而能大大加速和簡化各種應用系統(tǒng)的開發(fā)。</p><p> 3) 加速后PC時代的進程</
17、p><p> 計算機的發(fā)展創(chuàng)造了Internet,但是計算機現(xiàn)在卻不是訪問Internet的唯一方式。正在出現(xiàn)的信息化、智能化的消費類電子產(chǎn)品打破了PC作為信息終端的壟斷地位,成為人類進入Internet的新門戶。信息終端的多元化預示著所謂后PC(post-PC)時代的到來。消費類的信息終端量大面廣,是典型的瘦客戶機,其本身的資源和能力不能與PC相比,但必須更加智能化,并對服務器端的管理提出了更高的要求。而Java
18、平臺恰恰滿足了這種要求。本次大會推出的Kjava虛擬機能運行在16以上的微處理器上,占用內(nèi)存少,人們可以隨心所欲,在資源有限的設備上方便地開發(fā)出各種各樣的應用,直接運行在不同的消費類或其它電子設備上;而Jini的出現(xiàn)為Java網(wǎng)絡連接提供了公共標準,使得任何Java設備都可以連入網(wǎng)絡中被自動識別,并可充分利用網(wǎng)絡上已有的各種資源。大力推進Jini的發(fā)展是Sun公司加速后PC時代進程的一項重要策略。</p><p>
19、; 4)應用系統(tǒng)異彩紛呈</p><p> 與上屆大會一樣,展出內(nèi)容有:應用工具、應用系統(tǒng)、信息家電等。特別在實時系統(tǒng)開發(fā)方面,以IBM為首開發(fā)出了應用于工業(yè)實時環(huán)境的Java嵌入系統(tǒng),展現(xiàn)出Java在工業(yè)領域的廣闊應用前景。</p><p> Java語言的出現(xiàn)和發(fā)展,得到了IT業(yè)界的青睞,它像一面大旗,凝聚了世界眾多的廠商與Sun公司一道,結成了對抗微軟壟斷的聯(lián)盟。許多知名廠商紛
20、紛購買Java許可證,目前已有90多萬個軟件開發(fā)商加入了Java陣營,1億個Java最終用戶,幾千種Java應用軟件產(chǎn)品,1500余種Java書籍(自Java問世4年來,平均每天出版一本)。這真是IT業(yè)界的盛事!</p><p> IBM公司提出“高舉Java大旗,全力以赴”的口號,它在全世界的11個國家有28個實驗室,集聚了2500余名技術人員,芯片巨人Intel提出“抓住時機,占領Java陣地”!決心使In
21、tel芯片系統(tǒng)成為開發(fā)Java應用運行的最佳平臺;Novell則宣稱“Java是Novell的未來,未來是服務器端Java的市場”;作為Java發(fā)明者的Sun公司,堅持“保衛(wèi)Java大旗,發(fā)展Java之路”的方針。此外,HP、Oracle、Apple、Sybase、Netscape、Informix、3Com、Motorola等公司均是Sun的堅強同盟。 </p><p> 在我國,Java的引進與開發(fā)起步早,
22、發(fā)展水平基本與世界同步。目前,Sun公司已在中國建成了由5個授權中心、20多個Internet/Intarnet Java解決方案中心和10所Java大學、若干培訓中心組成的三級結構。全面推動Java在中國的普及、應用、研究、開發(fā),培養(yǎng)了數(shù)以十萬計的Java開發(fā)人員。此外,Sun還牽頭成立了中外軟件廠商的開發(fā)聯(lián)盟。</p><p> 在中國,Java的開發(fā)可以說是“人才濟濟,成果累累”。如清華大學王克宏教授帶領
23、的課題組面向全國,自96年開始舉辦了多期Java培訓班和講座,開設了數(shù)期本科生、研究生Java課程,出版了“Java系列叢書”10余冊 ,承擔了國家“九五”攻關項目“基于Java技術的交互式遠程教學系統(tǒng)”,并與日本就Java開發(fā)進行了國際合作,成績斐然;東大阿派下屬的寶鋼東軟軟件技術研究中心是國內(nèi)是首屈一指的Java研發(fā)骨干企業(yè),該中心從95年起就開始了Java的研發(fā),目前,已掌握了Personal Java的核心移植技術,并成功地將J
24、VM移植到汽車導航平臺。此外,他們還開發(fā)出支持Jini協(xié)議的即插即用網(wǎng)絡打印機軟件,以及一套Jini信息家電網(wǎng)絡的可視化演示環(huán)境,完成了基于JavaBeans的組件化軟件開發(fā)及運行支持環(huán)境等多項成果;在臺灣,22家知名計算機公司成立了“Java聯(lián)盟”,并在臺北建立了“Java開發(fā)中心”,新竹建立了“Java語言實驗室”;在香港,舉行了全島Java杯比賽,掀起了學習Java的熱潮 。Java的浪潮洶涌澎湃,席卷全球!</p>
25、<p><b> 2、軟件技術與特點</b></p><p> 2.1 Java技術</p><p> 2.1.1 Java嵌入技術</p><p> Java發(fā)展至今日,已不僅僅是一種編程語言,實際上已形成了一門技術。其內(nèi)容包括:1)Java軟件包:Java語言及其編程技術、JavaOS、Java開發(fā)環(huán)境與工具、Jav
26、a語言的各種軟件包、數(shù)據(jù)庫接口JDBC等。2)Java虛擬機及其規(guī)范3) Java嵌入技術(Java芯片)已推出的有Java戒指、Java卡等。</p><p> 1999年8月2日,Sun公司宣布名為MAJC的專門為Java語言設計的的芯片優(yōu)化研制成功,欲與Intel試比高低。該芯片在設計時采用了模塊式高性能計算引擎,實質(zhì)為一種芯片級并行處理機,能以更有效的方式分解計算任務,特別適合處理多媒體數(shù)據(jù)。Sun公司
27、希望通過MAJC芯片的發(fā)布催生出一個基于Java語言的微處理器家族,與Intel公司競爭。設想中的Java處理器將應用在從低價消費電子產(chǎn)品到高端因特網(wǎng)服務器領域。</p><p> 2.1.2 Jini技術</p><p> 1999年初正式發(fā)布后,立刻得到業(yè)界的廣泛支持。Jini的出現(xiàn)為Java網(wǎng)絡連接提供了公共標準,使得任何Java設備都可以連入網(wǎng)絡中被自動識別,并可充分利用網(wǎng)絡
28、上已有的各種資源。它把網(wǎng)絡上的各類設備(包括消費類電子設備如移動電話、PDA、DTV、HPC、NC、游戲機、電冰箱、智能卡等等)和各種軟件組合成一個單一、動態(tài)的分布式系統(tǒng),使網(wǎng)絡更易于操縱、易于管理,具有更高的可配置性。Jini將使網(wǎng)絡具有自發(fā)性,它的出現(xiàn)大大擴展了“計算”和“計算機”的含義,極大地簡化了網(wǎng)絡操作,對家庭用戶來說,使用網(wǎng)上設備即插即用,就像使用電話一樣方便。Java和Jini 不僅可以不依賴于Windows為代表的操作系
29、統(tǒng),而且引導著信息產(chǎn)業(yè)的潮流,使Sun公司能在未來的、非PC類電子產(chǎn)品的數(shù)字化市場中強占制高點。</p><p> 2.2 Java語言的主要特點</p><p> Java語言是一種適用于網(wǎng)絡編程的語言,它的基本結構與C++極為相似,但卻簡單得多。它集成了其它一些語言的特點和優(yōu)勢,又避開了它們的不足之處。它的主要特點如下:</p><p><b>
30、 2.2.1 簡單性</b></p><p> Java與C++相比,不再支持運算符重載、多級繼承及廣泛的自動強制等易混淆和較少使用的特性,而增加了內(nèi)存空間自動垃圾收集的功能,復雜特性的省略和實用功能的增加使得開發(fā)變得簡單而可靠。</p><p> 簡單化的另一個方面是Java的系統(tǒng)非常小,其基本解釋和類支持部分只占40KB,附加的基本標準庫和線程支持也只需增加175KB
31、。因此,Java應用軟件能在相當小的系統(tǒng)之上獨立工作。</p><p> 2.2.2 平臺獨立性</p><p> 這是Java最吸引人的地方。由于它采用先編譯成中間碼(字節(jié)碼),然后裝載與校驗,再解釋成不同的機器碼來執(zhí)行,即“Java虛擬機”的思想,“屏蔽”了具體的“平臺環(huán)境”特性要求,使得只要能支持Java虛擬機,就可運行各種Java程序。</p><p>
32、 2.2.3 面向?qū)ο?lt;/p><p> 面向?qū)ο螅∣-O)的技術是近年來軟件開發(fā)中用得最為普遍的程序設計方法,它通過把客觀事物進行分類組合、參數(shù)封裝、用成員變量來描述對象的性質(zhì)、狀態(tài),而用方法(成員函數(shù))來實現(xiàn)其行為和功能。O-O技術具有繼承性、封裝性、多態(tài)性等眾多特點,Java在保留這些優(yōu)點的基礎上,又具有動態(tài)聯(lián)編的特性,更能發(fā)揮出面向?qū)ο蟮膬?yōu)勢。</p><p><b>
33、; 2.2.4 多線程</b></p><p> 多線程機制使應用程序能并行執(zhí)行,Java有一套成熟的同步原語,保證了對共享數(shù)據(jù)的正確操作。通過使用多線程,程序設計者可以分別用不同的線程完成特定的行為,而不需要采用全局的事件循環(huán)機制,這樣就很容易實現(xiàn)網(wǎng)絡上實時的交互行為。</p><p><b> 2.2.5 安全性</b></p>&
34、lt;p> Java有建立在公共密鑰技術基礎上的確認技術。指示器語義的改變將使應用程序不能再去訪問以前的數(shù)據(jù)結構或是私有數(shù)據(jù),大多數(shù)病毒也就無法破壞數(shù)據(jù)。因而,用Java可以構造出無病毒、安全的系統(tǒng)。</p><p> Java語言除上述主要特點外,還有高性能、分布性、強大性、解釋性、可移植性等,此處不再贅述。</p><p><b> 3、設計過程</b>
35、;</p><p> 3.1 設計方案的論證</p><p> Eclipse是當今最流行的Java開發(fā)TDE之一,它是一個開發(fā)源代碼、基于Java的課擴展開發(fā)平臺,因為它具有良好的可擴展性。J2ME開發(fā)可以繼承在Eclipse中完成,利用Eclipse界面友好的優(yōu)勢,提高J2ME應用程序的開發(fā)效率。</p><p> Eclipse框架的這種靈活性來源于其擴
36、展點。它們是在XML中定義的已知接口,并充當插件的耦合點。擴展點的范圍包括從用在常規(guī)表述過濾器中的簡單字符串,到一個Java類的描述。任何Eclipse插件定義的擴展點都能夠被其插件使用,反之,任何Eclipse插件也可以組從其他插件定義的擴展點。除了解由擴展點定義的接口外,插件不知道他們通過擴展點提供的服務將如何被使用。</p><p> Eclipse的最大特點是它能接受由Java開發(fā)者自己編寫的開放源代碼
37、插件,這類似于微軟公司的Visual Studio和Sun 微系統(tǒng)公司的NetBeans平臺。Eclipse為工具開發(fā)商提供了更好的靈活性,使他門能更好的控制自己的軟件技術。</p><p><b> 3.2 概要設計</b></p><p> 本程序工有1個Main源文件:</p><p> Main:該方法負責了游戲的全部工作,主要有
38、游戲的邏輯處理和UI的顯示。</p><p> 該文件用到的函數(shù)如下:</p><p> MyCanvas:負責游戲中用到的變量初始化工作,設置游戲的初始化狀態(tài),如線程的初始化。</p><p> Paint:負責游戲界面的繪制和命令菜單的添加。</p><p> CommandAction:聲明執(zhí)行操作的接口。有java接口或者抽象
39、類來實現(xiàn)。</p><p> Run:該函數(shù)主要負責處理線程的工作,游戲狀態(tài)的切換和各種變量的賦值。</p><p> Runnable接口:Runnable 接口應該由那些打算通過某一線程執(zhí)行其實例的類來實現(xiàn)。類必須定義一個稱為 run 的無參數(shù)方法。 此外,Runnable 為非 Thread 子類的類提供了一種激活方式。通過實例化某個 Thread 實例并將自身作為運行目標,就可
40、以運行實現(xiàn) Runnable 的類而無需創(chuàng)建 Thread 的子類。大多數(shù)情況下,如果只想重寫 run() 方法,而不重寫其他 Thread 方法,那么應使用 Runnable 接口。</p><p> 3.3 軟件框架流程圖</p><p> 首先,進入游戲界面,顯示出游戲的圖形,使得老鼠在洞中隨機閃爍出現(xiàn);然后單擊鼠標的click事件,點擊老鼠得到相應的分數(shù),最后退出游戲。如圖1所
41、示:</p><p><b> 圖1 項目流程圖</b></p><p><b> 3.4 界面設計圖</b></p><p> 經(jīng)過進一步的分析設計,得到的打地鼠游戲界面圖,如圖2所示:</p><p> private static final long serialVersionUID
42、 = 1L;</p><p> private int num = 0;//設置全局變量</p><p> private JLabel[] mouses;</p><p> private ImageIcon imgMouse;</p><p> private JLabel back;</p><p>
43、private JLabel jtf;</p><p> PlayMouse(){//寫一個構造器 對成員變量初始化</p><p> this.setResizable(true); //是否能夠手動的修改大小</p><p> this.getContentPane().setLayout(null);</p><p> this
44、.setTitle("我的打地鼠游戲");</p><p> back = new JLabel();</p><p> back.setBounds(0,-35, 600, 438);</p><p> this.setBounds(300, 100, 600, 438); //設置框的大小和位置以及坐標</p><p
45、> this.setCursor(Toolkit.getDefaultToolkit().createCustomCursor(Toolkit.getDefaultToolkit().getImage("src/com/iotek/mouse/1.png"), new Point(3,3), "self"));//把鼠標變成錘子</p><p> ImageIco
46、n icon = new ImageIcon(this.getClass().getResource("3.jpg"));//加載圖片調(diào)用構造器</p><p> back.setIcon(icon);</p><p> imgMouse = new ImageIcon(this.getClass().getResource("2.png"));
47、//對老鼠進行初始化</p><p> mouses = new JLabel[9]; //對數(shù)組進行初始化</p><p> for(int i=0;i<9;i++){//寫一個for循環(huán)</p><p> mouses[i] = new JLabel();</p><p> mouses[i].setSize(imgMous
48、e.getIconWidth(), imgMouse.getIconHeight());//設置老鼠的大小</p><p> //mouses[i].setIcon(imgMouse);</p><p> mouses[i].addMouseListener(new MouseAdapter() {//通過匿名內(nèi)部類添加一個監(jiān)聽器,可以監(jiān)聽到所有事件</p><p&
49、gt;<b> 圖2 游戲界面圖</b></p><p> 經(jīng)過進一步的分析設計,得到的打地鼠游戲加分功能,如圖3所示:</p><p> public void mouseClicked(MouseEvent e) {//加分功能</p><p> Object object = e.getSource();//點擊事件源默認的是ob
50、ject</p><p> if(object instanceof JLabel){ //判斷圖片正好出現(xiàn)</p><p> JLabel label = (JLabel) object;</p><p> if(label.getIcon()!=null){</p><p><b> num++;</b>&l
51、t;/p><p> jtf.setText("您的得分是:"+num+ "分");//每次顯示分數(shù)都會變化</p><p><b> }</b></p><p> label.setIcon(null); //如果點完圖片就消失</p><p><b> }</
52、b></p><p><b> }</b></p><p><b> 圖3 游戲加分圖</b></p><p> 3.5 軟件項目核心程序</p><p> 本次項目中我主要負責的是運用了多線程的技術,代碼如下:</p><p> public static
53、void main(String[] args) {</p><p> PlayMouse d1 = new PlayMouse();//調(diào)用構造器</p><p> Thread t1 = new Thread(d1); //產(chǎn)生一個線程,讓他運行起來</p><p> t1.start();</p><p><b> }
54、</b></p><p><b> @Override</b></p><p> public void run() {//老鼠閃爍出現(xiàn) 多線程</p><p> while(true){</p><p><b> try {</b></p><p>
55、Thread.sleep(500);</p><p> int index = (int) (Math.random()*9);</p><p> if(mouses[index].getIcon()==null){ //圖片有沒有立刻被點中</p><p> mouses[index].setIcon(imgMouse); //如果沒點中就有一定的反應時間&
56、lt;/p><p> Thread.sleep(800); //反應時間,可以根據(jù)難度的不同設置不同的長度</p><p> if(mouses[index].isShowing()){//如果在反應時間仍然沒有點 就設置為空</p><p> mouses[index].setIcon(null);</p><p><b>
57、}</b></p><p><b> }</b></p><p> } catch (InterruptedException e) {</p><p> // TODO Auto-generated catch block</p><p> e.printStackTrace();</p>
58、;<p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> 3.6 本次程序中學到的知識</p><p>
59、; 本次課程設計我從中學習到了Java的編程思想,主要學到以下內(nèi)容:</p><p> 1、游戲編寫用到的基本框架,也就是游戲引擎。</p><p> 2、學習到了Runable接口的使用。</p><p> 3、一些關鍵字的使用方法。</p><p> 4、學習到了多線程的使用方法。</p><p> J
60、AVA多線程實現(xiàn)方式主要有三種:繼承Thread類、實現(xiàn)Runnable接口、使用ExecutorService、Callable、Future實現(xiàn)有返回結果的多線程。其中前兩種方式線程執(zhí)行完后都沒有返回值,只有最后一種是帶返回值的。</p><p> 5、繼承Thread類實現(xiàn)多線程繼承Thread類的方法盡管被我列為一種多線程實現(xiàn)方式,但Thread本質(zhì)上也是實現(xiàn)了Runnable接口的一個實例,它代表一
61、個線程的實例,并且,啟動線程的唯一方法就是通過Thread類的start()實例方法。start()方法是一個native方法,它將啟動一個新線程,并執(zhí)行run()方法。這種方式實現(xiàn)多線程很簡單,通過自己的類直接extend Thread,并復寫run()方法,就可以啟動新線程并執(zhí)行自己定義的run()方法。例如:</p><p> public class MyThread ex
62、tends Thread { </p><p> public void run() { </p><p> System.out.println("MyThread.run()"); </p><p><b> }
63、 </b></p><p><b> } </b></p><p> public class MyThread extends Thread {</p><p> public void run() {</p><p> System.out.printl
64、n("MyThread.run()");</p><p><b> }</b></p><p><b> }</b></p><p> 在合適的地方啟動線程如下:</p><p> [java] view plaincopyprint?</p><p&
65、gt; MyThread myThread1 = new MyThread(); </p><p> MyThread myThread2 = new MyThread(); </p><p> myThread1.start(); <
66、;/p><p> myThread2.start(); </p><p> 6、實現(xiàn)Runnable接口方式實現(xiàn)多線程如果自己的類已經(jīng)extends另一個類,就無法直接extends Thread,此時,必須實現(xiàn)一個Runnable接口,如下:</p><p> public class MyThread ex
67、tends OtherClass implements Runnable { </p><p> public void run() { </p><p> System.out.println("MyThread.run()");
68、;</p><p><b> } </b></p><p><b> } </b></p><p> public class MyThread extends OtherClass implements Runnable {</p><p> p
69、ublic void run() {</p><p> System.out.println("MyThread.run()");</p><p><b> }</b></p><p><b> }</b></p><p> 為了啟動MyThread,需要首先實例化一個T
70、hread,并傳入自己的MyThread實例:</p><p> MyThread myThread = new MyThread(); </p><p> Thread thread = new Thread(myThread); </p><
71、;p> thread.start(); </p><p><b> 總結</b></p><p> “打地鼠”游戲的基本功能已經(jīng)實現(xiàn)了,其中很多代碼之間都是很復雜的,要是搞不明白就沒辦法再往下做了。通過這次游戲的設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把學的理論知識與實踐相結合起來,從理論中得出結論,才
72、能真正的提高自己的水平,從而提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到的問題,可以說是困難重重,并且還發(fā)現(xiàn)了自己的許多不足之處,對以前學過的知識理解得不夠深刻,掌握的不夠牢固,同時在這次的設計中也小小的體驗了一下做項目的感受。</p><p> 我完成了這次Java課程設計,不過只是我學習路上的驛站。我相信在我未來的學習中會記住從本次項目中學習到的東西,并將它用到未來的學習中去。</p&g
73、t;<p><b> 參考文獻</b></p><p> [1]夏寬理編著Java程序設計[M].北京:機械工業(yè)出版社,2008版.</p><p> [2]楊樹林,胡潔萍.Java語言最新實用案例教程[M].北京:清華大學出版社.</p><p> [3]循序漸進Java2教程,淡文剛、于紅梅譯,人民郵電出版社.<
74、/p><p> [4]侯俊杰編著.Java程序設計教程與實訓[M].北京:科學出版社,2005.</p><p> [5]陳昊鵬[同譯者作品].Java編程思想(第四版)[M].北京:機械工業(yè)出版社,2007.</p><p> [6]耿祥義,張躍平.Java2實用教程(第三版)[M].北京:清華大學出版社,2006.</p><p>&l
75、t;b> 致謝</b></p><p> 一番春秋一番冬夏,一場酸甜一場苦辣,不管是苦是甜,打地鼠游戲從開始游戲的構思到最后的完成調(diào)試,經(jīng)歷了許多波折,但是我沒有放棄,反而收獲頗多。經(jīng)過一個來月的忙碌和工作,本次的畢業(yè)設計已經(jīng)完成了,作為一個??粕漠厴I(yè)設計,由于經(jīng)驗的匱乏和業(yè)務邏輯的不熟悉,難免有許多考慮不周全和不完善的地方,但是在指導老師和任課老師和同學的幫助下很多困難都得以解決,所以在
76、此本人特別感謝他們對我的幫助。</p><p> 首先我要感謝我的指導老師**老師,感謝他們在整個畢業(yè)設計過程中的指導,為我提示游戲設計的邏輯思路;為我提供參考書籍;為我提供技術方面的資料,而且在遇到問題的時候,總是鼓勵我去解決;尤其在論文格式的修改方面,讓我明白了要寫一個標準的論文,它的格式的重要性,哪怕就算是一個標點符號都要其標準和格式要求。在設計的整個過程中從開題報告的確定到初稿的修改,以及中期的檢查,以
77、及定稿的過程中都給予了我細心的指導。</p><p> 其次還要特別感謝大學三年來所有的老師,為我們打下計算機專業(yè)知識的基礎。以前總是覺得學的課程沒有什么用處,但是當真正的用計算機來解決實際問題的時候,才知道每門課程的重要性,甚至覺得所學習的那些課程遠遠不夠,所以以后還要不斷的學習,也可以說要不是您們在大學三年中嚴格要求我們,現(xiàn)在要完成整個畢業(yè)設計那是根本不可能的。</p><p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- java打地鼠游戲畢業(yè)論文
- 基于java的打磚塊游戲畢業(yè)論文
- 打地鼠游戲
- 中班體育游戲《打地鼠》
- 打地鼠游戲-項目總結.docx
- 打地鼠游戲-功能點描述.xlsx
- 打地鼠游戲-功能點描述.xlsx
- 中一班戶外游戲《打地鼠》
- 畢業(yè)設計(論文)+手機游戲開發(fā)-java畢業(yè)論文
- 俄羅斯方塊游戲java畢業(yè)論文
- 畢業(yè)論文(java游戲俄羅斯方塊)
- 基于plc的打地鼠游戲課程設計
- 畢業(yè)論文范文——java 打飛機游戲設計
- 基于Java的拼圖游戲畢業(yè)論文.docx
- 畢業(yè)論文范文——java 打飛機游戲設計
- java五子棋游戲畢業(yè)論文
- 基于java+me的手機游戲畢業(yè)論文
- java002打飛機游戲設計(程序+論文)
- 基于51單片機的打地鼠游戲設計
- 基于java的連連看游戲設計畢業(yè)論文
評論
0/150
提交評論