德州扑克想必很多人都玩过,当然对于新手需要说明的是,德州指的是德克萨斯州,而不是山东德州。分享下在计算最大牌型,比牌逻辑的算法和洗牌的方法,希望对大家有帮助。
自己编写,适用于windows,linux平台。
#include "public.h" int TexasCombine5(unsigned char* pCard, unsigned char* pCardColor, unsigned char** pCardResult, unsigned char** pColorResult) { int count = 0; //这里为了速度,没用求组合的公式 if (pCard[6] == 0)//6张牌 { count = 6; *pCardResult = (unsigned char*)MyAlloc(30); *pColorResult = (unsigned char*)MyAlloc(30); *(*pCardResult + 0) = pCard[0]; *(*pColorResult + 0) = pCardColor[0]; *(*pCardResult + 1) = pCard[1]; *(*pColorResult + 1) = pCardColor[1]; *(*pCardResult + 2) = pCard[2]; *(*pColorResult + 2) = pCardColor[2]; *(*pCardResult + 3) = pCard[3]; *(*pColorResult + 3) = pCardColor[3]; *(*pCardResult + 4) = pCard[4]; *(*pColorResult + 4) = pCardColor[4]; *(*pCardResult + 5) = pCard[0]; *(*pColorResult + 5) = pCardColor[0]; *(*pCardResult + 6) = pCard[1]; *(*pColorResult + 6) = pCardColor[1]; *(*pCardResult + 7) = pCard[2]; *(*pColorResult + 7) = pCardColor[2]; *(*pCardResult + 8) = pCard[3]; *(*pColorResult + 8) = pCardColor[3]; *(*pCardResult + 9) = pCard[5]; *(*pColorResult + 9) = pCardColor[5]; *(*pCardResult + 10) = pCard[0]; *(*pColorResult + 10) = pCardColor[0]; *(*pCardResult + 11) = pCard[1]; *(*pColorResult + 11) = pCardColor[1]; *(*pCardResult + 12) = pCard[2]; *(*pColorResult + 12) = pCardColor[2]; *(*pCardResult + 13) = pCard[4]; *(*pColorResult + 13) = pCardColor[4]; *(*pCardResult + 14) = pCard[5]; *(*pColorResult + 14) = pCardColor[5]; *(*pCardResult + 15) = pCard[0]; *(*pColorResult + 15) = pCardColor[0]; *(*pCardResult + 16) = pCard[1]; *(*pColorResult + 16) = pCardColor[1]; *(*pCardResult + 17) = pCard[3]; *(*pColorResult + 17) = pCardColor[3]; *(*pCardResult + 18) = pCard[4]; *(*pColorResult + 18) = pCardColor[4]; *(*pCardResult + 19) = pCard[5]; *(*pColorResult + 19) = pCardColor[5]; *(*pCardResult + 20) = pCard[0]; *(*pColorResult + 20) = pCardColor[0]; *(*pCardResult + 21) = pCard[2]; *(*pColorResult + 21) = pCardColor[2]; *(*pCardResult + 22) = pCard[3]; *(*pColorResult + 22) = pCardColor[3]; *(*pCardResult + 23) = pCard[4]; *(*pColorResult + 23) = pCardColor[4]; *(*pCardResult + 24) = pCard[5]; *(*pColorResult + 24) = pCardColor[5]; *(*pCardResult + 25) = pCard[1]; *(*pColorResult + 25) = pCardColor[1]; *(*pCardResult + 26) = pCard[2]; *(*pColorResult + 26) = pCardColor[2]; *(*pCardResult + 27) = pCard[3]; *(*pColorResult + 27) = pCardColor[3]; *(*pCardResult + 28) = pCard[4]; *(*pColorResult + 28) = pCardColor[4]; *(*pCardResult + 29) = pCard[5]; *(*pColorResult + 29) = pCardColor[5]; } else { count = 21; *pCardResult = (unsigned char*)MyAlloc(105); *pColorResult = (unsigned char*)MyAlloc(105); //0 *(*pCardResult + 0) = pCard[0]; *(*pColorResult + 0) = pCardColor[0]; *(*pCardResult + 1) = pCard[1]; *(*pColorResult + 1) = pCardColor[1]; *(*pCardResult + 2) = pCard[2]; *(*pColorResult + 2) = pCardColor[2]; *(*pCardResult + 3) = pCard[3]; *(*pColorResult + 3) = pCardColor[3]; *(*pCardResult + 4) = pCard[4]; *(*pColorResult + 4) = pCardColor[4]; //1 *(*pCardResult + 5) = pCard[0]; *(*pColorResult + 5) = pCardColor[0]; *(*pCardResult + 6) = pCard[1]; *(*pColorResult + 6) = pCardColor[1]; *(*pCardResult + 7) = pCard[2]; *(*pColorResult + 7) = pCardColor[2]; *(*pCardResult + 8) = pCard[3]; *(*pColorResult + 8) = pCardColor[3]; *(*pCardResult + 9) = pCard[5]; *(*pColorResult + 9) = pCardColor[5]; //2 *(*pCardResult + 10) = pCard[0]; *(*pColorResult + 10) = pCardColor[0]; *(*pCardResult + 11) = pCard[1]; *(*pColorResult + 11) = pCardColor[1]; *(*pCardResult + 12) = pCard[2]; *(*pColorResult + 12) = pCardColor[2]; *(*pCardResult + 13) = pCard[3]; *(*pColorResult + 13) = pCardColor[3]; *(*pCardResult + 14) = pCard[6]; *(*pColorResult + 14) = pCardColor[6]; //3 *(*pCardResult + 15) = pCard[0]; *(*pColorResult + 15) = pCardColor[0]; *(*pCardResult + 16) = pCard[1]; *(*pColorResult + 16) = pCardColor[1]; *(*pCardResult + 17) = pCard[2]; *(*pColorResult + 17) = pCardColor[2]; *(*pCardResult + 18) = pCard[4]; *(*pColorResult + 18) = pCardColor[4]; *(*pCardResult + 19) = pCard[5]; *(*pColorResult + 19) = pCardColor[5]; //4 *(*pCardResult + 20) = pCard[0]; *(*pColorResult + 20) = pCardColor[0]; *(*pCardResult + 21) = pCard[1]; *(*pColorResult + 21) = pCardColor[1]; *(*pCardResult + 22) = pCard[2]; *(*pColorResult + 22) = pCardColor[2]; *(*pCardResult + 23) = pCard[4]; *(*pColorResult + 23) = pCardColor[4]; *(*pCardResult + 24) = pCard[6]; *(*pColorResult + 24) = pCardColor[6]; //5 *(*pCardResult + 25) = pCard[0]; *(*pColorResult + 25) = pCardColor[0]; *(*pCardResult + 26) = pCard[1]; *(*pColorResult + 26) = pCardColor[1]; *(*pCardResult + 27) = pCard[2]; *(*pColorResult + 27) = pCardColor[2]; *(*pCardResult + 28) = pCard[5]; *(*pColorResult + 28) = pCardColor[5]; *(*pCardResult + 29) = pCard[6]; *(*pColorResult + 29) = pCardColor[6]; //6 *(*pCardResult + 来源gaodai#ma#com搞*!代#%^码$网30) = pCard[0]; *(*pColorResult + 30) = pCardColor[0]; *(*pCardResult + 31) = pCard[1]; *(*pColorResult + 31) = pCardColor[1]; *(*pCardResult + 32) = pCard[3];以上就是C++德州扑克的核心规则算法的详细内容,更多请关注gaodaima搞代码网其它相关文章!