【正文】
。停止播放。用 11kHz、 8 聲道載入 .WAV 文件。 T3DLIB3:聲音控制。此系統(tǒng)比較簡單主要功能如下: ( 1)初始化 DirectInput 系統(tǒng)。 ( 4)位圖函數(shù) 包括加載位圖函數(shù)、釋放位圖函數(shù)、創(chuàng)建內(nèi)存位圖、繪制位圖等 ( 5)調(diào)色板函數(shù) 這些函數(shù)只用于 256 色 ,即 8 位模式,包含讀取調(diào)色板函數(shù)、更新調(diào)色板、保存調(diào)色板等。 DDraw_Shutdown(void):關(guān)閉 Directdraw 并釋放所有接口。下面是游戲引擎主要的結(jié)構(gòu)。目前,已更新到 DirectX12, 毫無疑問 DirectX 給游戲業(yè)帶來了巨大的發(fā)展。 DirectX 目前已經(jīng)發(fā)展到到 DirectX12,一開始, DirectX 1 很不成功,當?shù)搅薉irectX 8 時,它引發(fā)了顯卡革命,引入像素渲染概念。重要的是, DirectInput 可以和所有現(xiàn)在的或?qū)淼妮斎朐O(shè)備對話。 DirectGraphic:主要負責向 屏幕上渲染二維圖形和三維圖形。 DirectX中的每個 API 都可以通過硬件加速。你可以使用相同的代碼,而不管計算機的具體硬件配置怎么樣。 實現(xiàn)賽車的控制、 賽道載入、碰撞檢測、賽車數(shù)據(jù)處理和多人游戲 等。所設(shè)計的 游戲可以進行兩種類型的游戲即單人和多人游戲,游戲包括賽車創(chuàng)建、賽道載入、碰撞檢測、控制在跑賽車、賽車數(shù)據(jù)處理。 DirectX是微軟公司開發(fā)的基于 Windows系統(tǒng)的多媒體編程接口,編寫的語言是 C++,并且遵循 COM。大多數(shù) 2D游戲通常比較輕松、休閑、操作難度低,并且對硬件和系統(tǒng)沒什么要求,非常適合那些喜歡休閑娛 樂、交友的人。 隨著國際國內(nèi)的游戲產(chǎn)業(yè)的發(fā)展,三維游戲逐漸成為游戲市場中的主要形式,但2D游戲因為自己的獨特的優(yōu)點并沒有退出人們的視野,反而在網(wǎng)頁游戲、娛樂休閑游戲等領(lǐng)域快速的發(fā)展。 關(guān)鍵詞: 2D, DirectX,賽車,游戲 Abstract Design and Implementation of 2D Racing Game Abstract With the popularity of puter games has bee a major leisure activity for most young people , cars are expensive , and racing games for those who want to play can play racing who had no opportunity to experience one. Hobby car racing game players to experience the game for fun stimulation , players only real purpose is the fastest . This design is realized racing game based on the C language design and development , the choice of the game engine is based on written . Capable of racing, track and draw various pictures , sound effects to achieve a variety of games to get keyboard input, single player game, with putercontrolled car racing , multiplayer games with other players or puter AI racing . Compared with other similar games , collision detection algorithms used in the design , like the bounding rectangle box algorithm and color recognition algorithm , not only fast, but also detection sensitivity . Multiplayer is achieved by the socket work programming and multithreaded MS , socket provides reliable data transmission under C / S mode , multithreaded socket waiting to solve the problem , a bination that makes the LAN multiplayer games run more smooth. Keywords : 2D, DirectX, racing, game 計算機信息工程學院畢業(yè)設(shè)計說明書 I 目 錄 第一章 緒論 ........................................................ 1 研究背景及意義 ....................................................... 1 賽車游戲開發(fā)環(huán)境和語言 ............................................... 1 賽車游戲的主要功能 ................................................... 1 賽車游戲開發(fā)的主要步驟 ............................................... 2 第二章 DIRECTX、游戲引擎和游戲結(jié)構(gòu) ................................... 3 DIRECTX概述 ........................................................... 3 游戲引擎 .............................................................. 3 選用的游戲引擎結(jié)構(gòu) ................................................ 4 游戲結(jié)構(gòu) .............................................................. 5 本章小結(jié) .............................................................. 6 第三章 游戲邏輯 ..................................................... 8 游戲主邏輯 ............................................................ 8 單人游戲邏輯 .......................................................... 9 多人游戲邏輯 ......................................................... 12 多人游戲服務(wù)器端邏輯 ............................................ 12 多人游戲客戶端邏輯 ............................................... 14 顯示游戲勝利 ......................................................... 14 本章小結(jié) ............................................................. 15 第四章 賽車碰撞檢測技術(shù) ............................................ 16 邊界矩形盒方法 ...................................................... 16 顏色識別算法 ......................................................... 18 本章小結(jié) ............................................................. 23 第五章 SOCKET 網(wǎng)絡(luò)通信 實現(xiàn)多人游戲 ................................... 24 SOCKET簡介 ........................................................... 24 什么是 Socket .................................................... 24 計算機信息工程學院畢業(yè)設(shè)計說明書 II Windows Socket 編程模型 ......................................... 24 游戲所使用的 Socket 模型 ......................................... 30 粘包問題 ............................................................ 31 粘包出現(xiàn)的原因 .................................................. 31 粘包問題解決辦法 ................................................ 32 關(guān)閉優(yōu)化算法 .................................................... 33 多線程與 SOCKET組合實現(xiàn)多人游戲 ...................................... 33 多線程的使用 .................................................... 33 多線程與 socket 的聯(lián)用 ........................................... 35 本章小結(jié) ............................................................ 38 第六章 游戲調(diào)試及運行 .............................................. 39 游戲程序的環(huán)境 ...................................................... 39 游戲運行界面 ......................................................... 39 結(jié)論 .............................................................. 41 致謝 .............................................................. 42 參考文獻 .......................................................... 43 計算機信息工程學院畢業(yè)設(shè)計說明書 1 第一章 緒論 研究背景及意義 游戲可以鍛煉 我們 的大腦,提高大腦思維的敏捷性和靈活性,讓我們暫時拋開自己的煩惱,緩解現(xiàn)實生活給予我們的壓力。 本設(shè)計所實現(xiàn)的賽車游戲是基于 C 語言設(shè)計開發(fā)的,所選用的游戲引擎是基于 編寫的。愛好賽車競速游戲的玩家們以體驗比賽中的刺激為樂趣,玩家唯一的真實目的就是“最快”。多人游戲的實現(xiàn)是靠 socket 網(wǎng)絡(luò)編程與多線程的聯(lián)用, socket 提供 C/S 模式下數(shù)據(jù)的可靠傳輸,多線程解決了 socket 等待問題,兩者結(jié)合使得在局域網(wǎng)內(nèi)的多人游戲運行比較流暢。一開始主要依靠國外代理,而現(xiàn)在自主研發(fā)的游戲已經(jīng)占了大部分的市場份額,現(xiàn)在的游戲產(chǎn)業(yè),在中國的經(jīng)濟發(fā)展中發(fā)揮著不可替代的作用。 從中國游戲玩家的反應來看, 3D游戲的吸引力比 2D 游戲強的多,玩家都更加喜歡畫面質(zhì)量優(yōu)秀的游戲。 賽車 游戲開發(fā)環(huán)境和語言 本設(shè)計所用的語言是 C語言實現(xiàn)的,軟件使用的是 VC++,還要 。 賽車 游戲的主要功能 本設(shè)計可實現(xiàn)較真實的游戲音效、鍵盤接口、局域網(wǎng)內(nèi)通信 等功能。 賽車 游戲開發(fā)的主要步驟 本游戲利用現(xiàn)在比較常用的 Visual C++ 工具,基于 DirectX ,用 C 語言實現(xiàn),進行系統(tǒng)的分析,從玩家的角度去思考,怎么實現(xiàn)開賽車時的快感與激情。 DirectX 概述 Microsoft 公司的 DirectX 是一個多媒體應用編程接口,它實際上是一種軟件系統(tǒng),抽象出音頻、輸入、視頻、網(wǎng)絡(luò)以及安裝等內(nèi)容,由 C++語言實現(xiàn),遵循 COM(組件對象模型)。不同的 API負責完成 DirectX內(nèi)核中不同的功能。在 之后的版本已沒有了。這些設(shè)備包括鍵盤、鼠標、游戲控制桿、操作