国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#實(shí)現(xiàn)洗牌游戲?qū)嵗?/h1>
2020-01-24 02:30:16
字體:
供稿:網(wǎng)友

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

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

對(duì)于牌來講,2個(gè)關(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個(gè)方法,一個(gè)是初始化牌的數(shù)組,一個(gè)是遍歷所有牌并顯示,還有一個(gè)是使用算法洗牌。

具體實(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;    //依次遍歷所有牌與隨機(jī)位置上的牌交換位置    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() + " ");    }  }}

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

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

主站蜘蛛池模板: 花莲市| 荣昌县| 朔州市| 杭锦后旗| 丹阳市| 霞浦县| 绥化市| 龙游县| 香格里拉县| 台北县| 金华市| 岳阳县| 徐闻县| 永善县| 甘洛县| 钟山县| 大邑县| 万山特区| 雷山县| 舒城县| 隆尧县| 理塘县| 民和| 临泽县| 珲春市| 盈江县| 呼伦贝尔市| 长海县| 莱阳市| 孝昌县| 武鸣县| 水城县| 隆昌县| 宁化县| 图木舒克市| 瑞昌市| 武隆县| 资兴市| 萨嘎县| 嘉黎县| 绥阳县|