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

正文內(nèi)容

游戲畢業(yè)論word版-資料下載頁

2025-05-07 17:22本頁面
  

【正文】 author:winner int m_ZOrder = 0。 Matrix m_LocalMatrix = 。 int m_Id。 static int m_Counter。 endregion PrivateData } (三) UML 設(shè)計與模塊功能 精品資料 .為你而備 系統(tǒng)采用 dotNet 以上版本 為 開發(fā) 平臺,客戶端游戲界面采用 DirectX 技術(shù)實現(xiàn) 。服務(wù)器與客戶端之間的通信采用 TCP/IP 協(xié)議實現(xiàn)。系統(tǒng) 框架 圖如 圖 42 所示。 圖 42 系統(tǒng)框架圖 本節(jié)分別描述服務(wù)端和客戶端的實現(xiàn) 算法 ,最后描述游戲平臺間的協(xié)議定義。 1. 服務(wù) 器 端 服務(wù)器由以下子系統(tǒng)組成 ? 通信子系統(tǒng) ? 游戲管理子系統(tǒng) ? 英語接龍游戲組件 ( 1) . 通信子系統(tǒng) 系統(tǒng)采用異步的 TCP Socket 技術(shù)實現(xiàn) ,信息流圖如圖 43 所示 。 圖 43 信息流圖 1) GameServer 類 GameServer 是服務(wù)器的入口類,該類負(fù)責(zé)創(chuàng)建一個 TCP Socket 來偵聽客戶端的接精品資料 .為你而備 入請求,并將已接入 的客戶端分配給 MessageDispatcher 管理。 2) MessageDispatcher 類 MessageDispatcher 類 用來管理消息的接收和發(fā)送, MessageDispatcher 為每個客戶端創(chuàng)建一個 GameContext 對象來保持系統(tǒng)相關(guān)的信息。接收到客戶端的消息后,MessageDispatcher 解析消息結(jié)構(gòu)并創(chuàng)建一個 Message 對象來保存消息,對于游戲平臺的 控 制 消 息 , MessageDispatcher 將 創(chuàng) 建 一 個 Command 實 例 并 交 由ControlCommandHandler 類 處 理。 3) ControlCommandHandler 類 ControlCommandHandler 類 負(fù)責(zé)處理游戲平臺的控制消息,包括以下功能 : ? 玩家登錄 玩家 由用戶名和 和密碼登錄服務(wù)器 。 ? 游戲類型管理(游戲列表、進(jìn)入游戲、退出游戲) a) 游戲列表 玩家可以通過游戲列表的控制命令從服務(wù)器獲取系統(tǒng)支持的游戲類型,目前只支持接龍游戲。 b) 進(jìn)入游戲 玩家可以通過選擇游戲類型來進(jìn)入游戲,只有進(jìn)入游戲后,玩家才能夠獲取與該游戲相關(guān)的房間列表 。 c) 退出游戲 玩家可以退出游戲,重新進(jìn)入其它類型的游戲,目前系統(tǒng)只支持接龍游戲。 ? 房間管理(房間列表、創(chuàng)建房間、進(jìn)入房間、離開房間) 房間管理的功能必須是在玩家進(jìn)入游戲后才能夠操作的功能。 a) 房間列表 玩家 登錄服務(wù)器后, 可以通過房間列表進(jìn)入游戲所支持的房間,房間列表包括房間名稱,房間玩家容量,當(dāng)前房間玩家數(shù)量的信息 。 b) 創(chuàng)建房間和進(jìn)入房間 創(chuàng)建房間和進(jìn)入房間是同一命令,通過一個用戶標(biāo)識來區(qū)分。玩家可以通過該命令創(chuàng)建一個用戶自定義房間或者進(jìn)入一個系統(tǒng)預(yù)設(shè)房間。 進(jìn)入房間的條件是當(dāng)前房間中的玩家數(shù)量少于允許的容量。 c) 退出房間 玩家可以離開當(dāng)前房間,離開后可以選擇進(jìn)入其它房間,如果當(dāng)前房間中的玩家數(shù)量只有一人的情況下,正在進(jìn)行的游戲?qū)Y(jié)束。 ? 游戲管理(開始游戲、結(jié)束游戲) 游戲管理必須是玩家進(jìn)入房間后才能夠進(jìn)行的操作 。 a) 開始游戲 當(dāng)房間中玩家數(shù)量滿足條件后,可以開始游戲的準(zhǔn)備,當(dāng)所有玩家都 點擊“ 開精品資料 .為你而備 始 ”按鈕,做好 游戲 準(zhǔn)備后 ,游戲才會真正的開始。 b) 結(jié)束游戲 當(dāng)玩家結(jié)束游戲時,該玩家將 離開 游戲 房間 。 4) 玩家狀態(tài)機(jī) ControlCommandHandler 類 并沒有實際處理上述控制命令,所有命令都在玩家狀態(tài)機(jī)中被處理 ,玩家狀態(tài)機(jī)如圖 44 所示 。 圖 44 玩家狀態(tài)機(jī) ( 2) . 游戲管理子系統(tǒng) 圖 45 管理子系統(tǒng)圖 如圖 45 所示管理子系統(tǒng)圖, 游戲管理子系統(tǒng)負(fù)責(zé)游戲相關(guān)信息的維護(hù), GameManager維持著游戲列表,游戲由 IGame接口管理, Game是 IGame的缺省實現(xiàn), EnglishFollowingGame精品資料 .為你而備 是 IGame 的一個具體實現(xiàn),它通過繼承 Game 類實現(xiàn)房間管理部分的功能,而只是具體化創(chuàng)建游戲?qū)嵗?IGameInstance 的實現(xiàn)。每一個 Game 都可預(yù)設(shè)一定的系統(tǒng)房間。房間由 Room類管理,玩家進(jìn)入房間后, Room 類將維護(hù)著當(dāng)前玩家的列表。 開始游戲時, Room 將向 IGame請 求 創(chuàng) 建 一 個 游 戲 示例 IGameInstance , 對 于 接 龍 游 戲 而 言 , 將 創(chuàng) 建 一 個EnglishFollowingGameInstance 實例。 ( 3) . 英語接龍組件 EnglishFollowingGame 負(fù)責(zé)創(chuàng)建 EnglishGameInstance, EnglishGameInstance 負(fù)責(zé)處理從客戶端傳過來的游戲消息。 1) 游戲初始化 當(dāng) EnglishGameInstance 接收到游戲初始化命令后,會生成一個初始化單詞,并且向房間中所有玩家廣播。 2) 應(yīng)答 當(dāng)玩家進(jìn)行接龍時,每輸入一個單詞都會向服務(wù)端提交一個應(yīng) 答 消息,EnglishGameInstance 將會判斷應(yīng)答是否正確,分別給予不同的答案,當(dāng)回答正確后,該玩家的分?jǐn)?shù)將提高, EnglishGameInstance 將向所有玩家廣播答案,游戲?qū)⑦M(jìn)入下一回合。 3) 聊天廣播消息 玩家可以向同一房間中的其它玩家發(fā)送文本廣播。 EnglishGameInstance 將會轉(zhuǎn)發(fā)這些文本信息。 2. 客戶端 客戶端包括游戲平臺和英語接龍 組件 兩部分 組成 。 ( 1) 游戲平臺 游戲平臺 類 構(gòu)成如圖 46 所示。主要包括二大類: GamePlatform 和 CommClient。 精品資料 .為你而備 圖 46 游戲平臺 類關(guān)系圖 1) GamePlatform GamePlatform 是游戲客戶端的主要類,負(fù)責(zé)主界面的實現(xiàn),與服務(wù)器之間的控制消息的處理和交互。 GamePlatform 通過調(diào)用 PlayLoginDialog 來實現(xiàn)玩家登錄功能。在進(jìn)入房間和等待游戲開始時, GamePlatform 通過 WaitForGameDialog 來顯示當(dāng)前玩家情況。 2) CommClient 通信類,是一個單件,負(fù)責(zé)建立與服務(wù)端的 socket 連接。 跟服務(wù)端一致,客戶端也采用異步 socket 模式。 CommClient 還 負(fù)責(zé)接收來自和發(fā)送到服務(wù)端的消息,并分派給GamePlatform 和 EnglishFollowingGame,分派采用 C中的委托實現(xiàn)。 ( 2) . 英語接龍 組件 英語接龍類組件圖如圖 47 所示。 圖 47 英語接龍類組件圖 1) EnglishFollowing_Game EnglishFollowing_Game 是實現(xiàn)英語接龍游戲的主要類,負(fù)責(zé)處理服務(wù)的回應(yīng)和通知信息,和驅(qū)動客戶端游戲的進(jìn)行。 EnglishFollowing_Game 繼承自 Game 類, Game 類是一個通用的游戲基類,負(fù)責(zé)創(chuàng)建 DirectX 相關(guān)的設(shè)備,包括顯示設(shè)備,輸入設(shè)備等,精品資料 .為你而備 還維持著游戲刷新的數(shù)據(jù)信息,這些信息由 Text2D 和 Sprite 類實現(xiàn)游戲界面的繪制。 2) Text2D 負(fù)責(zé)游戲文本信息的繪制,其子類 CWord 負(fù)責(zé)英語單詞的繪制, Sprite 負(fù)責(zé)圖像的繪制。 3) Music 和 Sound 類 負(fù)責(zé)背景音樂和提示音的播放控制。 精品資料 .為你而備 六、 總結(jié) 通過這個 畢業(yè) 項目設(shè)計,我總結(jié)一個經(jīng)驗,在一個軟件項目開發(fā)中,無論規(guī)模大小,它們的工作都要規(guī)范化,否則就會程序的混亂,各個功能不協(xié)調(diào),到最終致使軟件無法正確運行,或者遇到錯誤時,無所適從,很難以 修改錯誤。 為了避免出現(xiàn)編程混亂及今后維護(hù)困難的問題,特從以下幾個方面進(jìn)行了規(guī)范。 1. 軟件設(shè)計步驟的規(guī)范化 一個軟件的設(shè)計要有詳細(xì)實效的設(shè)計方略, 根據(jù)實踐證明,圖 51 步驟開發(fā)軟件是正確的 。如果只是盲目地開發(fā),而沒有適當(dāng)?shù)挠媱?,到頭來開發(fā)出來的軟件在許多方面存在著不足且不能適合于用戶的要求。本軟件在開發(fā)過程中嚴(yán)格按照圖 51 中要求步驟一步一步實踐下去。 圖 51 軟件設(shè)計步驟 2 . 文件名規(guī)范化 由于本軟件由多人合作共同完成,即 使一個人完成也會存 在許多的程序名及程序之間或窗體與窗體之間的相互調(diào)用問題。為了避免在程序之間的互相調(diào)用出現(xiàn)問題,本軟件對于每一個程序處理部分都使用了一個較統(tǒng)一且能共識的名字,絕大部分文件名均是以窗體功能為命名依據(jù)的,想調(diào)用某個窗體,只要知道其功能就能拼寫出相應(yīng)的文件名,對于控件的規(guī)范精品資料 .為你而備 也是如此。 3 . 變量名規(guī)范化 在本軟件中,每個功能模塊都是由大量語句組成,這其中要使用許多的變量,用來存放程序運行時所產(chǎn)生的結(jié)果。幾個變量的命名對我們來說很簡單明了,只要不使用 C的保留字就行;但是,上百個變量的命名就不那么容易,這很容易導(dǎo)致開發(fā) 者命名的混亂,因此在編寫程序時對變量的命名就得采取一定的規(guī)律,或者說具有一定的順序。一方面便于取名,便于記憶這些變量名;二來可以取許多的變量,而不致于使程序運行時出現(xiàn)混亂,模塊間值傳遞的正確性和準(zhǔn)確性也得到保證。 變量名多采用英語單詞組合來命名,通俗易懂,便于維護(hù)和更新。在程序中,多采用靜態(tài)變量,能讓游戲在運行的時候更快。 靜態(tài)變量只創(chuàng)建一次,和普通變量的頻繁創(chuàng)建銷毀比起來,能節(jié)約資源。 4 . 界面 設(shè)計 規(guī)范化 一個軟件,每個窗體的可視性和協(xié)調(diào)性是很重要的,它們要給用戶的感覺和表達(dá)的主題應(yīng)是一致的。本軟件最大特點 是主題統(tǒng)一,窗體無論是底圖或是按鈕,都根據(jù)動畫而展開制作,保證了窗體所包含控件間和窗體與窗體間的一致性和協(xié)調(diào)性,也給用戶一個全新且別致的視覺效果。 精品資料 .為你而備 七、 參考文獻(xiàn) 1.《 C視頻游戲開發(fā)系列課程 》,網(wǎng)上資料 2. 《 C一個睡前的故事 》 , Chris Sells 3.《 C Window 程序設(shè)計 》 (美 Charles Petzold) 4.《 C 大話設(shè)計模式 》 程杰 5.《 DirectX9 中文 幫助手冊》, Wu Jie And Liu Kang ,電子版, 20211023 4. Microsoft Developper Network 精品資料 .為你而備 指導(dǎo)教師評語: 初評成績: 指導(dǎo)教師簽名: 年 月 日 畢業(yè)論文(設(shè)計) 評審小組意見: 終評成績: 組長簽章: 年 月 日 備注
點擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1