关于扑克牌洗牌的程序---Ubuntu LinuxC++程序/g++编写但会导致Ubuntu12.04出现Core Dumps(小心使用)

原创 2013年01月27日 21:18:53

#include <cstdlib>
#include <iostream>

using namespace std;
struct Poker{
     char pt;//点数
     char st;//花色
    };
 char Point(int i){
     switch(i)
     {
      case 0: return 'K';
      case 1: return 'A';
      case 11: return 'J';
      case 10: return '!';
      case 12: return 'Q';
      default : return i+48; 
     }
     }
 char Style(int j)
 {
  switch(j)
  {
   case 0: return
'@';//Spade黑桃
   case 1: return '#';//Heart红桃
   case 2: return '$';//Diamond方片
   case 3: return '&';//Ciub 梅花
  } 
 }
void shuffle ( int a[], int n )
{
    int tmp = 0, p1, p2;
    int flag = rand()%54;
    while (flag--)
    {
           p1 = rand() % n;
           p2 = rand() % n;          
           tmp = a[p1];
           a[p1] = a[p2];
           a[p2] = tmp;
    }
}
int main(int argc, char *argv[])
{
 Poker  P[54];
 int temp[54],n;
 for(int i=0;i<54;i++)
 temp[i]=i+1;
 cout<<"=========说明:'!'代表10,黑桃@,红桃$,方片#,梅花&========="<<endl;
 cout<<"请输入要洗牌的次数 N= ";
 cin>>n;
 shuffle (temp,n);
 for(int i=0;i<54;i++)
 {
  if(temp[i]==54)
  {
   P[i].pt='R',P[i].st=0;//大王的花色和点数
  } 
  else
  if(temp[i]==53)
  {
   P[i].pt='r',P[i].st=0;//小王的花色和点数
  }
  else
  {
   P[i].pt=Point(temp[i]%13);
   P[i].st=Style((temp[i]-1)/13); 
  }     
 }
 for (int j=0;j<54;j++)
 {
  cout<<P[j].st<<P[j].pt<<" "; 
 }
 system("pause");
 return 0;
}

 睡觉睡觉睡觉

扑克牌的结构定义

使用结构定义一副扑克牌,并对变量赋值 扑克牌有四种花色:草花,方块,红心和黑桃,可将花色说明为枚举类型。扑克牌类型为结构类型,包含两个成分:分别存储牌的花色和牌的面值,其中面值为字符数组。下面是代码...
  • hongbochen1223
  • hongbochen1223
  • 2015年06月16日 10:49
  • 1633

C 扑克牌随机发牌的算法实现与研究

最近老师布置了一个题目: (1)实现函数 /*将1~13随机放入pCards数组里*/ int generate_cards(int [] pCards); /*根据length将数组打印出来...
  • tingyuanss
  • tingyuanss
  • 2012年09月07日 13:12
  • 3458

钱柜娱乐开户:一个很简单的扑克游戏(从项目资源创建图像)

string.xml 简单的扑克牌游戏 扑克牌 再来一次 恭喜您,猜对了,你该买彩票了! 很遗憾,猜错了,有志者事竟成,再来一次! 猜猜A是哪...
  • huangbiao86
  • huangbiao86
  • 2011年08月30日 20:49
  • 4405

在扑克牌游戏中,每次游戏开始都要求把54张牌重新排列一下,称为洗牌。试编写程序将一副扑克牌(用54个整数1~54表示)随机洗好后,顺序输出54张牌的情况。

问题及代码: /* *Copyright (c) 2016,烟台大学计算机学院 *All rights reserved. *文件名称:main.cpp *作 者:李磊涛 *完成时间:2016...
  • a1724002236
  • a1724002236
  • 2016年06月10日 21:51
  • 1966

Python-练习 洗牌

题目要求如下: 的题目是用python模拟发牌。52张扑克牌发个4个玩家,每人13张,打印出每人手中的牌。 要求: 1,列出完整的程序。 2,牌为随机分发。 3,程序以“添加代码文字...
  • aa584235166
  • aa584235166
  • 2016年02月21日 22:37
  • 5639

【算法】扑克牌52张,无重复洗牌算法

private static void Shuffle () { string[] cardType = { "红桃", "黑桃", "方块", "梅花" }; string[] c...
  • sinat_20559947
  • sinat_20559947
  • 2015年09月23日 09:57
  • 4230

Java扑克牌小程序

慕课网第三季作业要求 1. 创建一副扑克牌,包括2-10,J,Q,K,A,黑桃,红桃,梅花,方片,不包括大小王。 2. 创建两名玩家,有name属性。 3. 洗牌,利用Collectio...
  • izzlin
  • izzlin
  • 2017年04月09日 20:27
  • 435

用PHP实现一个关于德州扑克算法的程序(四):代码

德州扑克算法的代码
  • naidecreation
  • naidecreation
  • 2017年04月18日 10:58
  • 1039

扑克牌上四个花色人物的故事,及其代表意义

本文转载至:http://www.itbbu.com/297.html 我们经常玩扑克牌,扑克牌四个花色都有KQJ,但是细细看来他们长的并不一样,而且他们都有关于自己的故事,一起来看看吧~当...
  • robertsong2004
  • robertsong2004
  • 2014年11月13日 22:55
  • 1354

用C#模拟实现扑克牌发牌、排序程序。

(1)52张扑克牌,四种花色(红桃、黑桃、方块和梅花),随机发牌给四个人。 (2)最后将四个人的扑克牌包括花色打印在控制台上。 其中:     花色和点数用枚举类型实现     每张扑克牌...
  • gcy77
  • gcy77
  • 2013年12月26日 19:35
  • 3128
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于扑克牌洗牌的程序---Ubuntu LinuxC++程序/g++编写但会导致Ubuntu12.04出现Core Dumps(小心使用)
举报原因:
原因补充:

(最多只允许输入30个字)