上篇:兩人鬥地主客戶端原始碼(一)
下面繼續……
//
int ccardparserddz::cptrlistn::getmaxpaicount()
return maxdd;
}bool ccardparserddz::cptrlistn::bsucceed()
return true;
}bool ccardparserddz::cptrlistn::bfailed()
return true;
}ccardparserddz::cptrlistn::cptrlistn(cptrlist& lst)
}ccardparserddz::cptrlistn::~cptrlistn()
void ccardparserddz::cptrlistn::clear()
mlist.removeall ();}/*
bool ccardparser::is3s1s(
cptrlist& lst,
int lzcnt,賴子數
int last3paidian,上一手3牌牌點,如=-1則為入口位
bool bstart,
int &firstpd
)if(t.bfailed())return false;
int lzcnt0=lzcnt;
if(bstart)last3paidian=-1;
bool bneedfind3=true;
///while(1)
else if(cur3paidian <= 2)
else bneedfind3=true;
//else
if(!p)
else
p3cnt=p->mcount;
p->mps = -1;
lzcnt -= 3 - p->mcount;
p->mcount = 0;
}} int p1cnt=-1;
pstypenode *p1=t.pfind
( lzcnt,//int lzcnt,賴子數
1,//int n,/要找的牌的張數
false,//bool bfindshunpai,要找的牌是順牌(true,)帶牌(false)
cur3paidian//-1//cur3paidian//int cur3paidian要找的牌是順牌牌點,如=-1則為入口位
);if(!p1)
else
int fpd=-1;
bb= is3s1s(t.mlist, lzcnt,cur3paidian ,false,fpd);
if(bb)return true;
///這一次找不到,恢復資料: 重新開始找
if(p1)
if(p)
lzcnt=lzcnt0;
return is3s1s(t.mlist, lzcnt,last3paidian ,true,firstpd); }
}*/#pragma once
struct pstypenode
};class ccardparserddz
;};
下篇:兩人鬥地主客戶端原始碼(三)
更多棋牌遊戲原始碼,請前往棋牌社群檢視。
HDFS客戶端 輸出流原始碼解析
一 建立檔案 1 dfsclient.create 用於建立乙個空檔案,返回乙個輸出流物件。在函式內部,會構造乙個dfsoutputstream,它主要是通過namenode的rpc方法,建立乙個檔案到namenode。2 此建構函式還會計算乙個包中最大可以放的資料。一般來說,資料報最大能達到64k...
四 RabbitMQ 客戶端原始碼之Frame
frame是指amqp協議層面的通訊幀 乙個正式定義的連線資料報 我們來看下frame類中的成員變數有哪些 frame type code public final int type frame channel number,0 65535 public final int channel fram...
客戶端提交mr job原始碼流程分析
job job.getinstance獲得job物件 job.set 新增configuration等配置引數 job.waitforcomplete 原始碼內部實則呼叫submit 方法 之後jobsubmiter中有個成員cluster cluster中又有個成員proxy 物件,幫助提交到ya...