freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設(shè)計(jì)-基于java的飛機(jī)大戰(zhàn)游戲開發(fā)(編輯修改稿)

2025-01-08 19:29 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 譯,然后通過(guò)上述特性反復(fù)利用。程序員只需把主要精力用在類和接口的設(shè)計(jì)和引用上。 Java 提供了眾多的一般對(duì)象的類,通過(guò)繼承即可使用父類的方法。在 Java 中, 4 類的繼承關(guān)系是單一的非多重的,一個(gè)子類只有一個(gè)父類,子類的父類又有一個(gè)父類。 ( 4)分布式 Java 建立在擴(kuò)展 TCP/IP 網(wǎng)絡(luò)平臺(tái)上。庫(kù)函數(shù)提供了用 HTTP 和 FTP 協(xié)議傳送和接受信息的方法。這使得程序員使用網(wǎng)絡(luò)上的文件和 使用本機(jī)文件一樣容易。 ( 5) 健壯性 Java 致力于檢查程序在編譯和運(yùn)行時(shí)的錯(cuò)誤。類型檢查幫助檢查出許多開發(fā)早期出現(xiàn)的錯(cuò)誤。 Java 自己操縱內(nèi)存減少了內(nèi)存出錯(cuò)的可能性。 Java 還實(shí)現(xiàn)了真數(shù)組,避免了覆蓋數(shù)據(jù)的可能,這些功能特征大大提高了開發(fā) Java 應(yīng)用程序的周期, 并且 Java 還提供了 Null 指針檢測(cè)、數(shù)據(jù)邊界檢測(cè)、異常出口等功能。 Java 技術(shù)在游戲開發(fā)中的應(yīng)用 繪圖技術(shù) Applet 程序中所采用的 AWT 的繪圖機(jī)制主要涉及三個(gè)方法: paint()方法, update()方法和 repaint()方法, update()方法和 paint()方法都有一個(gè) Graphics 類參數(shù)。Graphics 是畫圖的關(guān)鍵,它可以支持兩種繪圖:一種是基本的繪圖,如:畫線、矩形、園等:另一種是畫圖像,主要用于動(dòng)畫制作。 游戲開發(fā)中的交互 一個(gè)優(yōu)秀的游戲必定是與玩家不斷的溝通,給予玩家充分的操作時(shí)間,而游戲又必須快速地,爭(zhēng)取的對(duì)玩家動(dòng)作做出反應(yīng),否則這樣的游戲,不能稱為一個(gè)好游戲。在 Java游戲的開發(fā)中,往往使用事件 處理器來(lái)進(jìn)行設(shè)計(jì)。 事件:用戶對(duì)程序的某一種功能性操作。 Java 中的事件 主要有兩種:組件類事件、動(dòng)作類事件。 事件 編程:用戶編程定義每個(gè)特定時(shí)間發(fā)生時(shí)程序應(yīng)做出何種響應(yīng),并且這些響應(yīng)代碼會(huì)對(duì)應(yīng)的時(shí)間發(fā)生時(shí)有系統(tǒng)自動(dòng)調(diào)用。事件源是產(chǎn)出事件的組件。監(jiān)聽器是對(duì)組件所產(chǎn)生的時(shí)間做出具體響應(yīng)的代碼,即事件產(chǎn)出與處理分別由兩個(gè)不同類加以編程實(shí)現(xiàn)。事件處理機(jī)制是 AWT 組件自身不編程處理相應(yīng)的時(shí)間,而是交由時(shí)間監(jiān)聽器處理。 事件適配器 :由于事件監(jiān)聽接口是 Abstract 類型,意味著實(shí)現(xiàn)該接口的類應(yīng)全都實(shí)現(xiàn)其各個(gè)成員函數(shù),但實(shí)際應(yīng)用中可能只需處理某些事件響應(yīng)代碼:此時(shí)再采用實(shí)現(xiàn)事 5 件監(jiān)聽器接口可能會(huì)導(dǎo)致編程復(fù)雜。 JDK 中提供事件適配器方 式來(lái)實(shí)現(xiàn)事件編程。 基于 AWT 及 SWING 的游戲界面開發(fā) 抽象窗口工具包 AWT 是 API 為 Java 程序提供的建立圖形用戶界面 GUI 工具集,AWT 可用于 Java 的 applet 和 application 中。它支持圖形用戶界面編程的功能包括:用戶界面組件、事件處理模型、圖形和圖像工具、包括形狀、顏色和字體類、 布局管理器, AWT 是 SWING 的基礎(chǔ)。 Swing 的產(chǎn)生主要原因就是 AWT 不能滿足圖形化用戶界面發(fā)展的需要 。 SWING 是由 100%純 Java 實(shí)現(xiàn)的, SWING 組件是用 Java 實(shí)現(xiàn)的輕量級(jí)組件,沒(méi)有本地代碼,不依 賴操作系統(tǒng)的支持,這是他與 AWT 組件的最大區(qū)別。由于AWT 組件通過(guò)與具體平臺(tái)上相關(guān)的對(duì)等類實(shí)現(xiàn),因此 SWING 組件具有更強(qiáng)的實(shí)用性。SWING 在不同平臺(tái)上表現(xiàn)一致,并且有能力提供本地窗口系統(tǒng)不支持的其它特性。SWING 采用了一種 MVC 的設(shè)計(jì)范式,即“模型 視圖 控制”。 多線程技術(shù)的應(yīng)用 線程簡(jiǎn)介:進(jìn)程就是程序運(yùn)行時(shí)的一個(gè)實(shí)例。線程可以看做單獨(dú)地占有 CPU 時(shí)間來(lái)執(zhí)行相應(yīng)的代碼的。在多處理機(jī)計(jì)算機(jī)上實(shí)現(xiàn)多線程時(shí),它們可以并行工作,而且采用適當(dāng)?shù)姆謺r(shí)策略可提高程序運(yùn)行的效率。線程是共享地址空間的,也就是說(shuō)多線 程可以同時(shí) 讀取相同的地址空間,并且利用這個(gè)空間進(jìn)行交換數(shù)據(jù)。 Java 實(shí)現(xiàn)多線程的過(guò)程:與其他語(yǔ)言不一樣的是,線程的概念在 Java 是語(yǔ)言中重要的,根深蒂固的,因?yàn)樵?Java 語(yǔ)言中的線程系統(tǒng)是 Java 語(yǔ)言自建的, Java 中有專門的支持多線程的 API 庫(kù)。在使用 Java 創(chuàng)建線程的時(shí)候,你可以生成一個(gè) Thread 類或者其他的子類對(duì)象,并給這個(gè)對(duì)象發(fā)送 start 消息,這樣依賴程序會(huì)一直執(zhí)行,直到 run 返回為止,此時(shí)該線程結(jié)束了 。 Java 網(wǎng)絡(luò)技術(shù)的應(yīng)用 Java 最初是作為一種網(wǎng)絡(luò)編程語(yǔ)言出現(xiàn)的,他能夠?qū)嵱镁W(wǎng)絡(luò)上的 各種資源和數(shù)據(jù),與服務(wù)器建立各種傳輸通道,將自己的數(shù)據(jù)傳送到網(wǎng)絡(luò)的各個(gè)地方。你可以用 Java 輕松地完成這些,因?yàn)?Java 類庫(kù)提供了很強(qiáng)大的網(wǎng)絡(luò)功能。 Java 中有關(guān)網(wǎng)絡(luò)方面的功能都定義在 程序包中。 Java 所提供的網(wǎng)絡(luò)功能可大致分為三大類: 6 ( 1) URL 和 URLConnection 這是三大類功能中最高級(jí)的一種。通過(guò) URL 的網(wǎng)絡(luò)資源表達(dá)方式,很容易確定網(wǎng)絡(luò)上數(shù)據(jù)的位置。利用 URL 的表示和建立, Java 程序可以直接讀入網(wǎng)絡(luò)上所放的數(shù)據(jù),或把自己的數(shù)據(jù)傳送到網(wǎng)絡(luò)的另一端。 ( 2) Socket 所 謂 Socket,可以想象成兩個(gè)不同程序通過(guò)網(wǎng)路的通道,而這時(shí)傳統(tǒng)網(wǎng)絡(luò)程序中最常用的方法。一般在 TCP/IP 網(wǎng)絡(luò)協(xié)議下的客戶服務(wù)器軟件采用 Socket 作為交互的方式。 ( 3) Datagram 是這些功能中最低級(jí)的一種。其他網(wǎng)絡(luò)數(shù)據(jù)傳送方式,都假想在程序執(zhí)行時(shí),建立一條安全穩(wěn)定的通道。但是以 Datagram 的方式傳送數(shù)據(jù)時(shí),只是把數(shù)據(jù)的目的地記錄在數(shù)據(jù)包中,然后就直接放在網(wǎng)絡(luò)上進(jìn)行傳輸,系統(tǒng)不保證數(shù)據(jù)一定能夠安全送到,也不能確定什么時(shí)候可以送到。也就是說(shuō), Datagram 不能保證傳送質(zhì)量。 Eclipse Eclipse 是一個(gè)開發(fā)源代碼、基于 java 可擴(kuò)展開發(fā)平臺(tái)。就其本 身而言。它知識(shí)一個(gè)框架和一組服務(wù),用于通過(guò)插件組件構(gòu)建開發(fā)環(huán)境,它會(huì)自動(dòng)檢測(cè)電腦上安裝的 JDK。 由于 Eclipse 開源免費(fèi),而且其插件眾多,擴(kuò)展功能強(qiáng)大,它的代碼提示功能能幫助程序員快速的錄入代碼,此外它的重構(gòu)功能也讓修改代碼減少了很多的工作量,因此對(duì)于 大多數(shù)用戶很樂(lè)于將 Eclipse 當(dāng)做 Java 集成開發(fā)環(huán)境( IDE)來(lái)使用, Eclipse 還包括插件開發(fā)環(huán)境 , 這個(gè)組件主要針對(duì)希望擴(kuò)展 Eclipse 的軟件開發(fā)人員,因?yàn)樗试S給Eclipse 提 供插件,以及給用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)境而言,所有具開發(fā)人員都具有同等的發(fā)揮場(chǎng)所。 開發(fā)平臺(tái)搭建 安裝 JDK 和 Eclipse 從官網(wǎng)下載下面的安裝包并安裝: ( 1) JDK 版本 ,版本必須是 以上。 ( 2) Eclipse 版本 Release (),其他版本也可以。 JDK 環(huán)境變量配置 ( 1)在 我的電腦鼠標(biāo)右鍵→屬性→點(diǎn)擊“高級(jí)”選項(xiàng)卡 , 7 ( 2) 點(diǎn)擊“環(huán)境變量” , 點(diǎn)擊“新建” 變量名: JAVA_HOME 變量值: C:\Program Files\Java\(以 JDK 實(shí)際安裝路徑為準(zhǔn)) ( 3)點(diǎn)擊“確定”, 點(diǎn)擊“新建” , 如果有 path 變量雙擊打開,沒(méi)有就點(diǎn)擊“新建” 變量名: Path 變量值: %JAVA_HOME%\bin。%JAVA_HOME%\jre\bin( 變量值之間用“ 。”隔開) ( 4) 點(diǎn)擊“確定” ,即可完成配置。 8 第二章 飛機(jī)大戰(zhàn)游戲需求分析 用戶需求分析 飛機(jī)大戰(zhàn)游戲首先是一款游戲,它具備所有的游戲所共有的基本特性,每個(gè)游戲的最外層都會(huì)有一層控制循環(huán),在這個(gè)循環(huán)里,可以產(chǎn)生各種各樣的敵機(jī),可以發(fā)生各種各樣的 碰撞,直到玩家主動(dòng)退出游戲,才會(huì)退出循環(huán),否則會(huì)一直的執(zhí)行下去。 從開發(fā)游戲的角度出發(fā),主要就是 Hero 的移動(dòng)方式控制,接下來(lái)就是 Hero 子彈的生成,然后是 Enemy 的出現(xiàn)方式,最后就是各種戰(zhàn)機(jī)和子彈的碰撞檢測(cè),公布對(duì)戰(zhàn)結(jié)果。 該游戲主要包括以下幾個(gè)功能: ( 1) Hero 飛行的控制 —— 鍵盤事件響應(yīng) ( 2)子彈飛行軌跡的控制 —— 多線程的創(chuàng)建 ( 3) Enemy 出現(xiàn)方式和速度的控制 —— 多線程的創(chuàng)建 ( 4)各種飛行物體碰撞的檢測(cè)控制 —— 多線程的創(chuàng)建 游戲程序是一項(xiàng)精度要求很高的程序系統(tǒng),飛行速度的把控 ,還有響應(yīng)速度的控制的要求都非常嚴(yán)苛,由于代碼利用率很高。一個(gè)實(shí)時(shí)運(yùn)行的最終作品,每秒都會(huì)運(yùn)行成千上萬(wàn)行程序,繪圖事件、鍵盤事件都會(huì)以極高的效率在后臺(tái)等待響應(yīng),若有絲毫的差別都將很容易導(dǎo)致程序在與運(yùn)行不久后可能出現(xiàn)與想象中完全不同的差別,甚至死循環(huán)。因此,其邏輯設(shè)計(jì)應(yīng)當(dāng)相當(dāng)嚴(yán)謹(jǐn),需將所有可能發(fā)生的時(shí)間及意外情況考慮在設(shè)計(jì)中。 可行性分析 可行性分析也稱可行性研究,實(shí)在調(diào)查的基礎(chǔ)上,針對(duì)新軟件的開發(fā)是否具備必要性和可能性,對(duì)新軟件的開發(fā)從技術(shù)、經(jīng)濟(jì)、社會(huì)等方面進(jìn)行和研究,以避免投資失誤,保證新軟件的開發(fā)成功 ??尚行匝芯康哪康木褪怯米钚〉拇鷥r(jià)在盡可能短的時(shí)間內(nèi)確定問(wèn)題是否能夠解決。 下面將分別從技術(shù)、經(jīng)濟(jì)、社會(huì)三個(gè)方面對(duì)基于 Java 的飛機(jī)大戰(zhàn)游戲的建設(shè)進(jìn)行分析和研究。 ( 1)技術(shù)可行性 9 說(shuō)技術(shù)上的可行性主要分析技術(shù)條件能否順利完成開發(fā)工作,硬、軟件能否滿足開發(fā)者的需要等。該軟件采用的開發(fā)工具是功能強(qiáng)大的 Eclipse,它具有十分強(qiáng)的擴(kuò)展能力,需要的只是下載安裝相關(guān)的插件,開發(fā)平臺(tái) J2ME 更是當(dāng)前最受歡迎的手機(jī)軟件開發(fā)平臺(tái),而且它完全滿足飛機(jī)大戰(zhàn)游戲的開發(fā)實(shí)現(xiàn)的要求。因此,軟件的軟件開發(fā)平臺(tái)已經(jīng)成熟可行。硬 件方面,科技飛速發(fā)展的今天,硬件更新的速度越來(lái)越快,容量越來(lái)越大,可靠性越來(lái)越高,價(jià)格越來(lái)越低,其硬件平臺(tái)完全能滿足此軟件的需要。 由以上分析可知,本軟件的開發(fā)在技術(shù)上是可行的。 ( 2)經(jīng)濟(jì)可行性 本軟件開發(fā)成本低,在經(jīng)濟(jì)上是可以接受的,并且本軟件是實(shí)施后可以顯著提高工作效率,有助于飛機(jī)大戰(zhàn)游戲的管理。而且軟件維護(hù)簡(jiǎn)單,實(shí)用性強(qiáng),一次性開發(fā)使用,即可長(zhǎng)久使用。 ( 3)社會(huì)可行性 本軟件是根據(jù)基于 Java 的飛機(jī)大戰(zhàn)游戲的實(shí)際工作情況開發(fā)研制的,是通過(guò)在網(wǎng)上大量的調(diào)研得出的,軟件的軟件設(shè)計(jì)實(shí)在獨(dú)立的 環(huán)境下完成的,不存在侵犯知識(shí)產(chǎn)權(quán)的情況。 有以上分析可知,本軟件具有社會(huì)可行性。 總體設(shè)計(jì)原則 本軟件為了設(shè)計(jì),實(shí)現(xiàn)和后期維護(hù)的方便,以及軟件用戶使用的便利,所以必須采取一定的設(shè)計(jì)原則。其主要設(shè)計(jì)原則有: ( 1)簡(jiǎn)單性:在實(shí)現(xiàn)軟件的功能的同時(shí),盡量讓軟件操作簡(jiǎn)單易懂,這對(duì)于一個(gè)軟件來(lái)說(shuō)是非常重要的。 ( 2)針對(duì)性:本軟件設(shè)計(jì)是基于 Java 的飛機(jī)大戰(zhàn)游戲的需要,因此具有良好的實(shí)用性。 ( 3)一致性:命名規(guī)則一致性:類型、變量和其他元素的命名規(guī)則保持一致;功能一致性:完成同樣的功能應(yīng)該盡量使用同樣的元 素;元素風(fēng)格一致性:界面元素的美觀風(fēng)格、擺放位置在同一個(gè)界面和不同界面之間都應(yīng)該是一致的。 10 功能模塊設(shè)計(jì) ( 1)游戲狀態(tài)的控制功能 游戲的狀態(tài)控制包括初始化、運(yùn)行、結(jié)束狀態(tài)。 首先進(jìn)入游戲的初始化界面,顯示游戲的 Logo,玩家的菜單選擇,接著傳送到游戲的主戰(zhàn)場(chǎng), Hero 在移動(dòng)中發(fā)射子彈,這時(shí)各種敵機(jī)從對(duì)方迎面撲來(lái),來(lái)者不善, Hero奮力抗擊,當(dāng) Hero 被 Enemy 撞擊摧毀后,游戲進(jìn)入結(jié)算界面,顯示 Hero 的戰(zhàn)績(jī),到此游戲結(jié)束。 ( 2)玩家游戲控制功能 玩家可以通過(guò)控制鍵盤來(lái)控制 Hero 的移動(dòng)和 Hero 子彈的發(fā)射。 游戲難點(diǎn)分析 ( 1)戰(zhàn)機(jī)和背景的美化。游戲優(yōu)美清新的界面會(huì)給用戶帶來(lái)愉快的心情和美感。所以在本游戲中,主要采用借鑒原有的游戲的畫面,采用 PS 將各種圖片渲染、修飾,提高玩家玩的興致和欲望。 ( 2)動(dòng)畫的實(shí)現(xiàn)。 Hero 和 Enemy 的爆炸動(dòng)畫效果可以利用圖片數(shù)組、切片的變換形成動(dòng)畫。利用程序不斷改變的圖片數(shù)組的下標(biāo),從而實(shí)現(xiàn)像電影中幀的概念,從而可以實(shí)現(xiàn)爆炸效果。 ( 3)多線程技術(shù)的實(shí)現(xiàn)。線程機(jī)制的應(yīng)用是實(shí)現(xiàn)游戲控制的基石,游戲
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1