| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1619 人关注过本帖
标题:[求助]帮忙解决一道题:建立一副扑克牌
只看楼主 加入收藏
gilly20
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2005-9-15
收藏
 问题点数:0 回复次数:10 
[求助]帮忙解决一道题:建立一副扑克牌
建立一副扑克牌,(不包括王)显示出来,然后随机洗牌,洗完后再显示出来(用0来表示10)
搜索更多相关主题的帖子: 扑克牌 
2005-09-19 03:39
jackrain
Rank: 1
等 级:新手上路
帖 子:182
专家分:0
注 册:2005-9-4
收藏
得分:0 
洗牌可以用随机数嘛。不知道你要图形界面的还是只用数字模拟

程序和身体一样,健壮,再健壮! 我爱C++
2005-09-19 10:15
凌云
Rank: 1
等 级:新手上路
威 望:1
帖 子:78
专家分:0
注 册:2005-9-17
收藏
得分:0 
可以建立一个4*13的数组,行代表四种花色,列代表13张牌

2005-09-19 10:25
发霉的面包
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2005-9-19
收藏
得分:0 
随机洗牌怎么处理的

2005-09-19 12:04
jackrain
Rank: 1
等 级:新手上路
帖 子:182
专家分:0
注 册:2005-9-4
收藏
得分:0 
一个随机点数(1~K的),一个随机花色(桃杏梅方),然后判断一下这张牌是否已经存在,如果存在就再随机一次

程序和身体一样,健壮,再健壮! 我爱C++
2005-09-19 12:18
gilly20
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2005-9-15
收藏
得分:0 

问题已解决: #include<stdio.h> #include<stdlib.h> #include<time.h> void main() { struct pk { int hua; char dian; }p[52];

int huase[4]={6,3,5,4}; char num[13]={'A','2','3','4','5','6','7','8','9','0','J','Q','K'};

int i,j,k,temp1,temp2;

for(i=0;i<4;i++) { for(j=0;j<13;j++) { p[(j+13*i)].hua=huase[i]; p[(j+13*i)].dian=num[j]; } } printf("未洗牌之前:\n"); for(i=0;i<52;i++) { printf("%c%c ",p[i].hua,p[i].dian); if((i+1)%13==0) printf("\n"); } printf("\n");

//随机洗牌 srand((unsigned)time(NULL)); for(i=0;i<52;i++) { k=rand()%(52-i); temp1=p[k].hua; p[k].hua=p[51-i].hua; p[51-i].hua=temp1;

temp2=p[k].dian; p[k].dian=p[51-i].dian; p[51-i].dian=temp2; } printf("随机洗牌之后:\n"); for(i=0;i<52;i++) { printf("%c%c ",p[i].hua,p[i].dian); if((i+1)%13==0) printf("\n"); } printf("\n"); }

2005-09-19 23:13
jackyhc
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2005-9-12
收藏
得分:0 
好厉害,我用指针写了一下,输出不出来...大家帮我看看,我只写了一小段,随机部分没写

#include&lt;stdio.h&gt;
void main()
{
  char *p1[20],*p2[20];
  char a[13]={'A','1','2','3','4','5','6','7','8','9','0','Q','K'};
  int b[4]={6,3,4,5};
  int i,j;
  for (i=0;i&lt;4;i++)
  {
   for(j=0;j&lt;13;j++)
   {
     *p1[j+13*i]=b[i];
        *p2[j+13*i]=a[j];
   }
  }
  for(i=0;i&lt;4;i++)
   for(j=0;j&lt;13;j++)
    printf("%c%c",p1,p2);
}
谢谢,帮帮小弟弟

1234,5678...
2005-09-20 10:59
gisiyang
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2005-9-18
收藏
得分:0 
以下是引用gilly20在2005-9-19 23:13:15的发言:

问题已解决: #include<stdio.h> #include<stdlib.h> #include<time.h> void main() {..................

你的这个程序我复制到TC中运行不了,有错误哦``1


『StarCraft』
2005-09-20 13:32
乌巴
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2005-9-20
收藏
得分:0 

这是随机发牌的一段代码,试试看。欢迎大家提意见! #include<graphics.h> #include<time.h> void main(void) { int p; int gdriver,gmode; gd=DETECT; initgraph(&gd,&gm,"d:\\tc"); srand(time(NULL)); p=random(13)+1; if(p==11)

