亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C#實現(xiàn)洗牌游戲?qū)嵗?/h1>
 更新時間:2014年08月20日 10:52:24   投稿:shichen2014  
這篇文章主要介紹了C#實現(xiàn)洗牌游戲?qū)嵗?對于數(shù)據(jù)結(jié)構(gòu)與算法的學(xué)習(xí)有不錯的借鑒參考作用,需要的朋友可以參考下

棋牌類游戲是目前比較火的游戲之一。今天本文就以實例形式實現(xiàn)洗牌游戲。本文實例所采用的算法是:遍歷每個位置上的牌,然后與隨機位置上的牌交換。

運行結(jié)果如下圖所示:

對于牌來講,2個關(guān)鍵的因素是面值和類型(如紅桃、梅花等)。

代碼如下:

public class Card
{
  private string mianzhi;
  private string leixin;
  public Card(string m, string l)
  {
    mianzhi = m;
    leixin = l;
  }
  public override string ToString()
  {
    return leixin + " " + mianzhi;
  }
}

客戶端程序有3個方法,一個是初始化牌的數(shù)組,一個是遍歷所有牌并顯示,還有一個是使用算法洗牌。

具體實現(xiàn)代碼如下:

class Program
{
  private static Card[] allCards = new Card[52];
  private static string[] ms = { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K" };
  private static string[] ls = { "紅桃", "方塊", "梅花", "黑桃" };
  static void Main(string[] args)
  {
    Init();
    ShowAllCards();
    Console.WriteLine("\r\n");
    Shuffle();
    ShowAllCards();
    Console.ReadKey();
  }
  private static void Shuffle()
  {
    Random r = new Random();
    Card tempCard;
    //依次遍歷所有牌與隨機位置上的牌交換位置
    for (int i = 0; i < allCards.Length; i++)
    {
      int ran = r.Next(52);
      tempCard = allCards[i];
      allCards[i] = allCards[ran];
      allCards[ran] = tempCard;
    }
  }
  private static void Init()
  {
    for (int i = 0; i < allCards.Length; i++)
    {
      allCards[i] = new Card(ms[i % 13],ls[i%4]);
    }
  }
  private static void ShowAllCards()
  {
    foreach (var item in allCards)
    {
      Console.Write(item.ToString() + " ");
    }
  }
}

希望本文所述實例對大家的算法學(xué)習(xí)能有所幫助。

相關(guān)文章

  • WPF實現(xiàn)頁面的切換的示例代碼

    WPF實現(xiàn)頁面的切換的示例代碼

    本文主要介紹了WPF實現(xiàn)頁面的切換的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • Unity UGUI的Slider滑動條件組使用詳解

    Unity UGUI的Slider滑動條件組使用詳解

    這篇文章主要為大家介紹了Unity UGUI的Slider滑動條件組使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • c# 實現(xiàn)圓形的進(jìn)度條(ProgressBar)

    c# 實現(xiàn)圓形的進(jìn)度條(ProgressBar)

    這篇文章主要介紹了c# 如何實現(xiàn)圓形的進(jìn)度條(ProgressBar),幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下
    2021-03-03
  • c#之圓形無標(biāo)題欄橢圓窗體的實現(xiàn)詳解

    c#之圓形無標(biāo)題欄橢圓窗體的實現(xiàn)詳解

    本篇文章是對c#中圓形無標(biāo)題欄橢圓窗體的實現(xiàn)方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • C#實現(xiàn)DevExpress本地化實例詳解

    C#實現(xiàn)DevExpress本地化實例詳解

    這篇文章主要介紹了C#實現(xiàn)DevExpress本地化,以實例形式較為詳細(xì)的分析了DevExpress本地化的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-08-08
  • C# 大數(shù)據(jù)導(dǎo)出word的假死報錯的處理方法

    C# 大數(shù)據(jù)導(dǎo)出word的假死報錯的處理方法

    C# 大數(shù)據(jù)導(dǎo)出word的假死報錯的處理方法,需要的朋友可以參考一下
    2013-03-03
  • C# 設(shè)計模式系列教程-外觀模式

    C# 設(shè)計模式系列教程-外觀模式

    外觀模式松散了客戶端與子系統(tǒng)的耦合關(guān)系,讓子系統(tǒng)內(nèi)部的模塊能更容易擴展和維護。
    2016-06-06
  • C#實現(xiàn)系統(tǒng)休眠或靜止休眠的方法

    C#實現(xiàn)系統(tǒng)休眠或靜止休眠的方法

    這篇文章主要介紹了C#實現(xiàn)系統(tǒng)休眠或靜止休眠的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-05-05
  • C#如何實現(xiàn)監(jiān)控手機屏幕(附源碼下載)

    C#如何實現(xiàn)監(jiān)控手機屏幕(附源碼下載)

    這篇文章主要介紹了C#如何實現(xiàn)監(jiān)控手機屏幕(附源碼下載),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • c#實現(xiàn)斷點續(xù)傳功能示例分享

    c#實現(xiàn)斷點續(xù)傳功能示例分享

    這篇文章主要介紹了c#實現(xiàn)的斷點續(xù)傳功能示例,斷點續(xù)傳就是在上一次下載時斷開的位置開始繼續(xù)下載。在HTTP協(xié)議中,可以在請求報文頭中加入Range段,來表示客戶機希望從何處繼續(xù)下載,下面是示例,需要的朋友可以參考下
    2014-03-03

最新評論