C语言程序设计 21点扑克牌游戏
实验报告
2010-5-4 批阅时间:
指导教师: 成 绩:
沈阳工业大学实验报告
(适用计算机程序设计类)
专业班级: 电子信息工程0902 学号: 姓名:
实验名称:21点扑克牌游戏要求:该程序是一个21点的扑克牌游戏,玩家一共可以要5张牌,如果牌的点数超过21,则暴了,自动出局;在不超过21点的情况下,玩家与庄家比较牌点数的大小,大者为赢。程序中一共有13张扑克牌可以随机抽取,大于10的点数为10,现要求大于10的点数全部为半点。高级玩家可以查看下一张牌,当然,在游戏规则上不能泄露这个秘密。。每次要牌后可以设定赔率,即如果开始下的是10元钱的注,如果牌好,你可以要求再下注,当然不能超过你所有的总钱数。经调试正确的源程序程序运行及解决方法#include
#include
#include
#include
void Wait_f(int);
void Pause_f();/*暂停,按任意键继续*/
int Random_f(long ,long );/*返回两个参数之间的随机数*/
void Replay_f(char *);/*询问是否重开一局*/
void Hit_f(int *);/*发一张牌*/
void Deal_f(int *,int *,int *,int *);/*双方各发两张牌*/
void Bet_f(int *,int *);/*接受下注的数目*/
void Print_f(int ,int ,int ,int );/*打印结果*/
void Rules_f();/*显示游戏规则*/
void Results_f(int ,int ,int ,int *,int *,int *,int *);/*统计结果(输赢平)*/
void Hit_f2(int * npTotal,int a);
int nnn;
int main()
{
int nPlayer=0,nCpu=0,nWin=0,nLose=0,nDraw=0,nPlayerTurns=0,
nCpuTurns=0,nMoney=0,nBet;
/* nPlayer——玩家手中全部牌的点数和,nPlayerTurns——玩家手中牌的数量*/
char chAnswer;
char mmm;
int a;
system("cls");/* 执行系统命令“清屏” */
Rules_f();
printf("\t\t\tWOULD YOU LIKE TO PLAY? ");
scanf("%c",&chAnswer);
if((chAnswer=='y')||(chAnswer=='Y'))
{
printf("\t\t\tI WILL LET YOU START WITH $100\n");
nMoney=100;
printf("\t\t\t");
Pause_f();
}
else
{
return(0);
}
do
{
system("cls");
if(nMoney<0)
{
printf("Your broke\n");
return(0);
}
Bet_f(&nBet,&nMoney);/*接受下注的数目*/
Deal_f(&nPlayer,&nCpu,&nPlayerTurns,&nCpuTurns);/*双方各发两张牌*/
printf("\t\t\tWould you want to cheat? yes or no?");
scanf("%c",&mmm);
if((mmm=='y')||(mmm=='Y'))
{
printf("%d",nnn);
printf("\t\t\twhich card do you want?");
scanf("%d",&a);
}
system("cls");
do
{
printf("\t\t\tWould You Like To Hit or Stay :");/*询问玩家是否接着要牌*/
scanf(" %c",&chAnswer);
if((chAns