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

正文內(nèi)容

斗地主的制作與實現(xiàn)(報告完整源代碼論文)word格式-wenkub

2022-12-17 03:59:55 本頁面
 

【正文】 ASYNC |SND_NODEFAULT)。 return true。amp。 } if(type2==5) { PlaySound(res\\炸彈 .wav,NULL,SND_ASYNC |SND_NODEFAULT)。 if(type2!=0) return true。 num2==4)|| type2==5) { PlaySound(res\\炸彈 .wav,NULL,SND_ASYNC |SND_NODEFAULT)。 } PlayS(min2,type2,num2)。amp。 else if(j!=20) { PreOut[j].Num=16。 Ca[i].Num=15。 j=0。 } } bool Managers::CheckCard(int pl) { Card *Ca=PlayCards[pl]。 SendCard()。k++) Sendleft[k].Click=true。k20。 Power=10。 define new DEBUG_NEW endif ////////////////////////////////////////////////////////////////////// // Construction/Destruction ////////////////////////////////////////////////////////////////////// Managers::Managers() { Game_State=2。 //發(fā)牌 bool CheckCard(int pl)。min,int amp。 //發(fā)牌 void SortCard(Card ca[])。 void Updata()。//地主 Card OutCards[20]。 virtual ~Managers()。//游戲初始化,發(fā)牌。//重新計時 NetControl *pControl。min,int amp。//網(wǎng)絡(luò)連接 第 5 頁 共 59 頁 四 、主要模塊(或函數(shù)) 的算法思想和程序框圖 流程圖 如下圖所示: Managers 模塊: 文件 include include // Added by ClassView //include class Managers { public: bool m_CardSound。//網(wǎng)絡(luò)配置 void OnSet()。 NetControl(CProgramView *p)。//整體重畫 CChat 模塊 :基本對話框的聊天模塊 . CNet 模塊 :網(wǎng)絡(luò) 控制 CServer 模塊: 網(wǎng)絡(luò)主機(jī)配置 NetControl 模塊 :用于設(shè)置網(wǎng)絡(luò)各方面的問題。//點擊退出按鈕后的響應(yīng)函數(shù) void OnOK()。//畫出當(dāng)前玩家所出的牌 int SelectNum(int num,int mx,int my)。 void DrawLeft()。 void Updata()。//用來得到牌的信息。 //發(fā)牌 void CardsInfo(Card ca[],int amp。 二、 所采用的數(shù)據(jù)結(jié)構(gòu) 沒有 . 第 3 頁 共 59 頁 三、主要模塊(或函數(shù))及其功能 本游戲的 所有 模塊如下圖所示: 其中主要模塊功能: Managers 模塊 :這是本游戲的核心模塊之一。上面中間是游戲地主最后拿的三張牌,左右分別是玩家的牌,下面中間是自己的牌。 對于聯(lián)網(wǎng)斗地主,要實現(xiàn)以下功 能: 1, 能夠聯(lián)網(wǎng)對戰(zhàn),能及時出牌并能與主機(jī)一起更新游戲狀態(tài)。 2, 能正確判斷勝負(fù)和游戲的開始與結(jié)束。在游戲的右下方有 2個按鈕,分別是出牌和過牌。 函數(shù) : void GameStart()。num,int amp。到底是炸彈,連牌,還是什么的。//根據(jù)游戲狀態(tài)的改變,從而設(shè)置游戲界面的狀態(tài)。//繪出剩下的地主的牌,當(dāng)?shù)刂鬟€沒決定的時候畫的是牌的背面,決定地主 //后畫出地主的牌 void DrawPlayername()。//判斷玩家點牌后具體點的是哪一張 void DrawOtherCard()。//點擊確定按鈕后的響應(yīng)函數(shù) virtual ~CProgramView()。 函數(shù) : void StartCards()。 void Broadcast(char * pMsg)。//設(shè)置問題 void OnOpen()。 void ClearCard()。type) OutPlayer OutCards 不能走牌 能走牌 判斷是否能走牌 這個函數(shù)是用來得到牌的信息,到底是炸彈,連牌, 還是什么。 void PlayS(int min2,int type2,int num2)。 bool MainComputer。 Card PlayCards[3][20]。//走的牌,一次也最多出 20張牌 int OutPlayer。 // 2游戲沒開始 // 1游戲準(zhǔn)備中,選地主 // 02 游戲玩家出牌 // 35 對應(yīng) 02玩家勝利 int Power。 int p[3]。type)。 Card PreOut[20]。 PlayerAc = 1。 m_CardSound = true。k++) PlayCards[1][k].Click=false。 if(MainComputer) { //Power=10。 PlayerMain=rand()%3。//用 Ca 指針來代替 Player[pl],使程序簡單容易理解 int i,j。 for(i=0。i++) if(Ca[i].Click) { PreOut[j]=Ca[i]。//表示此后的都沒有牌了 } Ca=PreOut。 num2==4)|| type2==5) { PlaySound(res\\炸彈 .wav,NULL,SND_ASYNC |SND_NODEFAULT)。 第 9 頁 共 59 頁 if(type2!=0) return true。 if(type2 != 5)PlaySound(res\\,NULL,SND_ASYNC |SND_NODEFAULT)。 } if(type2==0) return false。 PlaySound(res\\,NULL,SND_ASYNC |SND_NODEFAULT)。 type2==4) { if(num2==num1) { if (min1min2) { if (num1==4) { PlaySound(res\\ 炸彈 .wav,NULL,SND_ASYNC |SND_NODEFAULT)。 } else return false。 PlaySound(res\\,NULL,SND_ASYNC |SND_NODEFAULT)。 } else return false。 bool Cards[55]={false}。j17。Ca=PlayCards[i][j]。 =false。 =false。 if(==1 || ==2) =+11。k54。 if(k==53 || k==52) { =k38。 } else { =k%13+1。 第 12 頁 共 59 頁 else =。 PlayCards[2][17].Num=16。 else =true。amp。 第 13 頁 共 59 頁 SortCard(PlayCards[PlayerAc])。 t=30。 if(PlayerMaininfo == 3) { Game_State=2。 m_pView(SW_HIDE)。 } PlaySound(res\\不叫 .wav,NULL,SND_ASYNC |SND_NODEFAULT)。 else if(action==4) { if(CheckCard(Game_State)) { t=30。amp。 j=0。amp。 } OutPlayer=Game_State。 } else return false。 Game_State=(Game_State+1)%3。 } void Managers::Updata() { int j。amp。 else { //改變 if(Game_State == PlayerMain) { MessageBox(GetActiveWindow(),地主勝利 !,勝利 ,0)。 第 15 頁 共 59 頁 PlaySound(res\\,NULL,SND_ASYNC |SND_NODEFAULT)。 } } } m_pView()。 m_pViewm_isReady = false。 Power = 10。num,int amp。max,int amp。type) { int i,k,n。n20 amp。 type=0。k++)//連牌 if(ca[k].Pow!=ca[k+1].Pow1) break。 type=3。kn。 nsame[i]++。tem++) if(nsame[tem]!=2 || same[tem]!=same[tem+1]1) break。 if(temi)//三順 { type=7。 int kmin=0。 } else if(nsame[tem]==2) { ty2++。 for(。 same[tem]==same[tem+1]1) num3++。 nsame[tem]==3) num3++。amp。 min=kmin。k=2。amp。 } else if(maxnum==4) { type=2。 for(k=0。 same[i]=ca[k].Pow。k=2。amp。 } else if(maxnum==3 amp。 return。 min=same[i]。 } else if(ca[0].Pow==14 amp。 } } else if (n==1) { min=ca[0].Pow。 for(i=0。i++) for(j=i+1。j++) if(ca[i].Powca[j].Pow) { temp=ca[i]。 else PlaySound(res\\,NULL,SND_ASYNC |SND_NODEFAULT)。 } else if(4 == type2) { if(1 == num2) { switch(min2) { case 1: PlaySound(res\\ 出牌 \\,NULL,SND_ASYNC |SND_NODEFAULT)。 case 3: PlaySound(res\\ 出牌 \\,NULL,SND_ASYNC |SND_NODEFAULT)。 case 5: PlaySound(res\\ 出牌 \\,NULL,SND_ASYNC |SND_NODEFAULT)。 case 7: PlaySound(res\\ 出牌 \\,NULL,SND_ASYNC |SND_NODEFAULT)。 case 9: PlaySound(res\\ 出牌 \\,NULL,SND_ASYNC |SND_NODEFAULT)。 case 11: PlaySound(res\\ 出牌 \\,NULL,SND_ASYNC |SND_NODEFAULT)。 case 13: PlaySound(res\\ 出牌 \\,NULL,SND_A
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1