亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#代碼實現撲克牌排序的幾種方式

2019-10-29 19:58:21
字體:
來源:轉載
供稿:網友

撲克牌游戲,總是能用到很多的手牌排序,總結了幾種方式供參考,順便記錄一下方便以后使用。

我做的這個是由(1-13:黑桃A-K || 14 - 26:紅桃 || 27 - 39:梅花 || 39 - 52 : 方片 || 53.54:小王.大王)表示的一副撲克牌,這樣對數組除以13等于撲克花色(如:25/13 = 2 是紅桃),對數組值取模等于撲克點數(如:25%13 = 12 是Q),這樣25就表示了紅桃Q的撲克牌。

當處理特殊規則的時候單獨寫一個List,在組拼就可以了。

比如說:賴子斗地主的時候,當選出賴子牌之后,就需要對手牌再次排序,那么new List來存一下賴子牌,選定賴子牌之后,存到list中,再次調用排序,組拼就可以實現,你想要的手牌排序的數組,那么在通過某種形式讓他顯示出來就可以了。

上代碼 :

 //參數:要排序的牌值數組 & 數組長度 public int[] PaiXu(int[] card, int number = 0)  {    //Debug.Log(" ... 對手牌 進行 牌值 花色 的排序 ... ... ");    if (number == 0){ number = card.Length; }    if (card.Length == 0){ return card; }    // ========== 根據牌值進行排序 ===============    int temp = 0;    for (int i = 0; i < card.Length; i++) //冒泡排序... 從大到小    {      for (int j = 0; j < card.Length - 1 - i; j++)      {        if (card[j] < card[j + 1])        {          temp = card[j];          card[j] = card[j + 1];          card[j + 1] = temp;        }      }    }        List<int> hei = new List<int>();    List<int> hong = new List<int>();    List<int> mei = new List<int>();    List<int> fang = new List<int>();    List<int> wang = new List<int>();    for (int i = 0; i < card.Length; i++)    {      #region ======= 根據花色分組 ..大小王 單獨一組 ...后續對花色中的 A 單獨處理 =========      switch (sendFlower(card[i]))      {        case 3: //黑桃                    hei.Add(card[i]);          break;        case 2: //紅桃                   hong.Add(card[i]);          break;        case 1: //梅花                    mei.Add(card[i]);          break;        case 0: //方片                    fang.Add(card[i]);          break;        case 4: //小王        case 5: //大王          wang.Add(card[i]);          break;      }      #endregion    }    QuA(hei); // 對A 的單獨處理     QuA(hong);    QuA(mei);    QuA(fang);    #region ========== 合并 排序后的牌組========    List<int> cardlist = new List<int>();     for (int i = 0; i < wang.Count; i++)  //王    {      cardlist.Add(wang[i]);    }    // ==========合并 組拼 ============    List<int> cardtemp = new List<int>();       cardtemp = PaiXuZuPin(hei, hong, mei, fang);    for (int i = 0; i < cardtemp.Count; i++)    {      cardlist.Add(cardtemp[i]);    }     int[] cards = new int[cardlist.Count];    for (int i = 0; i < cardlist.Count; i++)    {      cards[i] = cardlist[i];    }    #endregion            return cards;     }   /// <summary>  /// 取A  -- 把每個花色牌中的A,放到前面(A.K.Q.J...)  /// </summary>  /// <param name="hei">花色牌</param>   void QuA(List<int> hei)  {    if (hei.Count == 0) return;    List<int> cardlist = new List<int>();    for (int i = 0; i < hei.Count; i++) // 將牌添加到新列表    {      cardlist.Add(hei[i]);    }    if (hei.Count > 2)    {      if (hei[hei.Count - 2] % 13 == 1)  //如果有兩個A (對兩幅牌的處理)      {        cardlist.Insert(0, hei[hei.Count - 2]);        cardlist.Insert(0, hei[hei.Count - 1]);        for (int i = 0; i < hei.Count; i++)        {          hei[i] = cardlist[i];        }        return;      }    }        if (hei[hei.Count - 1] % 13 == 1)  //如果有一個A    {      cardlist.Insert(0, hei[hei.Count - 1]);    }    for (int i = 0; i < hei.Count; i++)    {      hei[i] = cardlist[i];    }     } /// <summary>  /// 根據傳入牌組 的順序 進行組拼   /// </summary> public List<int> PaiXuZuPin(List<int> one, List<int> two, List<int> three, List<int> four)  {    List<int> cardlist = new List<int>();    for (int i = 0; i < one.Count; i++)      {      cardlist.Add(one[i]);    }    for (int i = 0; i < two.Count; i++)      {      cardlist.Add(two[i]);    }    for (int i = 0; i < three.Count; i++)      {      cardlist.Add(three[i]);    }    for (int i = 0; i < four.Count; i++)        {      cardlist.Add(four[i]);    }    return cardlist;  }  /// <summary>  /// 根據牌值取花色 5:大王 | 4:小王 | 3:黑桃 | 2:紅桃 | 1:梅花 | 0:方片   /// </summary>  /// <param name="card"></param>  public int sendFlower(int card)  {    if (card >= 1 && card <= 13)    {      return 3;    }else if (card >= 14 && card <= 26)    {      return 2;    }    else if (card >= 27 && card <= 39)    {      return 1;    }    else if (card >= 40 && card <= 52)    {      return 0;    }    else if (card == 53)    {      return 4;    }    return 5;  }

PS:代碼僅供參考,優化自行處理

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VEVB武林網的支持。


