【正文】
ogicValue=15) return CT_ERROR。 } //兩張類型 if ([1]=3) { //變量定義 BYTE cbCardData=[1][0]。([1]==[2])) return CT_THREE_TAKE_TWO。 if (([2]*5==cbCardCount)amp。 //牌形判斷 if ([2]*3==cbCardCount) return CT_THREE_LINE。 if (cbFirstLogicValue!=(GetCardLogicValue(cbCardData)+i)) return CT_ERROR。i[2]。 //錯誤過慮 if (cbFirstLogicValue=15) return CT_ERROR。 } //三牌判斷 if ([2]0) { //連牌判斷 if ([2]1) { //變量定義 BYTE cbCardData=[2][0]。([1]==2)) return CT_FOUR_TAKE_TWO。(cbCardCount==8)amp。 if (([3]==1)amp。amp。 (cbCardCount==4)) return CT_BOMB_CARD。 //四牌判斷 if ([3]0) { //牌型判斷 if (([3]==1) amp。 } } //分析撲克 tagAnalyseResult AnalyseResult。 if (GetCardLogicValue(cbCardData[0])==GetCardLogicValue(cbCardData[1])) return CT_DOUBLE。amp。 } case 1: //單牌 { return CT_SINGLE。 (1)數(shù)據(jù)傳輸?shù)膶崿F(xiàn)講的是同一個原理,它們不同之處就在客戶端不向服務(wù)器端發(fā)送反饋信息齊齊哈爾大學(xué)畢業(yè)設(shè)計(論文) 第5章 紙牌設(shè)計 紙牌的設(shè)計我們知道,一張普通的紙牌是由數(shù)字、花色和背面組成的,所以在設(shè)計紙牌游戲的時候,首先要設(shè)計出一副完整的紙牌,利用Visual C++語言來編譯出紙牌的代碼,然后再進行進一步的游戲出牌規(guī)則設(shè)計。成員函數(shù): Serialize(CArchiveamp。 類Card: 卡片類(牌),數(shù)據(jù)成員花色(color),牌面(value)等等 類 CS:數(shù)據(jù)傳送單元,C/S模式之間的數(shù)據(jù)傳送。 客戶端模塊設(shè)計(1)與服務(wù)器通信功能的實現(xiàn) 類CClientUseSocket2 :客戶端游戲數(shù)據(jù)傳送socket,專用于收發(fā)對服務(wù)器的數(shù)據(jù)。Comb是bo的意思,指牌的類型。Colors,b都是根據(jù)需要,對card 的補充。ThisPlayer)等等。類playing_Cards :游戲規(guī)則類,數(shù)據(jù)成員:玩家數(shù)目(num_Players),有牌數(shù)目(num_Cards),每個玩家有牌數(shù)目(cards_Each)等。枚舉colors :包括方塊,梅花,紅心,黑桃,小鬼,大鬼總共六種花色。然后,當(dāng)對應(yīng)客戶端發(fā)來動作請示 時,CClientSocket自動捕獲之,通過playingcards調(diào)用規(guī)則機制(請看(2)游戲規(guī)則的實現(xiàn)),進行合法性判斷以后,把所得的處理結(jié)果填入Cs數(shù)據(jù)傳送單元,再廣播出去。當(dāng)客戶端請示登錄時,CListenSocket自動捕獲請示,當(dāng)請示合法且系統(tǒng)還有空位時,接受請示。成員: 消息 message,數(shù)據(jù)相關(guān)者InfoAbout,Serialize(CArchiveamp。 類CClientSocket: 數(shù)據(jù)傳送socket,傳送C/S之間的數(shù)據(jù)、消息。主要使用了以下幾個類來實現(xiàn)數(shù)據(jù)的傳輸。(5) 服務(wù)器處理所有的玩家的動作,然后廣播數(shù)據(jù)給每個玩家;客戶端通過判斷機制決定是否接受廣播,并執(zhí)行相應(yīng)的顯示與相關(guān)的游戲設(shè)置。當(dāng)請示動作合法時,服務(wù)器發(fā)送許可消息,客戶端方能做出請示動作(實際上只是顯示動作的結(jié)果,因為服務(wù)器已經(jīng)處理了該動作,在發(fā)送許可的同時發(fā)送了處理結(jié)果)。并開始隨機產(chǎn)生地主,最終為地主的玩家必須首先出牌。對于中途退出者,若是發(fā)牌之前或經(jīng)過其他玩家一致同意其退出,則不對其進行處罰,否則,為逃跑性質(zhì),進行處罰。(2) 登錄的控制問題。中間插件負責(zé)聯(lián)結(jié)客戶應(yīng)用程序與服務(wù)器管理程序,協(xié)同完成一個工作,以滿足用戶查詢管理數(shù)據(jù)的要求[11]??蛻舳耸窍到y(tǒng)中用戶與數(shù)據(jù)進行交互的部分。3. 4 系統(tǒng)的組成和功能構(gòu)想(1) 用戶動作信息錄入功能--輸入(2) 系統(tǒng)信息顯示功能--輸出(3) 登陸功能(4) 退出功 齊齊哈爾大學(xué)計畢業(yè)設(shè)計(論文) 第4章 系統(tǒng)總體設(shè)計方案 C/S模式 C/S模式C/S (客戶機/服務(wù)器)模式又稱C/S結(jié)構(gòu),是軟件系統(tǒng)體系結(jié)構(gòu)的一種。3. 3 系統(tǒng)定義本游戲是斗地主游戲,是根據(jù)民間的盛行的撲克牌游戲斗地主,融合現(xiàn)代電子游戲的特點和管理需要,推出的體現(xiàn)當(dāng)前行業(yè)最具有代表意義的解決方案。(3) 資源上的可行性:開發(fā)本系統(tǒng)無需很特殊設(shè)備與環(huán)境,所以資源上具有可行性。管理方面可行性:主要為規(guī)程制度,工期方面。技術(shù)方面可行性:主要分析技術(shù)、硬件、通訊等方面。這是一項保證資源合理使用、避免失誤和浪費的重要工作。3. 2 可行性分析 可行性分析的意義可行性研究能使新系統(tǒng)達到以最小的開發(fā)成本取得最佳的經(jīng)濟效益。(4) 驗證:對程序的完整性,需求的正確性和清晰程度,以及其它需要的需求給予驗證。(3) 制訂說明書:就是編制幫助文檔,描述幫助文檔可以稱為軟件需求規(guī)格說明書。(2) 分析與綜合:逐步細化所有的軟件功能,找出系統(tǒng)各元素間的聯(lián)系,接口特性和設(shè)計上的限制,分析他們是不是滿足程序的需求,刪掉不合理部分,增加需要改動的部分。 需求分析過程 需求分析階段的工作,可以大體的分為四個部分:問題鑒定,分析與綜合,制訂規(guī)格說明,驗證。如果開發(fā)軟件費了很大的精力,開發(fā)出一個軟件,最后卻滿足不了用戶的要求和需要,以至于要重新修改和開發(fā),這種返工是可以避免的。調(diào)試菜單:對程序代碼進行調(diào)試和生成可執(zhí)行程序。Visual C++ 2003的主菜單包含文件、編輯、視圖、項目、生成、調(diào)試、工具、窗口、幫助等項。 Visual C++ 2003的開發(fā)環(huán)境Visual C++ 2003是一個Windows應(yīng)用程序,啟動后顯示一個標準窗口,包括窗口框架、標題欄、菜單欄、工具欄、項目工作區(qū)、狀態(tài)欄等,在這個窗口中可完成程序創(chuàng)建工程、編輯編譯文件、資源編輯、程序調(diào)試、鏈接生成可執(zhí)行文件等工作,是一個集成化開發(fā)環(huán)境[9]。 從最早的版本,發(fā)展到最新的2012版本,Visual C++已經(jīng)有了很大的變化,在界面、功能、庫支持方面都有許多的改動與增強。Visual C++包中除包括C++編譯器外,還包括所有的庫、例子和為創(chuàng)建Windows應(yīng)用程序所需要的文檔。 Visual C++ 2003簡介Visual C++是Microsoft公司的Visual Studio開發(fā)工具箱中的一個C++程序開發(fā)包。C++語言是一種相對應(yīng)用很廣的面向?qū)ο蟮某绦蛟O(shè)計語言,應(yīng)用可以實現(xiàn)面向?qū)ο蟮某绦蛟O(shè)計。 Visual C++編程特點 C++語言的發(fā)展C++語言發(fā)展歷程大概可以分為三個階段:第一階段是從80年代到1995年,C++語言基本上是傳統(tǒng)類型上的面向?qū)ο笳Z言,并且憑借著各個方面接近C語言的優(yōu)勢,在工業(yè)界以及其他的行業(yè)使用的開發(fā)語言中占有了相當(dāng)大的份額; 第二階段從1995年到2000年,這一階段由于標準模板庫(STL)和后來的Boost等程序庫的出現(xiàn),泛型程序的設(shè)計在C++中占據(jù)了越來越大的份額。加上有微軟的支持,其自身的語言的廣泛程度高,以及其代碼的執(zhí)行效率優(yōu)異的特性、VC中也自帶了強大的幫助文檔以及大量的優(yōu)質(zhì)教材,VC在開發(fā)工具中一直可以保持一定的地位[4]。Visual C++,是基于MFC庫的可視化的開發(fā)工具,它是一個不便使用但功能強大的一種工具。在常見的管理系統(tǒng)和一般的數(shù)據(jù)庫開發(fā)中,極少有人會選擇JAVA。JAVA工具,目前比較出名的是Borland出的JBuilder和IBM出的Visual Age for Java,兩種工具。PB,全稱PowerBuilder,是開發(fā)MIS跨平臺系統(tǒng)的首選,使用簡單,容易學(xué)習(xí),容易掌握,在效率上有相當(dāng)優(yōu)勢。VB開發(fā)效率高,但是執(zhí)行效率一般,但是易學(xué)性高,有較好的學(xué)習(xí)書籍和幫助文檔。我們先來了解一下各類開發(fā)工具。利用一系列高效的、良好的簡潔的編程工具來開發(fā)多種數(shù)據(jù)庫軟件,從而達到高效快速的效果,所以開發(fā)工具的選擇顯得非常重要。(6)如何判斷游戲是否結(jié)束以及游戲的輸贏問題。(4)如何控制地主的隨機生成。(2)如何設(shè)置整個游戲的界面。 設(shè)計思路斗地主有網(wǎng)絡(luò)斗地主和單機版斗地主游戲,本設(shè)計最主要的目的是基于Visual C++語言設(shè)計一個網(wǎng)絡(luò)版斗地主游戲。網(wǎng)絡(luò)小游戲制作的目的是滿足了人們休閑的需要,在緊張工作之余休閑類的小游戲能夠給人帶來最大程度的放松,也可以增進人們之間的交流,溝通,通過游戲還可以認識更多的朋友,也可以到達跨省、跨市,甚至跨國間人們互相娛樂的目的。因此,一些單機游戲更受到了人們的追捧。斗地主,之所以取這樣的名字,就像現(xiàn)在社會存在的機會,不論是手機,還是小游戲機,不可能花費大量時間在娛樂上,大型游戲是行不通的,這樣的小游戲剛好迎合了他們的需求. 各式各樣的游戲給我們的生活帶來了無限的樂趣,但同時也出現(xiàn)了一些問題。比較完善的大型游戲主要有:反恐精英(CS)、星際爭霸、WarcraftII、FIFA200帝國時代、FIFA2004等等。 This procedure in the detailed design constantly correction and perfect when, after testing phase repeated missioning and validation, and finally form the feasible system to meet the design requirements。The game consists of three people playing, use a pair or two pairs of CARDS, landlords and the rest for the party to the other party, the two sides, first out CARDS against the party after winning。Reportedly, the landlord of the old society in the root of evil, no hooliganism village don39。The network game, LAN game and other casual games for many people like it,but Landlord also affected by the broad masses in both hands。本程序在詳細設(shè)計時不斷地修正和完善,經(jīng)過測試階段反復(fù)調(diào)試和驗證,最終形成達到設(shè)計要求的可行系統(tǒng)。使用者可以簡單方便的實現(xiàn)斗地主游戲。該游戲由三個人玩,用一副或兩副牌,地主為一方,其余兩家為另一方,雙方對戰(zhàn),先出完牌的一方獲勝。“斗地主”是流行于全國的一種撲克游戲,玩法簡單,娛樂性強,老少皆宜。齊齊哈爾大學(xué)畢業(yè)設(shè)計(論文) 摘 要隨著科技的進步,計算機已經(jīng)普及每個家庭,而計算機游戲也隨之越來越多,越來越豐富。網(wǎng)絡(luò)游戲、單機游戲等休閑游戲讓眾多人喜歡,而斗地主也受廣大群眾的追捧。據(jù)傳在舊社會的民間,地主橫行鄉(xiāng)里,無惡不做,人們?yōu)榱税l(fā)泄對地主的痛恨,常常在一天的勞作之后,一家人在家里來斗地主。,以Visual C++語言編譯的一個應(yīng)用程序。本程序界面友好,操作簡單,比較實用。關(guān)鍵字:斗地主; 紙牌; Visual C++;數(shù)據(jù)庫;I齊齊哈爾大學(xué)畢業(yè)設(shè)計(論文)