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

正文內容

基于vc的坦克大戰(zhàn)游戲開發(fā)論文-文庫吧資料

2024-11-20 15:02本頁面
  

【正文】 ve ()中,將根據(jù)坦克當前的方向確定子彈出膛后的方向,將其放置到炮口的位置。 為了能提前預測碰撞,調用了 HitTest( CSpriteamp。在 ChangeDirection ()中定義了坦克四個方向。 19 圖 46 坦克 圖 47 時鐘 圖 48 鐵鍬 圖 49 五角星 圖 410 炸彈 圖 411 帽子 坦克的共同行為 在 CTank 中定義了所有坦克 (包括敵方坦克和玩家坦克 )的共同行為和屬性。 圖 45 GameOver 字樣 寶物的種類 寶物種類通過一個枚舉類型 enum 羅列。效果如圖 45 所示。 當敵人坦克完全死亡時,進入下一關時,許多變量需要重新被初始化,如地開始 敵人數(shù)量小于 0 嗎? 最后一關或死亡了嗎? 進入下一關 敵人數(shù)量大于屏幕上的數(shù)量嗎? 增加一個敵人 玩家是否死亡 顯示 Game Over 結束 Y N Y N N Y Y N 圖 44 CGame 類流程圖 18 圖的繪制、敵人出現(xiàn)位置的重置、敵人的數(shù)量、玩家坦克的當前位置。(當單人模式下敵人出現(xiàn)在屏幕上的最大數(shù)量為 4,當在雙人模式下敵人出現(xiàn)在屏幕上的最大數(shù)量為 6)。 由于敵人將依次出現(xiàn)在屏幕上,同時出現(xiàn)的數(shù)量應當受到控制。外部文件分別命名為 level%,利用 CPlane 類中的Creat()函數(shù)將地圖文件讀入程序。rc, m_dwFillColor )。 = SCREEN_W。rc, m_dwFillColor )。 = + 416。 = OFFSETX。rc, m_dwFillColor )。 = SCREEN_H。rc, m_dwFillColor )。 = OFFSETY。 = SCREEN_W。rc, 0x0 )。 = + 416。 = + 416。 游戲界面的繪制,通過 DrawWord()函數(shù)來把界面分割成上、下、左、右、中間這么五塊,具體實現(xiàn)的代碼如下: RECT rc。這兩個類均在 CGame 中建立了對象,以便進行統(tǒng)一調度。 程序中建立了另外的兩個類,分別表述了敵人坦克和玩家坦克的功能。如圖 42 圖 42 游戲載入界面 進入游戲就從第一個關卡開始,如圖 43 16 主游戲邏輯及其涉及到的若干類 CGame 類主管著所有類之間的協(xié)調,決定何時死亡,何時分配新的敵人,及控制敵人出現(xiàn)、游戲結束后的“ Game over”字樣。 程序分析和具體實現(xiàn) 游戲進入前的選擇 當游戲啟動時首先載入畫面的不是游戲運行狀態(tài),而是提供選項,單人游戲還是雙人游戲。 CPlane 類完成對地圖的繪制工作。 CPlayer 類繼承了 CTank 類,完成對玩家坦克的控制。 CBonus, CBore, CBullet, CExplode 類都繼承了 CSprite 類,主要來完成對獎賞寶物 ,子彈等的繪制。這些類構成了游戲的框架。以便程序進入相關的分支執(zhí)行相關的反應代碼,結束游戲等。在屏幕重繪的主程序中,將在每次的循環(huán)中判斷若干事件。用戶坦克自誕生之時起將擁有一發(fā)子彈,子彈雖然開在單獨的線程中,但運行結束后并不結束子彈對象,只是將其線程終止。用戶控制的坦克運行在主線程中,隨屏 幕刷新的頻率而步進。 14 第 4 章 程序結構思想和相關技術 程序流程 本程序采用面向對象的設計模式,對游戲中的所有物體賦予對象的概念和屬性。 圖 35 步驟 1 選擇是 圖 36 步驟 2 選擇 OK 13 圖 37 步驟 3 選擇 OK 完成以上步驟就可以開始建立應用程序和窗口了。 建立程序項目 這里只建立了一個單純的 Win32 應用程序項目,因為 Visual C++的 MFC 會套入許多默認的窗口、對話框、菜單等基本組件,而在游戲設計時,這些組件根本就用不上。如圖 31 所示: 圖 31 INCLUDE 引入 10 在 Show directories for 下拉列表框中選擇 Library files 選項,加入新路徑連接 DirectX 中的 include 路徑上。 9 第 3 章 構建游戲窗口準備 設置 Visual C++應用程序中的頭文件 當安裝好的 Visual C++和 DirectX SDK 之后,需要再確認一下 Visual C++應用程序中的頭文件引入路徑與 Lib 文件的連接路徑是否正確,這樣在以后的程序設計中才不會引起 Visual C++出現(xiàn)功能異?;蚓幾g時找不到 Lib 文檔等情況的發(fā)生。它就像一個鏈,連接了用戶和大廳。DirectPlay 提供了對大廳客戶端的支持。 一個具有大廳的多人游戲,通常由 3 個部分組成:大廳服務器;大廳客戶端;支持大廳的游戲。大 廳服務器一般還有其他功能。當 DirectPlay 需要通信時,它就自動的調用回調函數(shù),并且傳回兩個重要參數(shù)信息:鑒定消息類別 ID 和一個數(shù)據(jù)塊指針,一般是一個結構體。在原理上,這些函數(shù)和 Windows 程序使用的回調函數(shù)一樣。比如,在點對點的游戲中,當發(fā)送數(shù)據(jù)給另外的用戶時,就可以使 用“ IDirectPlay8Peer::SenfTo”,DirectPlay 會發(fā)送消息到目標機器。 DirectPlay 對象之間的通信 DirectPlay 是基于 COM 的,而各個組件管理不同的方面,例如, DirectPlay點 (peer)對象 (CLSID_DirectPlay8Peer)就是負責管理點對點游戲的。運行游戲客戶端的電腦提供設備地址,而游戲主機將提供主機的地址。協(xié)議為多人網絡游戲提供了很多量身定制的特性,包括以下幾個方面:可靠和不可靠的消息傳遞;連續(xù)和非連續(xù)消息傳遞;消息分割和打包;阻塞控制;發(fā)送順序;消息超時處理。 7 DirectPlay 傳輸協(xié)議 DirectPlay 的核心內容是 DirectPlay 協(xié)議。如果在游戲中需要發(fā)送狀態(tài)更新的消息,則可以很簡單的調用 DirectPlay API,而不必在意復雜的網絡連接情況。 DirectPlay 的特點: 創(chuàng)建和管理會話。 可同時訪問標準的和增強的顯示設備內存區(qū)。 支持帶 Z 軸方向的硬件輔助覆蓋。 支持窗口和全屏模式應用程序的裁剪。DirectDraw 將視頻和系統(tǒng)存儲器視為整塊的空間,而不是碎片的集合。此外, DirectDraw 提供了一種硬件模擬層 (HEL)模擬硬件不支持的功能。 DirectDraw 可以評估視頻硬件的性能,從而可以充分利用已有的功能。 網絡聯(lián)機功能 DirectPlay 可以讓程序員很容易的開發(fā)多人聯(lián)機游戲,聯(lián)機的方式可包含局域網絡聯(lián)機、調制解調器聯(lián)機,并支持各種通信協(xié)議。 DirectX的特色 直接讀寫顯存 目前的顯卡上大部分都已經內置了 8~32M 的顯存, DirectDraw 可以直接讀 6 寫這些顯存,并利用“切換頁”的功能將圖形的性能發(fā)揮得淋漓盡致。 由于 MFC 編程方法充分利用了面向對象技術的優(yōu)點,它使得我們編程時極少需要關心對象方法的實現(xiàn)細節(jié),同時類庫中的各種 對象的強大功能足以完成我們程序中的絕大部分所需功能,這使得應用程序中程序員所需要編寫的代碼大為減少,有力地保證了程序的良好的可調試性。你所調用的很多成員函數(shù)完成了你自己可能很難完成的工作。 使用 MFC 的最大優(yōu)點是它為你做了所有最難做的事。每當新的 Windows 版本出現(xiàn)時 ,MFC 也會得到修改以便使舊的編譯器和代碼能在新的系統(tǒng)中工作。 MFC 是一個很大的、擴展了的 C++ 類層次結構,它能使開發(fā) Windows 應用程序變得更加容易。 MFC 不僅僅是人們通常理解的一個類庫。在使用 Visual C++開發(fā)應用程序的過程中,系統(tǒng)為我們生成了大量的各種類型的文件。它是一個全面的應用程序開發(fā)環(huán)境,使用它你充分利用具有面向對象特性的 C++ 來開發(fā)出專業(yè)級的 Windows 應用程序。更重要的是,使用 C++提供的工具、向導以及 MFC 類庫,可以在一個很短的時間里創(chuàng)建一個完整的 windows 應用程序,并且獲得大量的在線幫助。并且 C++擁有友好的界面和強大的功能,為用戶提供了一個良好的 windows 系統(tǒng)下的可視化開 5 發(fā)環(huán)境。也就是說,多態(tài)性表現(xiàn)為同一屬性或操作在一般類及各特殊類中具有不同的語義。簡單地說,多態(tài)性就是一個接口,多種方式。新類繼承 了現(xiàn)有類的屬性和行為,并通過對這些屬性和行為進行擴充和修改,增添自己特有的一些性質。通過繼承,一個對象可以獲得另一個對象的屬性,并加入屬于自己的一些特性。封裝可以使得程序中各部分之間的相互影響達到最小,并且提高程序的安全性,簡化代碼的編寫工作。所謂封裝,就是將一個事物包裝起來,使外界不了解它的詳細內情。 4 第 2 章 開發(fā)環(huán)境及相關技術的介紹 開發(fā)環(huán)境 操作系統(tǒng): Microsoft Windows XP 開發(fā)工具: Microsoft Visual C++ DirectX C++特點 面對對象程序設計的特點: 1. 抽象性 抽象一般是指從具體的實例中抽取出共同的性質并加以描述的過程。 5. 游戲的結束、開始、動態(tài)信息畫面作為構成一個完美程序都是必不可少的重要部分。 4. 雙方的坦克在前進時也需要考慮到是否碰撞到相關物體或對方坦克,以免重疊運行,造成許多物理上不可能的情況,缺乏真實感。這需要對所有的對象有較好的控制。 3. 對于雙方坦克發(fā)出的子彈的控制也需要對其跟蹤控制,子彈也需要處在獨立的線程中。 Visual C++的多線程能力為實現(xiàn)這樣的游戲提供了可能。因此,其邏輯設計應當相當嚴謹,需將所有可能發(fā)生的事件及意外情況考慮在設計中。 本程序需解決的有關技術問題 1. 游戲程序是一項精度要求很高的程序系統(tǒng),因為其代碼利用率很高。其游戲界面如圖 12 所示。6502 芯片 cpu 主頻為 8 bit, 12 MHz,內存 8k,畫面 52 色,同屏最多顯示其中的 13 色,聲音 2 個矩波 ,1 個三角波, 1 個雜音, 1 個 PCM 音頻 (見圖 11)。主機所采用得處 理器為CMOS 6502,一款已經淘汰的 70 年代中期產品。 FC 主機在游戲業(yè)界造成的巨大沖擊眾所周知,這款主機在當時事實上幾乎占領了世界各地多個國家的整個游戲市場,并使得逐漸沒落的北美游戲市場再度復蘇。 “千里之行,始于足下 ”,尤其是在邁出了 坦克大戰(zhàn) 的第 一步之后,實際上,已經走進了軟件開發(fā),尤其是游戲開發(fā)的大門,前面的世界是美麗多彩而又充滿挑戰(zhàn)的。如果要開發(fā)出更復雜的游戲,就還需要學習更多的東西,為了提高顯示速度,需要使用 DirectX,為了制作 3D 圖像,又要使用 Direct3D。使用 Microsoft Visual C++ 幾乎可以做出一切東西來,從即時戰(zhàn)略到三維 RPG 游戲 。隨著版本的提高, Microsoft給我們提供的函數(shù)數(shù)據(jù)庫也越來越方便 ,越來越豐富 了。 Microsoft Visual C++是一個非常好的 windows 軟件開發(fā)程序 , 很多的 windows 平臺下的軟件都是把它作為輔助工具編寫出來的。究其歷史, 坦克大戰(zhàn) 最早還是出現(xiàn)在 PC 機上 , 現(xiàn)在又重新掀起這股讓人沉迷的 坦克大戰(zhàn) 風潮,它的規(guī)則簡單,容易上手,且游戲過程變化無窮,使用戶既 能感受到游戲中的樂趣,也給用戶提供了一個展現(xiàn)自己高超技藝的場所。它看似簡單但卻變化無
點擊復制文檔內容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1