1. 程式人生 > >棋牌平臺搭建教程-德州撲克算法詳解

棋牌平臺搭建教程-德州撲克算法詳解

棋牌

德州撲克是一種技巧性非常強的撲克遊戲,有一定的運氣成分,但玩家之間主要還是要靠鬥智力、耍手腕、動腦筋。其規則非常簡單,比較容易掌握,但是要達到精通的境界卻有一定的難度。

我們可以定義一個枚舉來羅列出所有的牌型:

[cpp] view plain copy

  1. //牌的類型枚舉

  2. enum CardTypeEnum

  3. {

  4. ctNoneCard = 0,

  5. ctHighCard, //高牌

  6. ctDouble_OneCard,//一對

  7. ctDouble_TwoCard,//二對

  8. ctThreeCard, //三條

  9. ctStraightCard, //順子

  10. ctFlushCard, //同花

  11. ctGourdCard, //三條加對子(葫蘆)

  12. ctFourCard, //四條

  13. ctStraightFlush, //同花順

  14. ctRoyalFlush //皇家同花順

  15. };


牌型大小從小到大。

德州撲克遊戲一共有52張牌,我們可以先定義一個數組來保存52張牌int nArrayCard[52]裏面依次存0------51,接下來我們需要打亂數組的順序來達到隨機發牌的效果,然後依次發2張牌玩家的手中。具體的講解在這點就寫了,大家可以參考棋牌平臺制作 http://www.yasewl.com

如果你現在已經明白了洗牌,發牌的算法。那麽恭喜你可以繼續往下看了。

接下來,我們就開始討論如何來確定玩家手中的牌為什麽牌型。

可以定義一個結構體來保存每張牌的信息數據,以便我們接下來的討論。

[cpp] view plain copy

  1. //牌的信息

  2. struct CardStruct

  3. {

  4. int s_nCardIndex; //牌的索引值0-51

  5. int s_nCardValue; //牌的大小2345678910111213

  6. int s_nCardSuit ; //牌的花色(1黑桃,2紅桃,3梅花,4方塊)

  7. int s_nImage_X;

    //牌在大圖片中的X坐標

  8. int s_nImage_Y; //排在大圖片中的Y坐標

  9. };



本文出自 “棋牌源碼搭建教程” 博客,請務必保留此出處http://13114207.blog.51cto.com/13104207/1945951

棋牌平臺搭建教程-德州撲克算法詳解