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

正文內(nèi)容

畢業(yè)設計-基于unity3d的多人網(wǎng)絡斗地主游戲的設計與實現(xiàn)(編輯修改稿)

2025-01-08 19:14 本頁面
 

【文章內(nèi)容簡介】 它的這一特性也推動了 Unity 引擎的飛速發(fā)展。 結合自身的優(yōu)勢,由于我大學期間一直自學的 .NET 開發(fā),所以還是有 一定的 .NET開發(fā)基礎和經(jīng)驗,加上喜歡鉆研,學習了其他 Android、 IOS 等移動平臺開發(fā),所以了解的技術范圍還比較廣泛,感覺做 Unity 開發(fā)能將我所了解的這些多平臺開發(fā)的知識能夠很好的融會起來,所以當?shù)谝粫r間了解到 Unity 之后,我就對它產(chǎn)生了濃厚的興趣。之所以選擇做斗地主游戲,因為首先我覺得它是一款比較經(jīng)典的游戲,經(jīng)典的往往能夠是永恒的,在日常生活中,斗地主也常常是人們娛樂的一個項目之一,當然想完成它還是有一定的難度,設計都不少的算法,并且我將其網(wǎng)絡化,開發(fā)起來對我而言還是有一定的挑戰(zhàn)性,但又不是力所不 能及,只要努力一下還是能實現(xiàn)的。因此就確定了這個多平臺的多人網(wǎng)絡斗地主的課題。 江蘇理工學院 畢業(yè)設計說明書 (論文 ) 第 3 頁 共 13頁 設計的目的 從玩家的角度,這種網(wǎng)絡小游戲滿足了玩家休閑的需求,讓玩家換一種方式重溫經(jīng)典,能夠在不同的平臺,不同的的地區(qū),還能夠在同一個“房間”進行對局,也可以實時交流,也能結識更多的朋友,增加了游戲體驗的樂趣,從而豐富了人們的業(yè)余生活,在緊張的工作之余帶給人們最大程度的放松。 從自身的角度,將大學所學的理論知識應用于真實的項目開發(fā),做到了理論與相結合,理論知識指導實際操作,實際操作反過來也鞏固了理論知識,從而更 好的提升了自己的能力和項目經(jīng)驗。 設計的意義 通過親自實踐,驗證了 Unity3D 引擎的跨平臺性,也系統(tǒng)的了解到一個游戲項目設計的整個流程,從最初的規(guī)劃到最后的實現(xiàn),為今后走上工作崗位打下基礎。最后能夠圓滿實現(xiàn),鍛煉了自己的能力,同時做出來的游戲也增加了人們業(yè)余生活的樂趣。 江蘇理工學院 畢業(yè)設計說明書 (論文 ) 第 4 頁 共 13頁 第 2 章 開發(fā)環(huán)境及相關技術介紹 開發(fā)環(huán)境介紹 所謂工欲善其事,必先利其器。要做一個項目的開發(fā),首先得選擇好合適的開發(fā)工具,市場上行行色色的開發(fā)工具很多,這就需要要對比選擇,根據(jù)項目需求選擇最佳的搭 配工具。本設計采用的開發(fā)環(huán)境是 Windows7 旗艦版操作系統(tǒng),搭載 Unity3D 專業(yè)版引擎。采用 Visual Stdio 2021IDE 編輯 C腳本。 Unity3D 簡介 Unity 是由 Unity Technologies 開發(fā)的一個讓 玩家 輕松創(chuàng)建諸如 三維 視頻游戲、建筑 可視化、實時三維動畫等類型互動內(nèi)容的多平臺的綜合型游戲開發(fā)工具,是一個全面整合的專業(yè) 游戲引擎 。 Unity 能夠 運行在 Windows 和 Mac OS X 系統(tǒng) 下,可發(fā)布游戲至Windows、 Mac、 Wii、 iPhone、 Windows phone 8 和 Android 等 平臺。也可以利用 Unity web player 插件 發(fā)布 網(wǎng)頁游戲 。 Unity 具有強大的腳本系統(tǒng),它的核心思想是面向?qū)ο?,把游戲場?中有所的物體都抽象成可編程的對象,從而將游戲編程轉(zhuǎn)化為游戲?qū)ο蟮目刂坪驼{(diào)度,而控制游戲?qū)ο蠛蛯ο笳{(diào)度的就是我們所說的腳本系統(tǒng),關系圖如下 (圖 21): 圖 21 Unity腳本系統(tǒng) 江蘇理工學院 畢業(yè)設計說明書 (論文 ) 第 5 頁 共 13頁 Visual Stdio2021 和 MonoDevelop Visual Stdio 作為微軟最引以為傲的集成開發(fā)環(huán)境,敏捷的智能提示、排版以及穩(wěn)定的性能,是任何語言的 IDE 都無法比擬的。因此 C語言開發(fā),當然首選 Visual Stdio。但是 Visual Stdio 不支持 Unity 的 Debug(調(diào)試 ),必須要 到 AssetStore(Unity 的插件商量 )去購買一個 UnityVS 插件才能夠?qū)崿F(xiàn)斷點調(diào)試功能。而 MonoDevelop 是基于 .NET 的一個跨平臺的集成開發(fā)環(huán)境,主要支持的語言也是 C。 Mono 作為 .NET 向跨平臺和開源的先驅(qū),它打破了微軟一慣封閉的風格,因此 Mono 也得到了業(yè)界的廣大好評和重視。MonoDevelop 是 Unity 自帶的集成開發(fā)環(huán)境,相比較 VS 的優(yōu)勢就是能夠不依賴插件從而實現(xiàn)斷點調(diào)試,還有就是能夠在其他平臺上運行,但是它也有弊端,沒有 VS 那么強大的提示功能,對中文支持也不夠友好,可以說這兩 個 IDE 來編輯 Unity 腳本個有利弊,看如何取舍,一般都是選擇前者。 Xcode 簡介 Xcode 是蘋果公司向開發(fā)人員提供的集成開發(fā)環(huán)境,用于開發(fā) Mac OS X, iOS 的應用程序, Xcode 具有較強的編譯速度。 Unity 導出 IOS 程序的時候需要導出 Xcode 工程,然后由 Xcode 編譯導出發(fā)布,當然還需要申請安裝蘋果開發(fā)官方的開發(fā)者證書。文章最后在介紹 Unity 工程導出成 IOS 版本安裝到 ios 移動設備上會詳細介紹流程以及注意事項。 C語言和 Javascript 腳本 這兩者都是 Unity 開發(fā)支持的語言,當然還包括 boo 腳本,但一般不怎么用 boo 腳本作為開發(fā)語言,前兩者語言, C國內(nèi)人用的比較多, Javascript 國外開發(fā)者用的比較多,接下來我們就做一個對比,這兩種語言開發(fā) Unity 有什么異同。在這里,因為 Unity是基于 .NET 平臺,而 C是 .NET 平臺主推的語言,因此我就選擇了 C,能夠更好的兼容 .NET 的一些庫文件。 C語言 C是微軟公司再 2021 年 6 月發(fā)布的一種全新的且簡單、安全、面向?qū)ο蟮某绦蛟O江蘇理工學院 畢業(yè)設計說明書 (論文 ) 第 6 頁 共 13頁 計語言,是專門為 .NET 應用開發(fā)而誕生的一種新的計算機語言 。它吸收了 C++、 Visual Basic、 java 等語言面向?qū)ο蟮奶匦裕掷^承了 C 語言的語法簡約的風格,體現(xiàn)了當今最新的程序設計技術的功能和精華。不同的是, C面向?qū)ο竽P鸵呀?jīng)面向了 Inter 進行了重新設計,它使用的是 .NET 框架的類庫,為了安全起見不再主張指針類型的使用,當然也是可以使用指針,在程序中要做特殊申明。對指針使用的弱化,避免了程序異常訪問系統(tǒng)內(nèi)存地址而帶來的隱患,從而更體現(xiàn)了它的健壯性的特點。 C不支持多繼承,避免了以往類層次結構中由于多重繼承帶來的難以控制的特點, C主張用接口來實現(xiàn) 而不是多繼承,主要的目的就是減少程序的復雜性,減少出錯的可能性,使運行效率更高。 .NET 框架為C#提供了一個強大的、易用的、邏輯結構一直的設計環(huán)境。同時,公共運行時 (Common Language Runtime)為 C語言提供了一個托管的運行環(huán)境,使程序比以往更加穩(wěn)定、安全。 C語言的特點有: .語言簡潔優(yōu)雅、安全穩(wěn)定 .保留了 C++面向?qū)ο蟮奶匦? .能夠快速開發(fā)應用 .強大的開發(fā)控件 .支持跨平臺 Javascript 語言 Javascript 是一種直譯式、動態(tài)、弱類型、基于原型的腳本 語言,內(nèi)置支持類。 它的直譯器 被稱為 JavaScript 引擎 ,為 瀏覽器 的一部分,廣泛用于 客戶端 的 腳本語言 ,最早是在 HTML 網(wǎng)頁上使用,用來給 HTML 網(wǎng)頁增加動態(tài)功能。 Javascript 語言的特點: .簡單性 .動態(tài)性 .跨平臺性 .安全性 IOCP 框架簡介 IOCP 全稱 I/O Completion Port, IOCP 模型屬于一種通訊模型,適用于 (能控制并發(fā)執(zhí)行的 )高負載服務器的一種技術,基于 IOCP 通信的的服務器是以多線程 的方式實現(xiàn)了江蘇理工學院 畢業(yè)設計說明書 (論文 ) 第 7 頁 共 13頁 與多個客戶的消息并發(fā)交互,可以合理有效的處理客戶端端的消息,可以使得系統(tǒng)內(nèi)存資源得以合理的利用,有效的解決了因多線程競爭所帶來的問題。 IOCP 內(nèi)部工作隊列圖 如下圖 22(源于 IOCP 本質(zhì)論 ),簡節(jié)明了的看出 IOCP 本質(zhì)其實就是創(chuàng)建一個線程池然后內(nèi)部是以隊列和棧的方式來處理客戶端交互請求。 圖 22 IOCP內(nèi)部工作隊列圖 程序?qū)崿F(xiàn) IOCP 模型的基本步驟 如下圖 (23),最重要的步驟還是創(chuàng)建了線程池來管理大量線程的切換處理從而提高了服務器端的性能。 江蘇理工學院 畢業(yè)設計說明書 (論文 ) 第 8 頁 共 13頁 圖 23 程序?qū)崿F(xiàn) IOCP模型步驟 使用 IOCP 模型和不使用 IOCP 模型通訊的對比 對比圖如下 (圖 24),很明顯能看出不一樣的地方,不適用 IOCP,用普通的 socket連接,我做過測試,對服務器內(nèi)存資源消耗比較大,貌似上百多個客戶端連接之后服務器端就容易崩潰,內(nèi)存發(fā)出警報,健壯性是服務器端程序首當要考慮的,而測試使用IOCP 模型的客戶端能夠達到 2K3K 左右的穩(wěn)定連接,并且內(nèi)存資源消耗還比較小,下文測試章節(jié)會有具體的截圖。 江蘇理工學院 畢業(yè)設計說明書 (論文 ) 第 9 頁 共 13頁 圖 24 使用 IOCP和不使用 IOCP框架通訊對比 江蘇理工學院 畢業(yè)設計說明書 (論文 ) 第 10 頁 共 13頁 本章小結 本章主要介紹了開發(fā) Unity 游戲所需要的腳本語言以及開發(fā)環(huán)境。之所以選擇 C而非 js 是因為 C語言更面向?qū)ο蠛途邆湟恍└呒壍奶匦?(封裝,繼承,多態(tài),反射和泛型等 ),它也是國內(nèi)的主流開發(fā)語言之一,而 Javascript 相對比較容易入門,語言本身是弱類型不需要那么嚴謹,在實際商業(yè)項目開發(fā)中不是太收推崇。因此本次設計以 C語言編寫,同時采用 調(diào)試和 VisualStdio2021 集成開發(fā)環(huán)境。服務器端基于 IOCP 模型搭建的比較穩(wěn)定、高效、健壯的服務器應用程序。 第 3 章 系 統(tǒng)需求分析 用戶功能需求分析 系統(tǒng)是由登錄,叫地主,出牌,壓牌,判斷勝負,用戶獎懲機制,實時聊天,退出等功能組成。 該斗地主是根據(jù)民間盛行的撲克牌游戲演變而來,融入了現(xiàn)代電子游戲快捷便利,能更好的滿足玩家的游戲體驗以及提升業(yè)余生活的樂趣,達到緩解壓力的效果。 系統(tǒng)性能要求 系統(tǒng)必須穩(wěn)定安全,對異常處理要做的比較完善,首先確保的是服務器端的穩(wěn)定高效的運行,服務器采用的收費阿里云服務器,里面承載的是經(jīng)典的 windows server 2021服務器系統(tǒng),然后服務器端采用的是 IOCP 框架用 Winform 應用形式呈現(xiàn)出來。 可行性分析 我將從以下幾點分析該設計的可行性: (1)經(jīng)濟上的可行性 考慮到是多人在線網(wǎng)絡斗地主,而非僅局限于局域網(wǎng)的范圍,因此就必須有一個穩(wěn)定的外網(wǎng)服務器,目前我在公司管理著公司用的阿里云服務器,因此我決定臨時可以租用一下公司的云服務器,經(jīng)濟上是可行的。 江蘇理工學院 畢業(yè)設計說明書 (論文 ) 第 11 頁 共 13頁 (2)技術上的可行性 本系統(tǒng)不需要差大規(guī)模的計算和非常高的性能要求,可能需要處理一些中級一點的并發(fā)處理問題,對服務器端的性能還需要有一定考究,但不至于力所不能及,還有一些關于牌類的算法,例如洗牌算法,發(fā)牌算法 ,壓牌算法等,但通過自己的思考相信也應該是可行的。 (3)資源可行性 雖然沒有美工做配合,但網(wǎng)上搜集一些簡單的免費的圖片還是能夠找到,可能效果不是非常的理想,但從程序?qū)崿F(xiàn)的角度,基本能達到預期的要求,如果以后想要完善,可以找專門的美工做好圖片然后進行替代即可。 (4)游戲可玩性 玩家可以通過設置用戶名進行登錄進游戲大廳進行多人對戰(zhàn),如果還想要做的完善一些可以專門接入騰訊或者新浪微博的 sdk,用專用的賬號登錄或者是普通注冊即可,用戶也可對其個人信息進行修改。 第 4 章 總體方案設計 紙牌設計 牌型設計 總所周知,一張紙牌是由數(shù)字、花色、背面所組成,在設計游戲之前先設計出一副牌的所有模板,這里列舉一些部分牌的截圖 (圖 41): 圖 41 牌型 江蘇理工學院 畢業(yè)設計說明書 (論文 ) 第 12 頁 共 13頁 搜集出一整副牌的圖片,然后程序里就可以通過代碼來調(diào)用顯示到界面。 出牌類型 (游戲規(guī)則 )設計 出牌類型有很多種,包括:單牌、一對、三張、三帶一對、四張一樣(炸彈)、王炸(大小王)、三連對、飛機等,詳細游戲規(guī)則可以參考附錄 A。 C/S 模式 C/S(Client/Server,客戶機 /服務器 )結構,是大家熟知的客戶機和服務器 結構。它是軟件系統(tǒng)體系結構的一種。主要是由客戶端應用程序 (Client)和服務器端程序 (Server)以及中間件 (middle)三個部件組成??蛻舳藨贸绦蚴鞘窍到y(tǒng)中用戶跟服務器進行數(shù)據(jù)的交互的部件。服務器端程序負責有效個管理系統(tǒng)資源,處理多個客戶端連接請求以及跟多個客戶端進行數(shù)據(jù)交互。 基于 C/S 模式的服務器端設計流程圖 服務器端處理客戶端連接流程,參見下圖 (圖 42) 接 受 客 戶 端 的連 接 請 求判 斷 是 否允 許 連 接N 警 告 連 接 失 敗將 客 戶 端 連 接添 加 到
點擊復制文檔內(nèi)容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1