(一):前言
这是《C#入门经典(第七版)》的学习笔记,接下来会通过一个扑克牌程序学习关于C#相关知识。
(二):前期思考过程
创建一个类库,命名应该为CardLib,不过按照书上的安排,该类库是在第十章第一次使用,在此命名为Ch10CardLib。
容易想到,我们平时玩扑克牌的时候,总是会说,一副两副,因此我们考虑创建一个类Deck代表“一副牌”。
如果不考虑大小王,一副牌中共有52张牌,因此我们创建一个类Card代表”一张牌”。
每张牌有”花色”和“数字”,显然花色和数字都可以使用枚举来表示,因此创建一个代表花色的枚举Suit,一个代表数字的枚举Rank。
Card类代表着“一张牌”,而一张牌又有着花色和数字,花色和数字是牌的特性,因此我们可以在Card类中添加字段rank和suit,这样就建立起了Card类和枚举Suit,枚举Rank之间的关系。
一副牌里有52张牌,我们可以在Deck类中添加Card数组类型的字段cards,这样就建立了Deck类和Card类之间的关系。
(三):初步实现
1:在枚举Suit中输入代码
public enum Suit
{
Club,
Diamond,
Heart,
Spade
}
2:在枚举Rank中输入代码
public enum Rank
{
Ace = 1,
Deuce,
Three,
Four,
Five,
Six,
Seven,
Eight,
Nine,
Ten,
Jack,
Queen,
King
}
3:在Card类中添加字段rank和suit
public Suit suit;
public Rank rank;
4:在Deck类中添加Card数组类型的字段cards
private Card[] cards;