注:相關教程知識閱讀請移步到c#教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久之久亚州精品露出| 国产精品毛片a∨一区二区三区|国| 精品福利在线视频| 久久精品视频中文字幕| 日韩三级影视基地| 亚洲在线视频观看| 久久久伊人日本| 在线电影中文日韩| 久久久久久久亚洲精品| 欧美黄色片视频| 欧美另类69精品久久久久9999| 最近中文字幕日韩精品| 日韩欧美高清在线视频| 国产一区视频在线播放| 久久国产精彩视频| 国产精品亚洲自拍| 国产性色av一区二区| 欧美专区国产专区| 久久亚洲精品国产亚洲老地址| 国产精品大陆在线观看| 国产精品吴梦梦| 久热爱精品视频线路一| 日韩精品中文字幕久久臀| 日韩美女免费视频| 久久中文精品视频| 中文字幕欧美在线| 国产91ⅴ在线精品免费观看| 亚洲影院色无极综合| 亚洲性猛交xxxxwww| 亚洲精品电影网在线观看| 亚洲第一国产精品| 亚洲国产婷婷香蕉久久久久久| 九九视频这里只有精品| 欧美激情女人20p| 国产精品视频在线观看| 国产精品久久久久久久久男| 国产日韩在线亚洲字幕中文| 亚洲乱码国产乱码精品精| 日韩有码视频在线| 久久精品亚洲国产| 亚洲伊人久久大香线蕉av| 亚洲精品电影网站| 欧美亚洲国产视频小说| 97视频免费观看| 精品久久久久久久久中文字幕| 成人精品一区二区三区电影黑人| 日韩av成人在线| 国产精品视频内| 亚洲人成在线观看网站高清| 91视频九色网站| 日韩美女毛茸茸| 国产精品综合不卡av| 日本一区二区在线免费播放| 亚洲欧美日韩视频一区| 在线看日韩欧美| 欧美日在线观看| 黑人巨大精品欧美一区二区三区| 日韩成人av一区| 色老头一区二区三区在线观看| 51色欧美片视频在线观看| 日韩在线观看精品| 国产成+人+综合+亚洲欧美丁香花| 91久久国产精品91久久性色| 麻豆国产va免费精品高清在线| 国产精品福利网站| 亚洲自拍偷拍视频| 亚洲午夜久久久影院| 91av在线播放视频| 欧美成人免费va影院高清| 亚洲欧美另类中文字幕| 91超碰中文字幕久久精品| www.日韩欧美| 日韩欧美大尺度| 久久久久久久久久婷婷| 欧美大尺度电影在线观看| 欧美一区在线直播| 国产成人久久久精品一区| 中日韩午夜理伦电影免费| 国产www精品| 久久久精品欧美| …久久精品99久久香蕉国产| 91精品国产91久久久久久不卡| 国模精品视频一区二区| 岛国精品视频在线播放| 日韩在线观看电影| 久久精品国产亚洲精品| 自拍亚洲一区欧美另类| 久久电影一区二区| 欧美性猛交xxxx富婆弯腰| 国产91在线播放九色快色| 国产精品久在线观看| 久久伊人色综合| 国产91色在线播放| 在线看欧美日韩| 日韩少妇与小伙激情| 自拍偷拍亚洲精品| 九九视频这里只有精品| 亚洲aa中文字幕| 富二代精品短视频| 亚洲精品视频在线观看视频| 2019日本中文字幕| 亚洲午夜av久久乱码| 日韩电影中文字幕在线| 国产成人在线一区| 国产视频综合在线| 国产一区二区三区在线播放免费观看| 久久国产加勒比精品无码| 午夜精品久久久久久久男人的天堂| 色老头一区二区三区| 国产一区私人高清影院| 欧美一区二区影院| 欧美床上激情在线观看| 国产视频精品一区二区三区| 色偷偷9999www| 亚洲国产欧美一区二区丝袜黑人| 日韩福利在线播放| 另类视频在线观看| 日韩精品福利网站| 日韩中文字幕久久| 97国产在线视频| 欧美激情在线播放| 久久久久久久久久国产精品| 成人中心免费视频| 欧美精品福利在线| 91极品女神在线| 欧美精品第一页在线播放| 国产精品wwww| 日韩av网址在线观看| 欧美性生活大片免费观看网址| 国产精品99蜜臀久久不卡二区| 欧美亚洲视频一区二区| 精品国产一区二区三区久久狼黑人| 欧美性生交xxxxxdddd| 久久青草精品视频免费观看| 国产成人精品在线播放| 久久精品青青大伊人av| 福利微拍一区二区| 欧美日韩国产一区二区| 亚洲欧美激情四射在线日| 在线播放国产一区二区三区| 九九热视频这里只有精品| 欧美最顶级的aⅴ艳星| 亚洲第一级黄色片| 狠狠色狠狠色综合日日小说| 黄色成人av网| 91九色国产社区在线观看| 97热在线精品视频在线观看| 青青精品视频播放| 欧美激情在线观看视频| 最近免费中文字幕视频2019| 欧美成人免费全部观看天天性色| 亚洲综合日韩在线| 欧美中文字幕视频| 色多多国产成人永久免费网站| 一区二区欧美在线| 日韩欧美aⅴ综合网站发布| 亚洲a在线观看| 久久亚洲精品一区| 欧美大片免费观看在线观看网站推荐| 欧美视频一区二区三区…| 精品国产老师黑色丝袜高跟鞋| www.欧美精品一二三区| 日韩精品视频在线| 成人啪啪免费看|