随机发牌

#include "stdafx.h"
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <time.h>
typedef struct card
{
 char suit[10];
 char face[10];
}CARD;
void Deal(CARD *wCard);
void shuffle(CARD *wCard);
void FillCard(CARD wCard[],char *wFace[],char *wSuit[]);
int main()
{
 char *suit[] = {"Spades","Hearts","Clubs","Diamonds"};
 char *face[] = {"A","2","3","4","5","6","7","8","9,","10","Jack","Queen","King"};
 CARD card[52];
 srand (time(NULL));
 FillCard(card,face,suit);
 shuffle(card);
 Deal(card);
 system("pause");
 return 0;
}
/*函数功能:花色按黑桃,红桃,草花,方块的顺序,面值按A--K的顺序,排列52张牌*/
void FillCard(CARD wCard[],char *wFace[],char *wSuit[])
{
 int i;
 for(i = 0;i < 52;i++)
 {
  strcpy_s(wCard[i].suit,wSuit[i/13]);
  strcpy_s(wCard[i].face,wFace[i%13]);
 }
}
/*函数功能: 将52张牌的顺序打乱以模拟洗牌过程*/
void shuffle(CARD *wCard)
{
 int i,j;
 CARD temp;
 for(i = 0;i < 52;i++)
 {
  j = rand()%52;
  temp = wCard[i];
  wCard[i] = wCard[j];
  wCard[j] = temp;
 }
}
void Deal(CARD *wCard)
{
 int i;
 for(i = 0;i < 52;i++)
 {
  printf_s("%9s%9s%c",wCard[i].suit,wCard[i].face,i%2 ==0?'\n':'\t');
 }
 printf_s("\n");

}

posted @ 2015-04-13 23:01  码农@163  阅读(301)  评论(0编辑  收藏  举报