一种基于C++的扑克牌实现

来源:互联网 发布:程序员群头像 编辑:程序博客网 时间:2024/06/07 03:21

主函数流程
创建一个对象->洗牌->发牌->印色->排序->打印输出
各模块的功能
构造器
第一步、利用两个整型数组分别定义扑克牌的类别(比如黑桃、红心等,这里只是区分,并没有印色)和编号(这里只是简单的编序号,没有印上诸如“A、K、Q、J”等);
第二步、有四种花色,每种花色有13张牌,用四个for循环分别对类别flag和编号value赋初值。

洗牌
洗牌是随机的,洗牌的过程需要将纸牌打乱。
第一步、利用srand((unsigned)time(NULL))生成种子初值,这里利用系统时间保证种子初值不一样,接着用rand()%52产生0到52(不包括52)的随机数;
第二步、把产生的随机数作为下标,然后遍历所有纸牌,交换,达到打乱的目的。

发牌
遍历52张纸牌,分别给四个数组赋值,四个数组代表四个玩家。

印色
印色的过程分为两步,一个是纸牌印上黑桃、红心、梅花和方块,这个用到ascii码,6对应黑桃、3对应红心、5对应梅花以及4对应方块;另一个是纸牌印上字符’A’、’K’、’Q’、’J’、’10’、’9’、’8’、’7’、’6’、’5’、’4’、’3’、’2’。

排序
取某一玩家的纸牌,利用冒泡排序法,将纸牌的类型如花色分开,把各花色的数量分别赋值给四个变量,然后利用冒泡排序法对四种花色进行排序。

打印
将四个玩家的纸牌类型和编号打出来

阅读全文
0 0