游戏算法-洗扑克牌
来源:互联网 发布:上海811所硕士待遇知乎 编辑:程序博客网 时间:2024/09/21 08:57
游戏算法-洗扑克牌
扑克牌洗牌算法中关键点:随机值的算法及扑克牌的设计。
#include <stdio.h>#include <stdlib.h>#include <time.h>#define CARD_NUM 52typedef struct _card_tag{ char m_card_num; char m_suit; // 3:heart 4:club 5:diomand 6:spade} card_t;card_t arrCards[CARD_NUM];void PrintCard(card_t arrCard[]){ int i = 0; for (i = 0; i < CARD_NUM; i++) { if ((i != 0) && (i % 13 == 0)) { printf("\n\n"); } printf("%d%c ", arrCard[i].m_suit, arrCard[i].m_card_num); } printf("\n\n");}void Shuffle(card_t arrCard[]){ int i = 0; int nTmp = 0; char nSuit = 3; char chCard = 0; for (i = 0; i < CARD_NUM; i++) { if ((i != 0) && (i % 13 == 0)) { nSuit++; } nTmp = i % 13; switch(nTmp) { case 0: arrCard[i].m_card_num = 'A'; break; case 9: arrCard[i].m_card_num = '0'; break; case 10: arrCard[i].m_card_num = 'J'; break; case 11: arrCard[i].m_card_num = 'Q'; break; case 12: arrCard[i].m_card_num = 'K'; break; default: arrCard[i].m_card_num = '1' + nTmp; break; } arrCard[i].m_suit = nSuit; } PrintCard(arrCard); srand(time(NULL)); for (i = 0; i < CARD_NUM; i++) { nTmp = rand() % 52; chCard = arrCard[nTmp].m_card_num; nSuit = arrCard[nTmp].m_suit; arrCard[nTmp].m_card_num = arrCard[i].m_card_num; arrCard[nTmp].m_suit = arrCard[i].m_suit; arrCard[i].m_card_num = chCard; arrCard[i].m_suit = nSuit; } PrintCard(arrCard);}int main(){ int n = 0; Shuffle(arrCards); scanf("%d", n); return 0;}
- 游戏算法-洗扑克牌
- 【游戏中的算法】洗扑克牌算法
- 洗扑克牌算法
- 24点扑克牌游戏编程算法详解
- 算法习题67(1):扑克牌顺子游戏
- 扑克牌游戏
- 扑克牌游戏
- 解析扑克牌游戏发牌算法——java实现
- 【算法】C语言实现简易的扑克牌游戏
- 算法 洗扑克牌(乱数排列)
- 程序模拟洗扑克牌(算法)
- 扑克牌游戏代码下载
- 24点扑克牌游戏
- 扑克牌游戏(代码)
- 转。。。。。扑克牌游戏
- 扑克牌游戏C#
- 变色龙扑克牌游戏
- 扑克牌斗牛游戏
- 关于宝宝培养的思考
- 1045 access denied for user 'root'@'localhost' using password yes
- 判断字符串是否对称
- Android播放GIF图片
- Android开发学习笔记(一)
- 游戏算法-洗扑克牌
- 游戏算法-生命游戏
- asp.net 404错误处理 shtml跳转无效
- poj 3122 二分 分蛋糕
- 带菜单的无边框窗体
- 朴素模式配对算法
- Linux虚拟文件系统vfs及proc详解
- 顺序队列的相关代码
- html5比赛