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();