C++课程设计:一个21点的扑克牌游戏_c课程设计游戏21点

其他范文 时间:2020-02-29 01:56:02 收藏本文下载本文
【www.daodoc.com - 其他范文】

C++课程设计:一个21点的扑克牌游戏由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c课程设计游戏21点”。

第1题 一个21点的扑克牌

1.1.1 课程设计的程序功能简介:

一个21点牌的扑克游戏,玩家一共可以要5张牌,但如果牌的点数超过21,则暴了,自动出局,在不超过21点的情况下,玩家与庄家比牌的大小,大者为赢。

1.1.2 课程设计的任务要求:

(1)将所有的函数与相应的数据封装到类中,并改写主程序,使程序简化;

(2)程序中一共有十三张扑克牌可以随机抽取,大于10的点数为10,现要求大于10的点数全部为半点;

(3)要求庄家永远不会暴庄,即庄家可以查看下一张牌,若大于21点,则拒绝,当然,在游戏规则上不能泄露这点秘密;

(4)高级玩家可以查看下一张牌,即按H键,然后按要求输入密码,密码正确可以看牌,并决定是否要牌;

(5)每次要牌后可以设定赔率,即如果开始下的是10元钱的注,如果牌好,你可以要求再下注,当然不能超过你所有的总钱数;

(6)将界面的提示说明改成中文界面,界面的解释详细友好,可以吸引更多的玩家。

1.1.3 课程设计的说明:

(1)题目要求把原程序封装在类中,需要编写一个类来封状所有相关函数和变量.因此编写了名为XXX类,同时对mian主函数进行了改写,以完成题目的要求;

(2)题目要求把抽到大于10点的牌的点数设为一半,只需设计随机取下一张牌的成员函数使用if语句判定牌的点数是否大于10,大于10的牌对其重新赋值为0.5即可;

(3)题目要求庄家永远不会暴庄,庄家取下一张牌之前先判定取牌后总点数是否会大于21点,大于的话就拒绝取下一张,小于就继续取牌,在函数中首先随机产生下一张牌,接着用条件语句判定原有点数与新牌的点数之和是否大于21点,然后决定是否取牌;

(4)题目要求超级玩家在输入密码后可以查看下一张牌,只需设计一成员函数,判定玩家是否继续要牌之前加入对玩家是否输入H键的判定,如果有输入则调用为处理玩家输入密码而单独编写的成员函数,在该函数中,首先判定玩家的密码输入是否正确,不正确则返回0,正确则返回1。

(5)题目要求玩家可以根据手上的牌决定是否下注,只需设计一成员函数,检查玩家的赌注累计不超过他所拥有的总资本。

(6)评定难易级别:B级 1.1.4 课程设计的原代码注解:

//wait.h begin #include #include void wait(int milli){ clock_t start;start=clock();while((clock()-start)

#include #include #include #include

//=========== void pause()//displays a meage and waits for the user to hit a key {

cout

getch();}

//=========== int GetInt(int L=0,int H=100){

int ent;

cout

cin>>ent;

while((entH))

{

cout

cout

cin>>ent;

}

return(ent);} //============ void sign()//Displays ISAAC SHAFFER {

cout

int ran;

srand((unsigned)time(NULL));

ran=rand()%(hi-(lo-1))+lo;

return(ran);} //utility.h end //ISAAC SHAFFER //3-2-2000 //BLACKJACK GAME WITH FUNCTIONS //THIS PROGRAM IS MENT TO BE A SIMPLE BLACK JACK GAME //since i can't use gotoxy i used the slash t to space my program //notes //cpu is used to refer to the coumputer //librays

#include #include #include “utility.h” #include “wait.h” //fuctions void replay(char &ans);

//allows replay of game void hit(int &total);

//take another card

void deal(int &player,int &cpu,int &playerturns,int &cputurns);//deals hand void BET(int &bet,int &money);//takes bet void print(int wins,int lose,int draw,int money);//prints final score void rules();//shows rules void results(int player,int cpu,int bet,int &money,int &draw,int &win,int &lose);//finds winner

int main(){

int player=0,cpu=0,win=0,lose=0,draw=0,playerturns=0,cputurns=0,money=0,bet;char ans;system(“cls”);//执行系统命令 cls rules();cout>ans;if((ans == 'y')||(ans=='Y'))//checks to see they want to play {

cout

money=100;

cout

pause();} else {

return(0);} do{

system(“cls”);

if(money

{

cout

return(0);

}

BET(bet,money);//calls bet fuction

deal(player,cpu,playerturns,cputurns);//Deals teh cards

do{

cout

cin>>ans;

if((ans=='h')||(ans=='H'))

{

playerturns++;//adds one to players total cards

if(playerturns>5)//sees if player can take a card

{

cout

}

}

if((playerturns

{

cout

}

}while((ans=='h')||(ans=='H'));//Takes value for hit or stay for(;(cpu

//Tells the cpu wither to take a card or not {

cout

cout

hit(cpu);//calls hit function }

} //-------------------------void rules()//This Function Displays the rules for Black Jack { cout

cout>bet;

if(bet

{

bet=bet*-1;

} money=money-bet;} //--------------------------void deal(int &player,int &cpu,int &playerturns,int &cputurns)//This Function Deals The hands { int playercard1,playercard2,cpucard1,cpucard2;playerturns=2;cputurns=2;playercard1=random(13,1);cout

wait(350);cpucard2=random(13,1);if(playercard1>=10){

playercard1=10;} if(playercard2>=10){

playercard2=10;} if(cpucard1>=10){

cpucard1=10;} if(cpucard2>=10)cout

{ cpucard2=10;} player=playercard1+playercard2;cpu=cpucard1+cpucard2;cout

//--------------------------void hit(int &total)//This fuction is to deal a card and add it to the total { int card;card=random(13,1);if(card>=10){

card=10;} total=total+card;cout

cout

draw++;

} if(player>21){ cout

lose++;} else {

if(cpu

{

cout

money=money+(bet*2);

win++;

} } if(cpu>21){

cout

if(player

{

cout

win++;

money=money+(bet*2);

} } else {

if(cpu>player)

{

cout

lose++;

} } } //---void replay(char &ans){ cout>ans;} //---void print(int wins,int lose,int draw,int money){ cout

1.1.5 课程设计的实现要求:

1.该程序可运行于DOS环境中;

2. 在C++中创建一个工程并且将程序加入工程中;

3.将该程序输入计算机并且应该能够执行

4.设计编写所要求完成的补充部分 5.对程序进行补充与完整,并进行调试

下载C++课程设计:一个21点的扑克牌游戏word格式文档
下载C++课程设计:一个21点的扑克牌游戏.doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

    热门文章
      整站推荐
        点击下载本文