zoukankan      html  css  js  c++  java
  • C# 洗牌算法

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace 洗扑克牌
    {
        class Program
        {
            static void Main(string[] args)
            {
    
                string[] cardColor = { "黑桃", "方块", "梅花", "红桃" };
                Card[] cardList = new Card[52];
                int colorIndex = 0;
                int tempValue = 0;
                for (int i = 0; i < cardList.Length; i++)
                {
                    if (i % 13 == 0 && i != 0) 
                    {
                        colorIndex++;
                    }
    
                    Char a = 'A';
                    tempValue = i % 13;
                    switch (tempValue)
                    {
                        case 0:
                            a = 'A';
                            break;
                        case 9:
                            a = '0';
                            break;
                        case 10:
                            a = 'J';
                            break;
                        case 11:
                            a = 'Q';
                            break;
                        case 12:
                            a = 'K';
                            break;
                        default:
                            a = (Char)(tempValue + (int)'1');
                            break;
                    }
    
                    cardList[i] = new Card()
                    {
                        value = a,
                        color = cardColor[colorIndex]
                    };
                }
    
    
    
    
                Console.WriteLine("洗牌之前:");
                ShowCard(cardList);
    
                ShuffleCard(cardList);
    
                Console.WriteLine("
    
    洗牌之后:");
                ShowCard(cardList);
    
                Console.ReadLine();
            }
    
            static void ShuffleCard(Card[] cardList) 
            {
                Random random = new Random();
                int tempIndex = 0;
                Card temp = null;
                for (int i = 0; i < 52; i++)
                {
                    tempIndex = random.Next(52);
                    temp = cardList[tempIndex];
                    cardList[tempIndex] = cardList[i];
                    cardList[i] = temp;
                }
            }
    
            static void ShowCard(Card [] cardList)
            {
                for (int i = 0; i < cardList.Length; i++)
                {
                    if (i % 13 == 0 && i != 0) 
                    {
                        Console.WriteLine("
    ");
                    }
    
                    Console.Write(cardList[i].color + "" + cardList[i].value + " ");
                }
            }
    
        }
    
        public class Card
        {
            public char value;
            public string color;
        }
    
    
    }

    image

  • 相关阅读:
    NSString属性声明中的copy和retain区别
    Xcode6无法安装VVDocumenter插件的解决方法
    Xcode好用插件
    REVEAL APP for IOS 永久试用
    Foundation框架 ---- 结构体
    Foundation框架集合 ---- NSArray和NSMutableArray
    《 算法分析与设计》 实验一-分治算法
    B-浮点常量问题
    Servlet 404原因
    小C语言--词法分析程序
  • 原文地址:https://www.cnblogs.com/plateFace/p/5200636.html
Copyright © 2011-2022 走看看