前面模拟了扑克牌洗牌发牌的程序,这一篇将解决更复杂一点的扑克牌问题。
编写程序,使发牌函数(deal)可以处理一把5张牌的扑克游戏,具体问题如下:
(1)判断是否包含对子
(2)判断是否包含三张同级的牌(比如3个J)
(3)判断是否包含四张同级的牌(比如4个J)
(4)判断是否是一个同花(五张牌的花色相同)
(5)判断五张牌是否是一个顺子
洗牌程序和之前的一样,这篇只分享发牌函数模块的程序。
第一步 先发五张牌
int plays = 5;//处理5张牌
int hand[2][5] = {
0 };
for (int play = 1; play <= plays; card++)
{
for (int row = 0; row < SUITS; row++)
{
for (int col = 0; col < FACES; col++)
{
if (deck[row][col] == card)
{
//存放每张牌对应的花色和牌面值编号
hand[0][card - 1] = row;
hand[1][card - 1]