最近学桥牌,据说要经常自己做叫牌练习。为了偷懒不用发牌,随便写了一段发牌的程序。
我用的是cygwin。如果是别的系统,产生随机数洗牌那里要改,其它的都不用动。
大致思路是:
用整数51~0代表52张牌,依次是黑桃A~2、红桃A~2、方块A~2、草花A~2,保存到数组。
洗牌:循环10000次,每次产生两个0~51的随机数,交换这个位置的数组元素。
洗好牌之后,就可以把序号0~12、13~25、26~38、39~51分别作为4家的牌,各自在组内从大到小排序。
然后把整数转换成花色和牌点,保存到4x4x13的三维char数组,cards[玩家][花色][牌点]。用't'代表10,0代表没有牌。