为类库Ch10CardLib编写一个控制台客户程序,从洗牌后的Deck对象中一次取出5张牌。如果这5张牌都是相同的花色,客户程序就应在屏幕上显示这5张牌,以及文本“Flush!”,否则在取出50张牌以后就输出文本“No Flush”,并退出。
参考代码:
说明:一次洗牌后很难实现取牌成功,可以增加一个while循环允许多次洗牌取牌。
static void Main(string[] args)
{
while (true)
{
Deck playDeck = new Deck();
playDeck.Shuffle();
bool isFlush = false;
int flushHandIndex = 0;
for(int hand=0;hand<10;hand++)
{
isFlush = true;
Suit flushSuit = playDeck.GetCard(hand * 5).suit;
for (int card = 1; card < 5; card++)
{
if(playDeck.GetCard(hand*5+card).suit!=flushSuit)
{
isFlush = false;
}
}
if (isFlush)
{
flushHandIndex = hand + 5;
break;
}
}
if (isFlush)
{
WriteLine("Flush!");
for (int card = 0; card < 5; card++)
{
WriteLine(playDeck.GetCard(flushHandIndex + card));
}
}
else
{
WriteLine("No Flush.");
}
ReadLine();
}
}