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

正文內(nèi)容

畢業(yè)論文-基于android平臺的坦克大戰(zhàn)游戲設(shè)計-文庫吧

2025-05-17 10:39 本頁面


【正文】 ................. 15 敵方坦克出現(xiàn) 消失路徑算法 ............................................................................... 15 最高分?jǐn)?shù)類存儲算法 ........................................................................................... 16 坦克炮筒角度的計算算法 .................................................................................... 17 總結(jié)與展望 ................................................................................................................................ 19 致 謝 ........................................................................................................................................... 21 參考文獻(xiàn) .................................................................................................................................... 23 畢業(yè)設(shè)計(論文) 1 第 1 章 緒 論 系統(tǒng)開發(fā)背景 游戲軟件業(yè)是一個新興行業(yè),存在著巨大的生存和發(fā)展空間,同 時它也是一個存在社會爭議的行業(yè)。 游戲的完整定義可以歸納為:一種由道具和規(guī)則構(gòu)建而成、由人主動參與、有明確目標(biāo)、在進(jìn)行過程中包含競爭且富于變化的以娛樂為目的的活動,它與現(xiàn)實(shí)世界相互聯(lián)系而又相互獨(dú)立,能夠體現(xiàn)人們之間的共同經(jīng)驗(yàn),能夠體現(xiàn)平等與自由的精神。 游戲產(chǎn)業(yè)準(zhǔn)確地講應(yīng)該叫做電子娛樂業(yè),是指基于電子技術(shù)、計算機(jī)技術(shù)、軟件技術(shù)、網(wǎng)絡(luò)技術(shù)和無線技術(shù)的新型娛樂產(chǎn)業(yè),分為單機(jī)游戲、網(wǎng)絡(luò)游戲和無線游戲等幾個部分。電子游戲業(yè)從誕生至今已經(jīng)有幾十年的時間,可僅僅在這短短的幾十年的時間里,它卻在發(fā)達(dá)國家的經(jīng)濟(jì) 發(fā)展中發(fā)揮了顯著的作用。 游戲軟件業(yè)從誕生到現(xiàn)在,歷經(jīng)幾代的發(fā)展,已進(jìn)入了一個非常成熟的時期。對于我國而言,游戲軟件業(yè)也有快速的發(fā)展,但是因?yàn)楹芏嘣蜃璧K了這個產(chǎn)業(yè)的發(fā)展,如游戲軟件研發(fā)人才缺乏,軟件開發(fā)投入不足;對青少年的負(fù)面影響,一些不健康的游戲軟件導(dǎo)致了社會對游戲軟件的偏見;技術(shù)滯后等情況。 坦克大戰(zhàn)游戲是一款風(fēng)靡全球的電視游戲機(jī)和掌上游戲機(jī)游戲,它曾經(jīng)造成的轟動與造成的經(jīng)濟(jì)價值可以說是游戲史上的一件大事。它看似簡單但卻變化無窮,令人上癮。相信大多數(shù)用戶都還記得為它癡迷得茶不思飯不想的那個 坦克大戰(zhàn)時代。究其歷史,坦克大戰(zhàn)最早還是出現(xiàn)在 FC 機(jī)上,現(xiàn)在又重新掀起這股讓人沉迷的坦克大戰(zhàn)風(fēng)潮,它的規(guī)則簡單,容易上手,且游戲過程變化無窮,使用戶既能感受到游戲中的樂趣,也給用戶提供了一個展現(xiàn)自己高超技藝的場所。這次練習(xí)的是在 Visual studio C++ 2021 上生成坦克大戰(zhàn)游戲。 Microsoft Visual C++是一個非常好的 windows 軟件開發(fā)程序,很多的 windows 平臺下的軟件都是把它作為輔助工具編寫出來的?,F(xiàn)在使用得比較多的是 版 和 .NET 版,隨著版本的提高, Microsoft 給我們提供的函數(shù)數(shù)據(jù)庫也越來越方便 ,越來越豐富了。當(dāng)完成時,覺得自己在不知不覺中已跨入了它的大門。使用 Microsoft Visual studio C++ 幾乎可以做出一切東西來,從即時戰(zhàn)略到三維 RPG 游戲。當(dāng)然還有各種應(yīng)用軟件了。如果要開發(fā)出更復(fù)雜的游戲,就還需要學(xué)習(xí)更多的東西,為了提高顯示速度,需要使用 DirectX,為了制作3D 圖像,又要使用 Direct3D。由于游戲的流程和內(nèi)部原理很復(fù)雜,所以需要學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)、圖形學(xué) ?? 學(xué)習(xí)這么多專業(yè)知識需要很大的努力,不過我心中有一個夢想,那么再難的目標(biāo)也 能實(shí)現(xiàn)。 “千里之行,始于足下 ”,尤其是在邁出了坦克大戰(zhàn)的第一步之后,實(shí)際上,已經(jīng)走進(jìn)了軟件開發(fā),尤其是游戲開發(fā)的大門,前面的世界是美麗多彩而又充滿挑戰(zhàn)的。 相關(guān)技術(shù)介紹 Eclipse Eclipse 是著名的跨平臺的自由集成開發(fā)環(huán)境( IDE)。其本身只是一個框架平臺,但是眾多插件的支持使得 Eclipse 擁有其他功能相對固定的 IDE 軟件很難具有的靈活性。許多軟件 畢業(yè)設(shè)計(論文) 2 開發(fā)商以 Eclipse 為框架開發(fā)自己的 IDE,因此得到眾多組織定力支持。 ADT 這是 Eclipse 插件,作用是關(guān)聯(lián) Android SDK,使 Eclipse 能夠新建 Android 工程。 Android SDK Android SDK 全稱為 Android Software Development Kit,它提供在 Windows/Linux/ Mac 平臺上開發(fā) Android 應(yīng)用的開發(fā)組件。包含在 Android 平臺上開發(fā)移動應(yīng)用程序的各種工具集,主要是由以下 5 個部分組成: Andriod 模擬器 (AVD ):運(yùn)行在計算機(jī)上的虛擬移動模擬器,可以使用模擬器來在一個實(shí)際的 Android 運(yùn)行環(huán)境下設(shè)計, 調(diào)試和測試應(yīng)用程序。 調(diào)試監(jiān)視服務(wù) ():它集成在 Dalvik(Android 平臺虛擬機(jī) )中,用于管理運(yùn)行在模擬器或設(shè)備上的進(jìn)程,并協(xié)助進(jìn)行調(diào)試。可以用它來去除進(jìn)程,選擇一個特定程序來調(diào)試,生成跟蹤數(shù)據(jù),查看堆和線程數(shù)據(jù),對模擬器或設(shè)備進(jìn)行屏幕快照等。 Android 調(diào)試 ():它用于向模擬器或手機(jī)設(shè)備安裝應(yīng)用程序的 apk 文件和從命令行訪問模擬器或手機(jī)設(shè)備。也可以用于將標(biāo)準(zhǔn)的調(diào)試器連接到運(yùn)行在 android 模擬器或手機(jī)設(shè)備上的應(yīng)用代碼。 SQLite 數(shù)據(jù)庫 (): Android 應(yīng)用程序可以創(chuàng)建和使用 SQLite 數(shù)據(jù)文件,開發(fā)者和使用者也可以方便的訪問這些數(shù)據(jù)文件。 創(chuàng)建 SD 卡工具 ():主要用于模擬手機(jī) SD 卡。在創(chuàng)建 AVD 中,可以選擇該工具作為 SD 卡。 Android、 C 語言、 C++三種主流編程技術(shù)比較 Android( Java) 語言是一種跨平臺,適合于分布式計算環(huán)境的面向?qū)ο缶幊陶Z言。 JAVA現(xiàn)在主要用在 WEB 開發(fā),手機(jī)游戲及一些平臺游戲的開發(fā),因?yàn)樗哂泻芎玫目缙脚_性,在手機(jī)等各種電子產(chǎn)品上應(yīng)用非常廣泛。 C 語言是一種面向過程編 程,這就使得 Java 具有重用的特性 ,在開發(fā)速度上比 C 語言更快 ,但是在運(yùn)行速度上卻是 C 更快,因?yàn)?C 屬于底層語言,它比 JAVA 更加親近機(jī)器,所以在許多系統(tǒng)開發(fā)上一般是用 C 語言,比如我們常用的 XP 系統(tǒng)、 LINUX 系統(tǒng),都是 C 語言開發(fā)的??缙脚_的服務(wù)器端的嵌入式腳本語言。 C++多用于游戲引擎、反病毒、硬件驅(qū)動以及一些對運(yùn)行效率要求比較高的應(yīng)用程序,比如數(shù)據(jù)庫管理系統(tǒng)。 C++語言在提供強(qiáng)大的功能的同時也提高了程序含 BUG 的可能性。 C++為了照顧大量的 C 語言使用者 ,而兼容了 C,使得自身僅僅成為了帶類的 C 語言,多多少少影響了其面向?qū)ο蟮膹氐仔浴? 畢業(yè)設(shè)計(論文) 3 第 2 章 需求分析 系統(tǒng)的功能 需求 坦克大戰(zhàn)是一款經(jīng)典的游戲 本游戲在學(xué)習(xí)繼承前輩的同時 嘗試性的進(jìn)行一些創(chuàng)新下面是對系統(tǒng)主要功能的簡要概述。 整體上說,本游戲分為敵我雙方,主戰(zhàn)坦克由玩家控制,敵方坦克能夠智能化的隨機(jī)出現(xiàn)在屏幕上,并且移動但是不會發(fā)射子彈。 玩家的控制:游戲打開的時候,玩家可以選擇音樂音效的開關(guān)還可以查看積分榜,然后進(jìn)入游戲,玩家可以通過屏幕上面的虛擬鍵控制坦克的運(yùn)行,可以通過觸屏來控制坦克的炮筒方向并且打出炮彈 ,當(dāng)坦克打中敵方坦克,子彈和地方坦克都死亡,分?jǐn)?shù)會加一。游戲過程中,玩家不可以暫停游戲,然后再開始游戲。當(dāng)?shù)褂嫊r結(jié)束時,則游戲結(jié)束。 敵方坦克的智能運(yùn)行:敵方坦克由于需要具有一定的智能性,隨機(jī)的出現(xiàn)在屏幕上,并且消失在屏幕以外,撞到主角坦克時,也不會發(fā)生爆炸。使之具有一定的可玩性。敵人可以自動行走,但是應(yīng)當(dāng)在以下適當(dāng)?shù)那闆r下轉(zhuǎn)向:首先是是否超出界面的邊界,其次是是否與地圖障礙物發(fā)生了碰撞,再次是是否與用戶坦克發(fā)生了碰撞。 子彈的運(yùn)行:主戰(zhàn)坦克是有玩家控制打出的,通過控制炮筒的方向,向不同的方 向發(fā)射子彈,如果擊中目標(biāo)就會爆炸消失,如果沒有擊中目標(biāo),出了屏幕也會消失。 音樂音效的設(shè)置:玩家可以根據(jù)自己的喜好來通過開關(guān)按鈕,控制音樂音效。 積分榜:玩家的得分會在積分榜上面顯示,主要顯示六個最高分。主角擊中一個敵方坦克分?jǐn)?shù)就會增加一,直到 60 秒結(jié)束,所得的分?jǐn)?shù),就是該次游戲的最終得分,所得的分?jǐn)?shù)要和數(shù)據(jù)庫里面的分?jǐn)?shù)進(jìn)行比較的,看看是否能夠顯示在積分榜上面。 功能上需解決的技術(shù)問題 游戲程序是一項(xiàng)精度要求很高的程序系統(tǒng),因?yàn)槠浯a利用率很高。一個實(shí)時運(yùn)行的最終作品,每秒都會運(yùn)行成千上萬行 程序、繪圖事件、鍵盤事件都會以極高的頻率在后臺等待響應(yīng)。若有絲毫的差別都將很容易導(dǎo)致程序在運(yùn)行不久后可能出現(xiàn)嚴(yán)重錯誤甚至崩潰死機(jī)。因此,其邏輯設(shè)計應(yīng)當(dāng)相當(dāng)嚴(yán)謹(jǐn),需將所有可能發(fā)生的事件及意外情況考慮在設(shè)計中。 游戲中為了美觀和適用性強(qiáng),就需要采用外部文件引入的 png圖片有關(guān)貼圖,屏幕刷新的雙緩沖等都有較好的解決方案。這里應(yīng)當(dāng)減少手工畫圖 ,從而是程序能更高效的運(yùn)行。 己方坦克的運(yùn)行可以通過監(jiān)聽鍵盤控制 ,但由于敵方是自動運(yùn)行就需要有較強(qiáng)的智能性同時屏幕上的敵方可能會有較多的數(shù)量 這需要為每個敵方 開辟一個線程以便能讓其獨(dú)立運(yùn)行。還需要在坦克死亡的時候終止線程。 Android 的多線程能力為實(shí)現(xiàn)這樣的游戲提供了可能。敵人坦克的運(yùn)行算法也需要進(jìn)行適當(dāng)?shù)脑O(shè)置以免游戲過于簡單、單調(diào)或者過于繁雜。 對于雙方坦克發(fā)出的子彈的控制也需要對其跟蹤控制,為了避免子線程太多的現(xiàn)象,子彈不應(yīng)當(dāng)成為獨(dú)立的線程。這里就需要一個單獨(dú)的線程來控制子彈或者是由子彈所屬的 畢業(yè)設(shè)計(論文) 4 坦克來控制子彈。這需要對所有的對象有較好的控制。另外子彈在運(yùn)行過程中也需要實(shí)時掃描是否碰撞敵方坦克或屏幕邊界。如果子彈由產(chǎn)生自己的坦克控制,就需要特別這一子彈類和坦克類之間的關(guān)系。 碰撞檢測是坦克大戰(zhàn)的最重要的環(huán)節(jié)之一。主角坦克在運(yùn)動過程中需要考慮到是否碰子彈本身或?qū)Ψ教箍?,以免重疊運(yùn)行,造成許多邏輯上不可能的情況。每一次刷新頁面、每一次的移動都要考慮整體以及個體與個體的變化。 游戲的結(jié)束、開始、動態(tài)信息畫面作為構(gòu)成一個完美程序都是必不可少的重要部分。良好的用戶界面更是吸引用戶的硬指標(biāo) 相關(guān)的美術(shù)構(gòu)圖也需要有一定的考慮。 游戲中敵方坦克的路徑專門類,這個類中存儲著的三維數(shù)組就是敵方坦克的經(jīng)過的坐標(biāo)和時間。 用戶運(yùn)行游戲時需要有分?jǐn)?shù)記錄的可能。如 何采用合理的記分標(biāo)準(zhǔn) 需要進(jìn)行適當(dāng)?shù)脑O(shè)計。記錄分?jǐn)?shù)的存儲方式也需要有較好的解決方案。手機(jī)中由于處理器和內(nèi)存空間、存儲空間都十分有限,其數(shù)據(jù)庫系統(tǒng)與普通 PC 大相徑庭。 Android 是基于虛擬機(jī)的半解釋型編譯系統(tǒng),其執(zhí)行效率較 C++等完全編譯后的程序會低很多,程序如果不進(jìn)行精簡和優(yōu)化,將可能導(dǎo)致運(yùn)行的不流暢。除開發(fā)過程中對結(jié)構(gòu)上的控制、變量的使用、算法的優(yōu)化等優(yōu)化外,還可以使用混淆器 (Obfuscator)進(jìn)行程序打包后的優(yōu)化。 畢業(yè)設(shè)計(論文) 5 第 3 章 概要設(shè)計 系統(tǒng)功能設(shè) 計 主角 在人機(jī)對戰(zhàn)時,主角的主要功能是點(diǎn)擊左右虛擬按鈕,坦克會向左向右移動,但是通過按住按鈕的時間,來控制坦克的移動速度,按住時間長,坦克的速度就會加快,按住的時間短,坦克就會移動的比較慢。通過觸屏來控制坦克炮筒的方向,并且發(fā)射子彈。當(dāng)子彈打中目標(biāo)時,子彈和目標(biāo)都會爆炸,當(dāng)子彈沒有打中目標(biāo)時,子彈走出屏幕,子彈消失。該游戲主要是控制在 60 秒內(nèi),倒計時為零則游戲結(jié)束,打中目標(biāo)數(shù)就是該次游戲的分?jǐn)?shù)。 如圖 所示, 圖 主角功能圖 背景音樂和音效 當(dāng)游戲進(jìn)入到游戲按鈕主頁面時,可以對游戲進(jìn)行音樂音效的設(shè)置,音樂是當(dāng)游戲開始時,加的背景音樂;而音效設(shè)置是指擋子彈發(fā)射或者子彈擊中目標(biāo)時,所加的音效。按鈕主頁面的音效設(shè)置包括兩方面的內(nèi)容,音效的設(shè)置和背景音樂的設(shè)置。音效分為開,關(guān);音樂也分為開和關(guān)。背景音樂從游戲的開始直到游戲的結(jié)束,而音效主要是在游戲的 60秒內(nèi)才有并且要有子彈的發(fā)射或者子彈及中敵方坦克,敵方坦克發(fā)生爆炸才能聽到音效的。如表 左右移動 子彈發(fā)射 時間控制 分?jǐn)?shù) 虛擬按鈕 炮筒位置 主角 畢業(yè)設(shè)計(論文) 6 表 音樂音效用例圖
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1