C#棋牌游戏(如斗地主)

需求

  • 需要定义Card类,该类包含特征:
    每张牌的名字;
    花色:红心、方块、梅花、黑桃;
    牌号:1- 10、J、Q、K、小王、大王
  • 定义牌库CardLibrary类,该类包含类成员:
    容器存储所有牌;
    所有牌的总数量;
    索引器(通过int类型下标取出容器对应的牌);
    初始化牌库方法;
    发牌方法;
    洗牌方法

在Main方法测试以上逻辑

代码块

定义枚举

  • 根据需求定义花色和牌号两个枚举

    enum CardColors
    {
   
        None,//这里考虑到小王大王所以需要定义一个空花色
        Heart,
        Block,
        PlumBlossom,
        Spade
    }

    enum CardNums
    {
   
        Three,//根据牌的大小顺序定义,默认Three的int值为0
        Four,
        Five,
        Six,
        Seven,
        Eight,
        Nine,
        Ten,
        Jack,
        Queen,
        King,
        One,
        Two,
        SmallJoker,
        BigJoker
    }

定义Card类


    class Card
    {
   
    	//卡牌的名字(字段和属性)
        private string cardName;
        public string CardName
        {
   
            get {
    return cardName; }
        }
		//卡牌的花色(字段和属性)
        private CardColors cardColor;
        public CardColors CardColor
        {
   
            get {
    return cardColor; }
        }
		//卡牌的牌号(字段和属性)
        private CardNums cardNum;
        public CardNums CardNum
        {
   
            get {
    return cardNum; }
        }
		//Card类的构造函数 这里需要定义卡牌的花色和牌号
        public Card(CardColors cardColor, CardNums cardNum)
        {
   
            this.cardColor = cardColor;
            this.cardNum = cardNum;
            CardNameInit();//卡牌名通过构造函数进行初始化
        }
		//卡牌名初始化函数
        private void CardNameInit()
        {
   
            cardName = cardColor.ToString() + cardNum.ToString();
        
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值