C语言21点纸牌游戏系统详细设计Word下载.docx
- 文档编号:13513759
- 上传时间:2022-10-11
- 格式:DOCX
- 页数:14
- 大小:68.34KB
C语言21点纸牌游戏系统详细设计Word下载.docx
《C语言21点纸牌游戏系统详细设计Word下载.docx》由会员分享,可在线阅读,更多相关《C语言21点纸牌游戏系统详细设计Word下载.docx(14页珍藏版)》请在冰豆网上搜索。
intRandom_f(long,long);
/*返回两个参数之间的随机数*/
voidReplay_f(char*);
/*询问是否重开一局*/
voidHit_f(int*);
/*发一张牌*/
voidDeal_f(int*,int*,int*,int*);
/*双方各发两张牌*/
voidBet_f(int*,int*);
/*接受下注的数目*/
voidPrint_f(int,int,int,int);
/*打印结果*/
voidRules_f();
/*显示游戏规则*/
voidResults_f(int,int,int,int*,int*,int*,int*);
/*统计结果(输赢平)*/
voidHit_f2(int*npTotal,inta);
intnnn;
intmain()
{
intnPlayer=0,nCpu=0,nWin=0,nLose=0,nDraw=0,nPlayerTurns=0,
nCpuTurns=0,nMoney=0,nBet;
/*nPlayer--玩家手中全部牌的点数和,nPlayerTurns--玩家手中牌的数量*/
charchAnswer;
charmmm;
inta;
system("
cls"
);
/* 执行系统命令"
清屏"
*/
Rules_f();
printf("
确认是否开始游戏:
"
scanf("
%c"
&
chAnswer);
if((chAnswer=='
y'
)||(chAnswer=='
Y'
))
{
nMoney=100;
\t\t\t"
Pause_f();
}
else
{
return(0);
do
{
system("
if(nMoney<
0)
printf("
您没钱了!
\n"
return(0);
Bet_f(&
nBet,&
nMoney);
Deal_f(&
nPlayer,&
nCpu,&
nPlayerTurns,&
nCpuTurns);
想看庄家牌吗?
scanf("
mmm);
if((mmm=='
)||(mmm=='
{
printf("
%d\n"
nnn);
您想要哪一张牌?
%d"
a);
}
do
想要继续要牌吗?
(H开启作弊模式)\n"
/*询问玩家是否接着要牌*/
%c"
if((chAnswer=='
h'
H'
nPlayerTurns++;
/*计算总牌数*/
if(nPlayerTurns>
5)/*看是否允许再要牌*/
{
printf("
您的牌不能超过5张!
}
if((nPlayerTurns<
6)&
&
(chAnswer=='
if((mmm=='
Hit_f2(&
nPlayer,a);
elseHit_f(&
nPlayer);
/*为玩家发一张牌*/
while((chAnswer=='
));
for(;
(nCpu<
16)&
(nCpuTurns<
6);
nCpuTurns++)/*计算机要牌的条件*/
向庄家发一张牌:
Hit_f(&
nCpu);
/*为计算机发一张牌*/
}
\n\n"
庄家为:
%d点\n"
nCpu);
/*显示总点数*/
您为:
nPlayer);
Results_f(nPlayer,nCpu,nBet,&
nMoney,&
nDraw,&
nWin,&
nLose);
/*计算最后的结果(统计输赢平的局数)*/
Replay_f(&
}while((chAnswer=='
Print_f(nWin,nLose,nDraw,nMoney);
/*打印最后结果*/
printf("
\t\t\t\t"
return(0);
voidRules_f()/*这个函数显示游戏规则*/
欢迎来到21点纸牌游戏\n"
printf("
这里有一些简单的规则:
1:
你的几张牌中只能有一个最大的牌。
2:
如果你破产将输掉游戏。
3:
如果你赢得游戏将获得你下注两倍的钱。
4:
庄家点数等于或大于16时游戏停止。
5:
您将获得100元初始基金!
提示:
游戏中“是”输入“y”,“否”输入“n”。
PS:
请按Enter键继续游戏!
getchar();
voidBet_f(int*npBet,int*npMoney)/*该函数接受玩家下注,并计算赌资的总数*/
您有:
%d元\n"
*npMoney);
您将下注多少钱:
npBet);
if(*npBet<
*npBet=*npBet*(-1);
*npMoney=*npMoney-*npBet;
voidDeal_f(int*npPlayer,int*npCpu,int*npPlayeReturns,int*npCpuReturns)
/*该函数是给计算机与玩家各发两张牌*/
intnPlayerCard1,nPlayerCard2,nCpuCard1,nCpuCard2;
*npPlayeReturns=2;
*npCpuReturns=2;
nPlayerCard1=Random_f(13,1);
\nDEALINGHAND\n"
nPlayerCard2=Random_f(13,1);
nCpuCard1=Random_f(13,1);
Pause_f();
nCpuCard2=Random_f(13,1);
if(nPlayerCard1>
=10)
nPlayerCard1=10;
if(nPlayerCard2>
nPlayerCard2=10;
if(nCpuCard1>
nCpuCard1=10;
if(nCpuCard2>
nCpuCard2=10;
*npPlayer=nPlayerCard1+nPlayerCard2;
*npCpu=nCpuCard1+nCpuCard2;
您的总点数是:
*npPlayer);
[%d]"
nPlayerCard1);
nPlayerCard2);
庄家有一张牌为:
nCpuCard1);
[*][%d]\n"
nnn=nCpuCard2;
voidHit_f(int*npTotal)/*发一张牌,返回点数之和*/
intnCard;
nCard=Random_f(13,1);
if(nCard>
nCard=10;
*npTotal=*npTotal+nCard;
点数是:
:
%d点\n"
nCard);
总点数是:
*npTotal);
voidResults_f(intnPlayer,intnCpu,intnBet,int*npMoney,int*npDraw,int
*npWin,int*npLose)/*统计结果(输赢平及输赢平的局数)*/
if(nCpu==nPlayer)
庄家赢!
++*npDraw;
if(nPlayer>
21)
您爆点了!
++*npLose;
if(nCpu<
nPlayer)
恭喜您赢了!
*npMoney=*npMoney+(nBet*2);
++*npWin;
if(nCpu>
庄家爆点!
if(nPlayer<
=21)
if(nCpu>
您输了!
voidReplay_f(char*chpAns)/*询问是否重开一局*/
想要再玩一次吗?
chpAns);
voidPrint_f(i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 21 纸牌 游戏 系统 详细 设计