撲克牌邏輯演算法

2021-08-03 03:42:13 字數 3316 閱讀 8018

using system;

using system.collections.generic;

namespace gamelogic

; //撲克牌牌值採用16進製制

byte pokerarray = ;

//獲取花色

public static byte getpokerhua(byte ipoker)

//獲取牌值(滿足牌值定義做乙個偏移)

public static byte getpokernum(byte ipoker)

#region//獲取對子

public static listtackoutdouble(byte isourcepokers, int isourcepokerscount)

listresultlist = new list();//返回結果列表

listcache = new list(); //快取列表

//找到對子加入快取列表

for (int i = 0; i < isourcepokerscount - 1; i++)

if (cache.count>0)}}

return resultlist;

}#endregion

#region//獲取兩對

public static listtackouttwo_double(byte isourcepokers, int isourcepokerscount)

listresultlist = new list();//返回結果列表

listcache = new list(); //快取列表(放置所有對子)

//找到所有對子加入快取列表

for (int i = 0; i < isourcepokerscount - 1; i++)}}

//快取列表長度等於4,直接加入結果列表並返回

if (cache.count == 4)

//如果大於4,找到任意組合

listncache = new list(); //快取列表(放置兩對)

if (cache.count>4)}}

return resultlist;

}#endregion

#region//獲取三張

public static listtackoutthree(byte isourcepokers, int isourcepokerscount)

listresultlist = new list();//返回結果列表

listcache = new list(); //快取列表

//找到3張加入快取列表

for (int i = 0; i < isourcepokerscount - 1; i++)

if (cache.count == 3)}}

return resultlist;

}#endregion

#region//獲取順子

public static listtackoutsequence(byte isourcepokers, int isourcepokerscount)

//先做乙個排序(小到大)

for (int i = 0; i < isourcepokerscount-1; i++)}}

listresultlist = new list();//返回結果列表

listcache = new list(); //快取列表

//找到順子加入快取列表

for (int i = 0; i < isourcepokerscount - 1; i++)

cache.clear();

cache.add(isourcepokers[i]);

int count = 1; //順子間隔

for (int j = 0; j < isourcepokerscount; j++)}}

//剩餘牌數小於5直接退出

if (isourcepokerscount - i <= 5)

}return resultlist;

}#endregion

#region//獲取同花

public static listtackoutflush(byte isourcepokers, int isourcepokerscount)

listresultlist = new list();//返回結果列表

listcache = new list(); //快取列表

//找到同花加入快取列表

for (int i = 0; i < isourcepokerscount - 1; i++)

if (cache.count == 5)}}

return resultlist;

}#endregion

#region//獲取葫蘆

public static listtackoutthree_double(byte isourcepokers, int isourcepokerscount)

listresultlist = new list();//返回結果列表

//找到3條、對子加入快取列表

listthreelist = tackoutthree(isourcepokers, isourcepokerscount);

listdoublelist = tackoutdouble(isourcepokers, isourcepokerscount);

if (threelist!=null&&doublelist!=null&&threelist.count>0&&doublelist.count>0)}}

}return resultlist;

}#endregion

#region//獲取同花順

public static listtackoutflush_sequence(byte isourcepokers, int isourcepokerscount)

listresultlist = new list();//返回結果列表

listsequencelist = tackoutsequence(isourcepokers, isourcepokerscount);//5張順子列表

if (sequencelist!=null&&sequencelist.count>0)

else

break;}}

}}

return resultlist;

}#endregion

}}

撲克牌排序 趣味撲克牌

一提到撲克牌,我們就想到神秘的魔術表演,撲克牌上有很多形狀和數字,裡面蘊藏了很多數學知識哦!瞧 subway的小朋友們正在進行趣味撲克牌的遊戲呢!好多撲克牌啊!撲克牌中間怎麼是空的呢?哇,還有這麼小的撲克牌呢!一看到teacher手中的撲克牌,小傢伙們乙個個的都興奮起來,迫不及待想要分享自己的見解呢...

關於撲克牌的演算法

紅色標記的地方是我標註的乙個重點 實現乙個演算法 將一副54張撲克牌經過洗牌後順序發給三個人,然後將每個人的牌按降序排序。我們已經設計出了撲克牌類card 演算法類game,並且有了測試 main.cpp,但演算法類game中的洗牌函式shuffle 和發牌函式deal 沒有實現,請寫出具體的實現 ...

刷演算法 撲克牌順子

ll今天心情特別好,因為他去買了一副撲克牌,發現裡面居然有2個大王,2個小王 一副牌原本是54張 他隨機從中抽出了5張牌,想測測自己的手氣,看看能不能抽到順子,如果抽到的話,他決定去買體育彩票,嘿嘿!紅心a,黑桃3,小王,大王,方片5 oh my god 不是順子.ll不高興了,他想了想,決定大小 ...