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

正文內(nèi)容

android手機下的斗地主游戲設(shè)計與實現(xiàn)畢業(yè)論文(編輯修改稿)

2025-07-21 18:31 本頁面
 

【文章內(nèi)容簡介】 ,b 都是根據(jù)需要,對 card 的補充。Colors 是各個 牌的花色共有 6種,后兩種是小鬼(Bjoke)大鬼(Rjoke),不用于其他牌。Comb 是 bo 的意思,指牌的類型。在斗地主中,牌型有單牌 ,順子,對子, 3 帶**, 4 帶**,炸彈,火箭等,詳細(xì)請看附錄 2 網(wǎng)絡(luò)斗地主的規(guī)則簡介。Player 是玩家在服務(wù)器中的一個映射,玩家的任何動作都由它代為完成,然后將結(jié)果返回給服務(wù)器的相關(guān)內(nèi)存。playingCards 充分利用以上幾個類的對象,對附錄 2 中“一副牌的規(guī)則”進(jìn)行了模擬實現(xiàn),做到了一模一樣。并且加上了方法。封裝起來,外界通過類的對象,只要調(diào)用它的方法,就可以實施對玩家出牌 的合法性判斷,并做相關(guān)畢業(yè)設(shè)計9結(jié)果的存儲工作。至于判斷結(jié)果如何處置,請參看(3)游戲平臺的實現(xiàn) (2)游戲平臺的實現(xiàn):對話框 CdisplayflashDlg :客戶端游戲界面,內(nèi)含與 flash UI 通信的接口。數(shù)據(jù)成員:積分 m_nintegral,剩牌數(shù)目 m_nsparecards 座位號m_norder_seats,放棄動作 m_nPass,手上的牌 m_strpcards 選擇的牌m_strselectcards,合法牌 m_stroutcards 等等。成員函數(shù):接收數(shù)據(jù)OnReceive(),關(guān)閉 OnClose()等。 顧名思義,display 就是顯示的意思, flash 就是用動畫顯示。在客戶端,只通過接收機制判斷命令是否針對自己,若是,則執(zhí)行之,顯示服務(wù)器處理結(jié)果。否則,不執(zhí)行,只獲取當(dāng)前玩家狀態(tài)。該接收機制就是 OnReceive 方法。它通過switch()case 機制區(qū)分不同的消息;通過 和 m_norder_seats來判斷消息中的指令是否針對自己發(fā)出的。 相關(guān)技術(shù)的處理應(yīng)用 數(shù)據(jù)實體定義當(dāng)玩家接收派牌時,類 Card 的定義是這樣的: public class Colors { static final int diamond=1。 //方塊 static final int club=2。//梅花 static final int heart=3。//紅心 static final int spade=4。//黑桃 static final int bjoke=5。 //小鬼 static final int rjoke=6。//大鬼}public class Card { int value 。 Colors colors。 int exist。 int num。 public Colors getColors() { return colors。 }畢業(yè)設(shè)計10 public void setColors(Colors colors) { = colors。 } public int getExist() { return exist。 } public void setExist(int exist) { = exist。 } public int getNum() { return num。 } public void setNum(int num) { = num。 } public int getValue() { return value。 } public void setValue(int value) { = value。 }} 詳細(xì)代碼請看附錄或磁盤;第 5 章 詳細(xì)設(shè)計與系統(tǒng)實現(xiàn)詳細(xì)設(shè)計是整個設(shè)計過程中,最重要的步驟之一。本系統(tǒng)的功能主要分成兩大模塊: 服務(wù)器端和客戶端。 每個模塊有可以分成幾個子模塊。下面分幾個部分對各個模塊進(jìn)行詳細(xì)設(shè)計:畢業(yè)設(shè)計11功能模塊? 數(shù)據(jù)接收功能? 顯示信息功能? 數(shù)據(jù)捕獲功能? 合法性判斷功能? 游戲退出功能 功能模塊的實現(xiàn) 啟動游戲點擊“啟動游戲”就可以調(diào)用成員函數(shù) OnSet() ,啟動游戲。這個很簡單,就不多講啦。 開始游戲功能啟動游戲后,自動生成兩個電腦玩家,開始進(jìn)入游戲狀態(tài)。 數(shù)據(jù)捕獲功能 OnReceive()捕獲數(shù)據(jù) 合法性判斷功能 playingcards1 來調(diào)用類 playingCards 中的封裝的規(guī)則實現(xiàn)方法,最終完成合法性判斷。首先,在 OnRecieve()方法中,實現(xiàn)對用戶出牌的 m_strpos(里面包含的是客戶端點擊的牌的 position)的剝離,使之轉(zhuǎn)換成整型數(shù)組 pos[lenpc],lenpc 是客戶端實際出牌的長度。然后,調(diào)用出牌 方法 (amp。當(dāng)前發(fā)出動作的玩家),進(jìn)行出牌動作。再就是,經(jīng)過選牌 selectcards(Player thisPlayer),返回 Card pc。以及牌型處理方法:Card (Card pc)返回 Card card1和 Comb (Card card1),返回 b1。最后,牌型合法性判斷 boolean (Comb b1,Card card1),如果牌型合法,則繼續(xù)下面的牌面大小合法性的判斷boolean (Card card2),否則,提示出牌 不合法。如果牌面大小合法,則出牌最終是合法的,將出牌處理結(jié)果,存入畢業(yè)設(shè)計12ListCard front = new ArrayListCard(20),并發(fā)送給各個玩家。 值得一提的是,地主開局第一次出牌或者后繼兩家玩家都 pass 掉時,ListCard front 中的 value 值全為1,其他諸如:exist,color,num 分別 為 1,(colors)1,1。所以此時,當(dāng)前出牌玩家出的牌,只要是合法的牌型,就可打合法地打出去。 玩家操作功能操作判斷機制 switch()case 中,case 共分 0:登錄 1:退出 2:開牌 3:叫牌 4:出牌 5:pass 6:計分六種情況。在此以最重要使用、最頻繁的“case 4:出牌”來講述這個功能。 首先,判斷處理結(jié)果是否表明前面出牌是否非法,如果是,將給機會客戶端重新出牌。否則,判斷,信息是否是發(fā)給發(fā)出前面動作的本人。是,則將合法牌顯示在 UI 上,并更新手上的牌。否則,只顯示別人打出來的牌,及其所剩牌數(shù)目。然后,當(dāng)前面動作者是接收方的直接上家(或邏輯上家)時,接收方獲得出牌權(quán)。否則,沒有出牌權(quán)。詳細(xì)規(guī)則請參看附錄 1 客店端對出牌的顯示控制。 顯示信息功能 存儲玩家手上的牌。然后實現(xiàn)排序的問題和合法牌打出以及非法牌回收的問題。排序效果如圖:圖 玩家收到的牌 及其三種排序(按花色,大小,牌型)畢業(yè)設(shè)計13排序算法如下: 先將用戶手上的牌 card20 copy 到 cardHit 中去. 然后,按其數(shù)據(jù)成員 color(桃心梅方),value(大小),num(多少)設(shè)置為不同級別的關(guān)鍵字. (1)按花色排序: 主關(guān)鍵字 color,次關(guān)鍵字 value(2)按大小排序: 主關(guān)鍵字 value,次關(guān)鍵字 color(3)按牌型排序: 主關(guān)鍵字 num,次關(guān)鍵字 value,color前兩種排序只是處理調(diào)用 sortOnValue()與 sortOnColor()按 b 排序稍復(fù)雜一點,先按大小排序, 2 個牌相同的, 3 個牌相同的和只有 4 個牌相同的,. 玩家通過點擊 flash UI 上面的牌,flash UI 把各個被選中的牌的 position 傳遞至這個參數(shù),并被存儲起來。 當(dāng)玩家用鼠標(biāo)點擊某個牌時,該牌會彈出來,高出其他兄弟牌半截,此時,它在牌組 cardHit 中的位置 position 已經(jīng)被取出并存入 中,等待發(fā),點擊手形圖標(biāo)后,就同時觸發(fā)方法 void (), 就隨之被發(fā)送到服務(wù)器端了。服務(wù)器的處理方式請參看 合法性判斷功能 玩家出如果經(jīng)服務(wù)器判斷合法,將被接受并存儲在這個參數(shù)里??蛻舳藢⒑戏ǖ呐迫匡@示在界面中央,并在動作者的手上將相應(yīng)的牌清除掉(使相應(yīng)牌的 exist=1)。如下圖:我們可以看到,動作者手上的梅花 3 補打出去了,由于這是地主的第一次出牌,服務(wù)器判定其合法,客戶端收到判斷結(jié)果后,將牌打出去在界面的中央位置顯示,而在自己手上,清除掉該“梅花 3”。畢業(yè)設(shè)計14圖 選中一張牌并正常打出去如果不合法,系統(tǒng)將不打出去,,將不合法的牌還原到動作者手中,讓動作者重新選擇:出牌 OR PASS。原理其實與上面的大同小異,就不必贅述了。如圖: 非法出牌報錯畢業(yè)設(shè)計15 游戲退出功能CdisplayDlg::OnExit()退出游戲調(diào)用系統(tǒng)方法關(guān)閉窗口、關(guān)閉對話框。畢業(yè)設(shè)計16第 6 章 系統(tǒng)測試與維護(hù)在軟件程序編碼完成之后,在軟件投入使用之前要進(jìn)行軟件測試。何謂軟件測試,簡言之:軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。也就是根據(jù)軟件開發(fā)各階段的規(guī)格說明何程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計測試用例,用這些用例去運行程序以發(fā)現(xiàn)程序錯誤的過程。系統(tǒng)測試在一個系統(tǒng)的周期中占有越來越重要的位置了。在系統(tǒng)正式投入運行的轉(zhuǎn)換工作之前,還需對系統(tǒng)進(jìn)行一系列的調(diào)試即測試。系統(tǒng)調(diào)試的任務(wù)是根據(jù)系統(tǒng)說明書和系統(tǒng)實施方案,對程序設(shè)計的結(jié)果進(jìn)行全面的檢查,找出并糾正其中的錯誤,使可能發(fā)生的問題和錯誤,盡量消滅在系統(tǒng)正式運行之前。6. 1 系統(tǒng)測試的原則? 應(yīng)當(dāng)盡早和不斷的進(jìn)行軟件測試.? 測試用例應(yīng)由測試輸入數(shù)據(jù)和預(yù)期輸出結(jié)果兩部分組成.(注意:測試用例包含輸入和輸出兩部分).? 運行的條件,后者即可能引起程序非法操作的條件.? 是在潛意識不愿意否定自己的勞動成果.? ,不要在某個程序段中找到幾個錯誤就誤認(rèn)為該程序段就沒有錯誤而不再測試,相反該程序段更要集中精力測試。? 測試應(yīng)該制訂計劃,嚴(yán)格按計劃進(jìn)行測試,避免測試的隨意性.? 應(yīng)對每一個測試結(jié)果做全面檢查.有時出錯的征兆已經(jīng)在測試結(jié)果中出現(xiàn)了,但由于沒有對測試結(jié)果進(jìn)行仔細(xì)檢查,而使這個錯誤成了漏網(wǎng)之魚.? 應(yīng)妥善保存測試計劃,用例,錯誤記錄和分析報告.6. 2 測試過程及方法軟件的測試過程有四個步驟:單元測試,集成測試,確認(rèn)測試和系統(tǒng)測試.畢業(yè)設(shè)計17集成測試,檢查軟件是否滿足了各種需求,即把經(jīng)確認(rèn)測試后的軟件放到實際運行環(huán)境中,與系統(tǒng)的其他構(gòu)件一起進(jìn)行測試.單元測試時,有時需要為測試的模塊編寫輔助模塊:是用來調(diào)用被測模塊。后者用來代替被測模塊調(diào)用的子模塊。集成測試,又叫組裝測試,分為兩種:在模塊組裝的過程中,邊組裝邊測試,每增加一個或幾個模塊就測試一次,最后組裝成最后的系統(tǒng),它又分為:自頂向下的增殖,自底向上的增殖,混合增殖等幾種方式.確認(rèn)測試過程要做的工作包括:有效性測試,軟件配置復(fù)
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1