随机发牌

#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");

}

时间: 2024-11-05 22:01:47

随机发牌的相关文章

C语言的随机发牌程序(红桃、黑桃、梅花、方块)

做一个随机发牌的C语言程序,供大家学习,思考. 未做任何注释,有测试时候留下的一些输出语句,一遍方便测试. /* author:nunu qq:398269786 */ #include<stdio.h> #include<stdlib.h> #include<time.h> int main() { int a[60]; int b[60]; int w = 0; int wi,wj,wii; int i,j,index,x=0,m; for(i=0;i<54;

java随机发牌

public class CardGame { public static void main(String[] args) { String[]suits={"spades","dimonds","Hearts","clubs"}; String[]nums={"A","2","3","4","5","6"

房卡麻将分析系列之&quot;发牌器&quot;算法设计

大家好,经过一段时间的努力,在填平了大部分源码框架中的坑后,我们的"大赢家"红中麻将总算完成了1.0版本,虽然仍然有诸多问题,但总归算是有一个好的开始,希望后续诸事顺利,能够早日跑出流水,也欢迎各位合作商积极与我联系. 回顾开发过程,我深深的体会到,一个有多年摸牌经验的服务器主程是有多么重要!记得年前帮一家公司做房卡麻将项目,对方从上到下,基本没人会玩麻将,诸事都需要请教麻友,这样的情况我觉得上线的产品应该也不太会好吧,没爱的设计~!不过我可是8岁就上牌桌,八十年代家里就有了一幅竹制麻

Java--&gt;简单的斗地主发牌流程

package com.dragon.java.hwddz; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /*1. 写一个可以给斗地主三家随机发牌的程序. a:牌可以随机发给三个玩家 b:在控制台打印每个玩家的牌. c:对每个玩家手中的牌按照大写排序. ``` 牌的花色:"♠", "♥", "♣"

第十章 数组与集合 发牌程序 实例代码

解决方案目录: Suit.cs四种花色 namespace Cards { enum Suit { Clubs, Diamonds, Hearts, Spades } } Value.cs扑克牌的13中面值 namespace Cards { enum Value { Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten, Jack, Queen, King, Ace } } Pack.cs发牌程序核心类 namespace Cards { u

流程python学习笔记:第一章

这一章中作者简要的介绍了python数据模型,主要是python的一些特殊方法.比如__len__, __getitem__. 并用一个纸牌的程序来讲解了这些方法 首先介绍下Tuple和nametuple的区别: Nametuple是类似于元组的数据类型.除了能够用索引来访问数据,还支持用方便的属性名来访问数据. 传统的元组访问如下.对每个元素的访问都必须通过索引来找到.这种找法很不直观 tup1=('abc','def','ghi') print tup1[1] 使用nametuple来构造:

Jq之21点游戏

最近在看Jq,里面有个21点的游戏挺不错的,也是需要一点时间去理解~分享一下 html结构 <!DOCTYPE html> <html> <head> <title>Head First Black Jack</title> <meta http-equiv="Content-type" content="text/html;charset=utf-8"> <link href="

IOS的MVC

1 翻牌游戏 1.1 问题 根据苹果MVC设计模式的思想原则实现一个简单的翻牌游戏,功能如下: 1)界面上随机摆放12张背面朝上的纸牌,界面效果如图-1所示: 图- 1 2)点击纸牌可以使纸牌翻页,翻牌后进行数字和花色的匹配,如果数字一样得4分,花色一样得1分: 3)在界面的左下角有一个记录得分的标签,界面如图-2所示: 图- 2 1.2 方案 首先使用Xcode创建一个带有xib的项目,在xib界面拖放12个UIButton对象和一个计分的UILabel对象,因为纸牌可以点击,所以使用UIBu

Java基础之如何解决斗地主问题

    难的是逻辑的分析,把逻辑转化成代码是一种能力,这种能力需要多练习总结.     多多指教,共同进步. 问题: 要求实现斗地主游戏发牌过程,打印三个玩家的牌和底牌.在不看底牌的情况下,统计出三个玩家的炸弹数: S(small)代表小王,B(big)代表大王 ----------------------------------------------------------------------------------------------------------------------