1、C语言21点纸牌游戏系统详细设计系统详细设计、程序流程图:2、功能测试:2、1游戏主界面图2、1 进入游戏后得游戏说明及规则2、开始游戏图、2选择下注数目,然后随机发牌,只能见庄家一张牌,可以选择查瞧庄家隐藏得牌,此为游戏高级模式,开启后可选择想要得牌、作弊模式图2、3输入H后可开启作弊模式能瞧到接下来发得牌得点数、4作弊模式下赢得游戏图2、4在作弊模式下取胜,可以接着要牌,但玩家得牌最多不能超过5张,取胜后会统计结果,询问就是否继续游戏、5非作弊模式图2、5此情况为非作弊模式,不能见庄家得牌,只能知道结果,输掉游戏后统计结果,询问就是否继续2、6退出游戏图2、6此为退出游戏,输入后自动关闭窗
2、口3、源程序:icdee、h#custdio、hincldeconio、h#icludestdlib、voidWait_f(int);voi se_f();暂停,按任意键继续/int Rom(long ,log );/返回两个参数之间得随机数vieplyf(char );/询问就是否重开一局*/void Hit_(it *);/*发一张牌/voidel_f(int *,int *,t*,int );/双方各发两张牌/vod Bt_f(int ,int );/接受下注得数目/oi Prit_f(nt ,int ,int ,t );/*打印结果*oidRules_f();/*显示游戏规则/od R
3、suls_(int,it , ,it*,in ,int *,in*);/*统计结果(输赢平)/voi Htf2(n pTol,n a);int nnn;n min() nt Play0,nC=0,nin=,Lose=0,nDra=,PlayerTurn=, nCpuTurns=,nMoy=0,nB; nPlayer-玩家手中全部牌得点数与,nPlayerTurs玩家手中牌得数量/ char chnswer; char mm;nt a; sstem(cls”);/执行系统命令清屏” / Rue_f(); pit(”确认就是否开始游戏:”); sanf(%,hAsw); if(chAnsw=)|(
4、nwer=Y)) ney=100; printf(ttt); Pause_f(); els rtun(0); do sysem(”c”); if(Me) rint(您没钱了!n); retn(); Bt(&B,nMoney);/*接受下注得数目*Dal_f(nPaer,nCpu,&Payurs,&nCpTurns);双方各发两张牌* pritf(”想瞧庄家牌吗?); scanf(”%c,mm); if((mm=y)|(mm=Y) print(%,nnn); rintf(您想要哪一张牌?);scaf(”d”,a); syst(cs); o prinf(想要继续要牌吗?(H开启作弊模式)n”);/
5、询问玩家就是否接着要牌/ a( ,&chAswe); if(hnser=h)|(chswer=H)) nPlaerTu+;/计算总牌数/f(nPayerTurns5)*瞧就是否允许再要牌/ prnt(您得牌不能超过5张!n); if(nPlaerrns=0)nCpCard210;npPayer=PlayerCard1+nPlayerad2;nCpu=CpuCard+Cpud2;prntf(您得总点数就是:%dn,*npPlyer);prin(d,nPlayeCard1);pritf(,Playead2);prntf(); pritf(”庄家有一张牌为:%,nCpuCard);printf(”n
6、”);rintf(%d,CpCard1);nn=nCpuar;void i_f(int*pTotal) /* 发一张牌,返回点数之与*/int Cad;Card=andm_f(3,);i(Cad=10) nCard=10; *potl npTota+nCrd; printf(”点数就是::d点n, nCar);rintf(总点数就是:%d点n, * npTotal); voi Reuts_f(it Player,nt Cp,int ne,it npMoney,int *npDraw,int * npWin,i npLo)/统计结果(输赢平及输赢平得局数)if(nCpu=nPlyer) rt(”
7、庄家赢!n”);+* prw; if(nPlayr21) prit(”您爆点了!n); npLe;else if(npunPlaer) print(恭喜您赢了!”); *nponey=*nponey+(nBe*2);+* pWn; if(nCpu21)prin(庄家爆点!”); if(nPlar21) rint(恭喜您赢了!n); + npin; *npMoney=nMoney+(n2); else i(CpuPayer) pritf(您输了!); +nLose; void ly_f(car cpAns) /询问就是否重开一局*/ pritf(想要再玩一次吗?n”); scanf(”%,chA
8、ns);void Pnt(intis,nnose,innraw,int none) printf(赢得:%局n,nWins); ritf(输掉:%d局n, nLose); prif(平局:d局n,nDraw); pitf(”剩余资金:%d元n,nMoy);oidWait(n illi) in nStart1,Start2; for(nSta1=0;nStrt1nMill0;nSart1+) for(nStat2=0;nStar2Mill*100;Start2+) ;voi Paus_f() rintf(按任意键继续:”); gcr();int adom_f(lon lBigNumber, ong lmalNumbe)/*选择两个参数之间得随机数 int Ra; srand((unsined)time(NUL); nn=and()%(lBimber(SallNumber1)+SllNumber; retrn(Ran); void Hit_f2(in npTotal,int a)* 发一张牌,返回点数之与*/in nCd; nara; if(ard=10) ad=10; * Toal=* npTotl+nr;prit(”这张牌就是:d点n”, nard); rinf(一共就是:%d点”, * pTotal);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1