怎么用C++设计程序 随机出牌

实验内容:设计一个21点的游戏,游戏规则如下:两个玩家,一个是人,一个是电脑。首先由电脑随机派两张牌给人类玩家(牌不能重复,牌的表示方式为花色牌号,如红桃8)想问怎么设计... 实验内容:设计一个21点的游戏,游戏规则如下:
两个玩家,一个是人,一个是电脑。首先由电脑随机派两张牌给人类玩家(牌不能重复,牌的表示方式为 花色牌号,如红桃8)

想问怎么设计一个随机函数或者方法让电脑随机出牌呢?
列如: 梅花5 方块8 黑桃3 。。。。

牌的花色怎么随机啊?
下面是我的代码。
怎么样能让电脑重复发出两张牌呢?
我下面的程序只能发一张

#include<iostream>
#include<cstdlib>
#include<ctime>
#include<string>
using namespace std;

int playcard(int);
int playpocker(int);
int main()
{int i,j;

cout<<"玩家阶段"<<"玩家获得牌:"<<endl;
i=playpocker(i);
j=playcard(j);
string pocker[4]={"红桃","方块","黑桃","草花"};
string card[13]= {"A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"};
cout<<pocker[i]<<card[j]<<endl;

return 0;

}
int playpocker(int)
{int i;
srand(time(0));
i = rand()%4;

return(i);
}

int playcard(int)
{int j;
srand(time(0));
j = rand()%13;

return(j);
}
展开
 我来答
171******75
2009-11-26 · 超过74用户采纳过TA的回答
知道小有建树答主
回答量:278
采纳率:0%
帮助的人:193万
展开全部
给你提供一个思路
把牌和花色搭配好成为一种情况,总共的情况就是:花色*牌号=4*13=52;
1:红1
2:红2
3:红3
……
52:梅13
把这个组成一个首尾相连的链表。
然后再写个1—52的随机数生成器生成x
出牌号=上次位置向前数x个。然后删除这个牌号。成新的环链表。
继续直到表空。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Link.AI
2025-03-20 广告
AI Agent框架是一套用于构建、管理和优化AI智能体的技术架构和工具集。它以大型语言模型为核心,支持AI智能体感知环境、自主决策并执行任务。AI Agent框架提供了任务执行、数据管理、记忆管理等必要组件,帮助企业实现业务自动化、客户服... 点击进入详情页
本回答由Link.AI提供
夜游神肥猫
2009-11-26
知道答主
回答量:27
采纳率:0%
帮助的人:0
展开全部
#include<iostream>
#include<ctime>
int main()
{
srand(time(0));
int card=rand()%12+1,color=rand()%4+1;
cout<<card<<' '<<color;
return 0;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhlonglt
2009-11-26 · TA获得超过130个赞
知道小有建树答主
回答量:109
采纳率:0%
帮助的人:0
展开全部
card[4][13]
第一维花色 第二维牌号
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
河蟹和谐河蟹
2009-11-26 · TA获得超过1156个赞
知道小有建树答主
回答量:1028
采纳率:0%
帮助的人:812万
展开全部
。。。用0-3或者1-4代表花色。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式