C++课程设计21点扑克牌游戏Word文档下载推荐.docx
《C++课程设计21点扑克牌游戏Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C++课程设计21点扑克牌游戏Word文档下载推荐.docx(8页珍藏版)》请在冰豆网上搜索。
![C++课程设计21点扑克牌游戏Word文档下载推荐.docx](https://file1.bdocx.com/fileroot1/2022-12/31/c0296f10-459e-4880-87f0-65f174a997a7/c0296f10-459e-4880-87f0-65f174a997a71.gif)
CCard();
//构造函数,初始化
void
FirstPlayTwo();
//
最初两张牌
GetNumber();
//返回牌的张数
double
GetPip();
//返回点数
DidplayPip();
//依次显示牌面的点数
DidplayPip(int);
//除了第一张牌,依次全部显示牌面点数(针对计算机牌的显示)
TurnPlay();
//出一张牌
Win();
//赢了计算赌注
Lose();
//输了
Draw();
//平局
SetGamblec(int);
//设置赌注,赌本不够返回-1
GetMoney();
//返回钱数
DisplayInfo();
//显示必要的信息
char
*
GetCurrentCard();
//返回当前牌点
DeleteCard(void);
//删除当前牌点,作弊用
ModifyCard(double);
//修改当前牌,作弊用
Addgamble(int);
//加赌注
};
主程序
#include<
iostream.h>
stdlib.h>
//fuctions
replay(char
&
ans);
//询问玩家是否再玩一局
hit(int
total);
//要一张牌
deal(int
player,int
cpu,int
playerturns,int
cputurns);
//为计算机和玩家各发两张牌
BET(int
bet,int
money);
//下注
print(int
wins,int
lose,int
draw,int
//输出最后结果
rules();
//输出游戏规则
results(int
money,int
win,int
lose);
//判断一局的结果
/*diyige*/
//wait.h
begin
#include
<
time.h>
stdio.h>
wait(int
milli)
//暂停,
milli
毫秒
{
clock_t
start;
start=clock();
while(
(
clock()-start
)
);
}
end
conio.h>
//=========================================================
pause()
//暂停,任按一键继续
cout<
"
任按一键继续"
endl;
getch();
GetInt(int
L=0,int
H=100)
ent;
Please
Enter
A
Number
Between
L<
and
H<
cin>
>
while((ent<
L)||(ent>
H))
Error"
Value
must
be
between
return(ent);
//==========================================================
sign()
//Displays
ISAAC
SHAFFER
This
Program
Was
Written
By
Isaac
Shaffer"
//=============================================================
random(long
hi,long
lo)
//This
Finds
Random
Hi
Low
ran;
srand((unsigned)time(NULL));
ran=rand()%(hi-(lo-1))+lo;
return(ran);
//utility.h
main()
player=0,cpu=0,win=0,lose=0,draw=0,playerturns=0,cputurns=0,money=0,bet;
ans;
system("
cls"
//执行系统命令,清屏
\t\t\t请问是否玩牌:
;
if((ans
==
'
y'
)||(ans=='
Y'
))
检查输入是否为Yes
\t\t\t您的赌本为100美元"
//起始的赌本
money=100;
\t\t\t"
pause();
else
return(0);
do{
if(money<
0)
//看看有无赌本
对不起,您没赌本了"
//若赌本输光,结束程序
BET(bet,money);
//下注的程序
deal(player,cpu,playerturns,cputurns);
//给玩家和计算机各发两张牌
\t\t\tWould
You
Like
To
Hit
or
Stay
:
//询问是否要牌
if((ans=='
h'
H'
//如果玩家要牌
playerturns++;
//玩家手中的牌数增加一张
if(playerturns>
//判断玩家手中的牌数是否超过5张
\t\t\t你手中的牌不能超过5张牌"
//若超过5张不能继续要牌
if((playerturns<
6)&
(ans=='
//判断是否符合玩家要牌的条件
hit(player);
//调用发牌程序
}while((ans=='
));
//继续询问玩家是否要牌
for(;
(cpu<
16)&
(cputurns<
6);
cputurns++)
//计算机开始要牌的条件
\t\t\t计算机要了一张牌"
hit(cpu);
\t\t\t计算机的牌面为:
cpu<
//输出计算机的牌面的总点数
\t\t\t您的牌面为:
player<
//输出玩家的牌面的总点数
results(player,cpu,bet,money,draw,win,lose);
//判断输赢
replay(ans);
//询问是否继续玩牌
print(win,lose,draw,money);
//游戏结束,输出结果
\t\t\t\t"
//---------------------------------------------------------------------------------------
rules()
//游戏规则
\t\t
WELCOME
TO
SHAFFER'
S
BLACK
JACK
GAME"
\t\t\t
HERE
ARE
SOME
SIMPLE
RULES"
\t\t\t1:
Can
only
have
a
max
of
5
cards."
\t\t\t2:
If
you
bust
automatically
lose."
\t\t\t3:
win
what
bet."
\t\t\t4:
The
Dealer
stops
at
after
16."
//----------------------------------------------------------------------------------------
money)
//接收玩家下注
\t\t\t您现有的
$"
money<
\t\t\t您要下的赌注是:
bet;
if(bet<
bet=bet*-1;
money=money-bet;
cputurns)
playercard1,playercard2,cpucard1,cpucard2;
playerturns=2;
cputurns=2;
playercard1=random(13,1);
//取得13与1之间的随机数
\n\t\t\tDEALING
HAND"
wait(350);
//等待350ms
playercard2=random(13,1);
wait(150);
cpucard1=random(13,1);
cpucard2=random(13,1);
if(playercard1>
=10)
//若牌面的点数大于10,按10来计点数
playercard1=10;
if(playercard2>
playercard2=10;
if(cpucard1>
cpucard1=10;
if(cpucard2>
cpucard2=10;
player=playercard1+playercard2;
//玩家两张牌的总点数
cpu=cpucard1+cpucard2;
//计算机两张牌的总点数
\t\t\t现有您的牌面总数是
["
playercard1<
]"
playercard2<
\t\t\t计算机有一张"
cpucard1<
显示"
[*]
//计算机隐藏一张牌面
total)
fuction
is
to
deal
card
add
it
the
total
card;
card=random(13,1);
if(card>
card=10;
total=total+card;
//牌点总数
\t\t\t牌面是
card<
//输出牌面
\t\t\t总的牌面是:
total<
//输出总点数
//-----------------------------------------------------------------
lose)
if(cpu==player)
//平局
\t\t\t平局"
draw++;
if(player>
21)
//玩家超过了21点
\t\t\t很遗憾,你输了"
lose++;
if(cpu<
player)
//玩家赢了
\n\t\t\t恭喜你,你赢了"
money=money+(bet*2);
win++;
if(cpu>
//计算机超过了21点
\t\t\t计算机输了"
if(player<
ans)
\n\t\t\t您是否想再玩一局:
\t\t\t\t赢的次数
wins<
\t\t\t\t输的次数
lose<
\t\t\t\t平的次数
draw<
\t\t\t\t您的赌本
还有。
。
#
define
N
x
main(void)
str[20];
ch;
i=0;
输入密码:
cout.flush();
ch=getch();
while(ch!
=x)
str[i++]=ch;
*'
str[i]=0;