利用数组实现发牌过程

一副牌去掉大小王,还剩52张。一共东、南、西、北四家,每家随机发13张牌。

提示:

  1. 东、南、西、北四家用一维数组表示
  2. 每家的牌采用一维数组表示(13张) 
  3. 花色:enum Suit { Clubs, Diamonds, Hearts, Spades } 
  4. 牌面:enum Value { Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten, Jack, Queen, King, Ace }
  5. 每张牌可以独立作为一个类来实现,该类中包含两个成员,即花色和牌面
 using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;

 namespace Poke
 {
     class Program
     {
         static void Main(string[] args)
         {
             Poker[] poker = ];
             shuffle(poker);

             //发牌
             Person[] person = ];
             ; i < ; i++)
             {
                 person[i] = new Person();
                 person[i].perPoker = ];
             }
             ; i < ; i++)
             {
                  == )
                     person[].perPoker[person[].count++] = poker[i];
                  == )
                     person[].perPoker[person[].count++] = poker[i];
                  == )
                     person[].perPoker[person[].count++] = poker[i];
                  == )
                     person[].perPoker[person[].count++] = poker[i];
             }
             //显示每个人的牌
             ; i < ; i++)
             {
                 Console.Write();
                 ; j < ; j++)
                 {
                     Console.Write(person[i].perPoker[j] + "\t");
                 }
                 Console.WriteLine();
             }
             Console.ReadKey();
         }
         //洗牌
         static void shuffle(Poker[] poker)
         {
             //设置52张牌
             ; i < ; i++)
                 ; j < ; j++)
                     poker[i *  + j] = );
             ; i <= ; i++)
             {
                 Random random = new Random();
                 , );
                 Poker temp = poker[i - ];
                 poker[i - ] = poker[num-];
                 poker[num-] = temp;
             }
         }
     }

     //花色
     enum Suit { Clubs, Diamonds, Hearts, Spades }

     //牌的值
     , Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten, Jack, Queen, King }

     //扑克牌类
     class Poker
     {
         public Suit suit;
         public Value value;

         public Poker() { }
         public Poker(Suit i, Value v)
         {
             suit = i;
             value = v;
         }

         public override string  ToString()
         {
              return (suit.ToString()+","+value.ToString());
         }
     }

     class Person
     {
         public Person(){}
         public Poker[] perPoker;
         public int count;
     }
 }

自动发牌(C#版)的更多相关文章

  1. 使用 shell 脚本自动获取发版指标数据

    问题背景 大一点的公司都会建立一套规章流程来避免低级错误,例如合入代码前必需经过同行评审:上线前必需提测且通过 QA 验证:全量前必需经过 1%.5%.10%.20%.50% 的灰度过程.尤其是最后一 ...

  2. Mybatis 代码自动生成[myeclipse版]

    使用环境说明: OS:windows 7 64位 myeclipse: 2017 CI 1.安装 打开myeclipse--help---Install from catalog--选择eclipse ...

  3. Win10_禁用自动更新(官方版)

    1> win键>输入服务>打开>找到windowsUpdate-->启动类型为-禁用 -->> 恢复失三个选项改为-->>无操作 2>win ...

  4. 闯越自动签到demo版补充说明

    demo代码:https://www.cnblogs.com/canmeng/p/11000548.html 定位出错是由于cookie 我重新登录账号过,cookies的值就变了 当时没注意cook ...

  5. 自动判断手机版和pc版

    <html><head><title>欢迎来到手机版</title><script>var ua = navigator.userAgent ...

  6. jQuery弹出提示信息自动消失简洁版

    // 在bootstrap中可以,可以使用如下方式实现弹出提示信息自动消失,如果没有使用bootstrap框架,可以自定义样式 //tip是提示信息,type:'success'是成功信息,'dang ...

  7. Radmin自动连接 c#版 带源码

    实现原理:1.利用radminview 自带命令 2.大漠绑定插件. 附图: 源码下载:http://files.cnblogs.com/eastday/Radmin%E8%87%AA%E5%8A%A ...

  8. 手机访问PC网站自动跳转到手机版

    随着智能手机的流行,4G时代来临,手机用户越来越多,在生活中甚至手机比电脑用的还多,当前开发的网站大都是PC和WAP版并存,但是很少有用户愿意去记住一个网站的两个端的不同域名,所以需要我们做一些设置, ...

  9. 光盘刻录 CD刻录软件 Ashampoo Burning Studio特别版 刻录CD就这么简单

    著名的刻录软件Nero,其近上百M体积实在太大,而且安装之后的文件体积也有上G多.这么大的体积安装使用都不方便,好在现在很多都做得很不错,比如阿香婆的光盘刻录软件Ashampoo® Burning S ...

随机推荐

  1. ubuntu1604安装体验

    昨天安装了ubuntu 16 安装成了双系统,这样的速度才能接受. 各种软件支持的都还算不错.除了启动时候原始的气息,启动之后挺稳定的. 最让人开心的是新的unity的设置更加丰富了,可以自动隐藏,更 ...

  2. "npm ERR! Error: EPERM: operation not permitted"问题解决

    在基于macaca进行自动化测试的时候,遇到如下问题: E:\AutoTest\Macaca\LocalTEST\macaca-test-sample\macaca-test>macaca do ...

  3. scala打印九九乘法表的5种实现

    使用scala打印九九乘法表,可以有多种实现方法,实现的过程充分的体现的scala语言的优势和巨大的简洁性和高效性, 下面我用了5种方法实现九九乘法表. 使用类似于java,c++等指令风格的的编程实 ...

  4. 一切都是对象 Thinking in Java 第二章

    2.1 用引用操作对象 1.对象和引用联系起来,就可以通过引用来操作对象: 2.引用亦可单独存在,即没有和任何对象联系起来:对没有和对象联系起来的引用操作,会报错: 2.2 必须由你创建所有对象 1. ...

  5. 笔记本_hp

    1.技术支持 http://support.hp.com/cn-zh 2.搜到的信息:“http://forum.51nb.com/thread-1080424-1-1.html” Product N ...

  6. 搭建Mono for Android开发环境(用离线版)

    上面为我现在的离线版的安装包内容(不知道为什么上传的图名字显示不出来,郁闷),这些文件可以到http://pan.baidu.com/s/1ntM8U4T这里去下载: 安装步骤如下: 1)jdk-6u ...

  7. linux install sublime_text3

    ubuntu & debian: (baidu or google) 1). download ***.deb to install inux系统下怎么安装.deb文件? deb 是 ubun ...

  8. 【Todo】Lucene系统学习

    之前已经写过一篇关于Lucene安装学习的文章:http://www.cnblogs.com/charlesblc/p/5980525.html 还有一篇关于Solr安装使用的文章:http://ww ...

  9. hdu 1242 Rescue

    题目链接:hdu 1242 这题也是迷宫类搜索,题意说的是 'a' 表示被拯救的人,'r' 表示搜救者(注意可能有多个),'.' 表示道路(耗费一单位时间通过),'#' 表示墙壁,'x' 代表警卫(耗 ...

  10. supervisord

    [简介] supervisord的官网:http://supervisord.org.看懂英文的可以不用看我的博客,直接看文档就行了,文档写得非常好.点个赞!! Supervisor是一个客户/服务器 ...