{ setcolor(1); settextstyle(1,0,4); outtextxy(25,15,"J"); outtextxy(90,125,"J"); }

else if(p==12) {setcolor(1); settextstyle(1,0,4); outtextxy(25,15,"Q"); outtextxy(90,125,"Q"); }

else if(p==13) {setcolor(1); settextstyle(1,0,4); outtextxy(25,15,"K"); outtextxy(90,125,"K"); }

else if(p==1) {setcolor(1); settextstyle(1,0,4); outtextxy(25,15,"A"); outtextxy(90,125,"A"); }

else if(p==2) { setcolor(1); settextstyle(1,0,4); outtextxy(25,15,"2"); outtextxy(90,125,"2"); }

else if(p==3) { setcolor(1); settextstyle(1,0,4); outtextxy(25,15,"3"); outtextxy(90,125,"3"); } else if(p==4) { setcolor(1); settextstyle(1,0,4); outtextxy(25,15,"4"); outtextxy(90,125,"4"); } else if(p==5) { setcolor(1); settextstyle(1,0,4); outtextxy(25,15,"5"); outtextxy(90,125,"5"); }

else if(p==6) { setcolor(1); settextstyle(1,0,4); outtextxy(25,15,"6"); outtextxy(90,125,"6"); } else if(p==7) { setcolor(1); settextstyle(1,0,4); outtextxy(25,15,"7"); outtextxy(90,125,"7"); }

else if(p==8) { setcolor(1); settextstyle(1,0,4); outtextxy(25,15,"8"); outtextxy(90,125,"8"); } else if(p==9) { setcolor(1); settextstyle(1,0,4); outtextxy(25,15,"9"); outtextxy(90,125,"9"); } else if(p==10) { setcolor(1); settextstyle(1,0,3); outtextxy(25,15,"10"); outtextxy(90,125,"10");

}

}


2005-09-20 20:22
乌巴
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2005-9-20
收藏
得分:0 

/*弄错了一点,下面才是随机发牌*/ #include<graphics.h> #include<time.h> #include<stdli.h> void main(void) { int p; int gdriver,gmode; int gd,gm; gd=DETECT; initgraph(&gd,&gm,"d:\\tc"); srand(time(NULL)); p=random(13)+1; if(p==11)

{ setcolor(1); settextstyle(1,0,4); outtextxy(25,15,"J"); outtextxy(90,125,"J"); }

else if(p==12) {setcolor(1); settextstyle(1,0,4); outtextxy(25,15,"Q"); outtextxy(90,125,"Q"); }

else if(p==13) {setcolor(1); settextstyle(1,0,4); outtextxy(25,15,"K"); outtextxy(90,125,"K"); }

else if(p==1) {setcolor(1); settextstyle(1,0,4); outtextxy(25,15,"A"); outtextxy(90,125,"A"); }

else if(p==2) { setcolor(1); settextstyle(1,0,4); outtextxy(25,15,"2"); outtextxy(90,125,"2"); }

else if(p==3) { setcolor(1); settextstyle(1,0,4); outtextxy(25,15,"3"); outtextxy(90,125,"3"); } else if(p==4) { setcolor(1); settextstyle(1,0,4); outtextxy(25,15,"4"); outtextxy(90,125,"4"); } else if(p==5) { setcolor(1); settextstyle(1,0,4); outtextxy(25,15,"5"); outtextxy(90,125,"5"); }

else if(p==6) { setcolor(1); settextstyle(1,0,4); outtextxy(25,15,"6"); outtextxy(90,125,"6"); } else if(p==7) { setcolor(1); settextstyle(1,0,4); outtextxy(25,15,"7"); outtextxy(90,125,"7"); }

else if(p==8) { setcolor(1); settextstyle(1,0,4); outtextxy(25,15,"8"); outtextxy(90,125,"8"); } else if(p==9) { setcolor(1); settextstyle(1,0,4); outtextxy(25,15,"9"); outtextxy(90,125,"9"); } else if(p==10) { setcolor(1); settextstyle(1,0,3); outtextxy(25,15,"10"); outtextxy(90,125,"10");

}

} 


2005-09-20 20:33
快速回复:[求助]帮忙解决一道题:建立一副扑克牌
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027751 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved