C#一个发牌机示例程序

一段扑克发牌机的旧代码,这个问题似乎学生习题比较常见,也可能被作为招聘考题考察 Coder 的思维。

代码很简单也没什么价值,不过用到了枚举、GUID和排序泛型类,对.NET初学者可能会有点参考作用。

using  System;
using  System.Collections.Generic;

public   class  PokeGame
{
    
enum PointText
    
{
        A 
= 1,
        J 
= 11,
        Q,
        K,
    }


    
public enum Suits
    
{
        Spade,
        Hearts,
        Clubs,
        Diamonds,
    }


    
public struct Poke
    
{
        Suits Suit;
        
int Point;

        
public Poke(Suits suit, int point)
        
{
            Suit 
= suit;
            Point 
= point;
        }


        
public override string ToString()
        
{
            
return Suit.ToString() + " " + ((PointText)Point).ToString();
        }

    }


    
private readonly int SimpleMaxCount = 13;

    
private Poke[] _dealer;

    
public Poke[] Dealer get return _dealer; } }

    
public PokeGame()
    
{
        _dealer 
= new Poke[SimpleMaxCount * sizeof(Suits)];
        SortedList
<Guid, Poke> dealer = new SortedList<Guid, Poke>();
        
for (int i = 0; i < sizeof(Suits); i++)
        
{
            
for (int j = 0; j < SimpleMaxCount; j++)
            
{
                dealer.Add(Guid.NewGuid(), 
new Poke((Suits)i, j + 1));
            }

        }

        dealer.Values.CopyTo(_dealer, 
0);
    }

}
 
评论 1 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

vrhero

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值