C++程序设计21点纸牌游戏系统的设计与实现

本文介绍如何使用C++设计和实现21点纸牌游戏系统,包括单人和多人游戏模式,通过类结构组织代码。
摘要由CSDN通过智能技术生成

**

C++程序设计21点纸牌游戏系统的设计与实现

**
一个单人游戏的类,一个多人游戏的类,并且由多人派生出单人游戏的类。

代码

#include<iostream>
#include<windows.h>
#include<cstring>
#include<time.h>
#include<fstream>
#include<iomanip>
#define N 10
using namespace std;

void StartMenu();  //类的声明和函数的声明。
int Menu();
void Exit();

char PokeColor[4] = {
   3,4,5,6};
char PokeNum[13] = {
   '2','3','4','5','6','7','8','9','I','J','Q','K','A'};
int n,stake,h=0,flag=0;                    //玩家总数        //记录庄家姓名

extern int n,flag;      //局外变量。

class Game{
   
protected:
	  int color[N][N];
      int num[N][N];
	  int currentOdds[N];
	  char name[N][20] ;
	  int money[N];
	  int score[N];
	  int visit[N];
	  int hands[N];
	  int e[N];
public:
	Game(){
                                   //构造函数
        for(int i=0;i<N;i++){
                //初始化
		money[i]=1000;
		score[i]=0;
		e[i]=0;
		hands[i]=0;
		visit[i]=0;
		currentOdds[i]=0;
		}
	}
	~Game(){
   }
	 void Help();                              //帮助
	 void ShowPoke(char,char);          //显示单个扑克函数
	 void Show(int);                    //显示函数
	 bool GetCard(int,int);            //发牌函数
     bool choice();                   //信息筛选函数
	 void SetOdds(int);              //加注函数
	 void InitUser();               //初始化输入函数
   	 void Save();                  //保存记录函数
	 int Judge(int);               //判断函数
	 void Continue();              //继续游戏函数,读取文件
	 virtual void begin(int);      //重新开始函数,用虚函数实现
	 void Result(int);             //计算结果函数
};
class game:public Game
{
   
public:
   bool	computer();
   virtual void begin(int);
   void Save();
   void Continue();
   game():Game(){
   }
};
void StartMenu()  //游戏起始界面,基类game
{
   
	char load[]="▋☆☆★☆☆█";
	cout<<"\t╔═════════════════════════════════════╗\t\n";
	cout<<"\t ≧▂≦ 欢迎来到二十一点纸牌游戏 ≧▂≦\t\n\t\t";
	cout<<"\n\t╚═════════════════════════════════════╝\n"<<endl;
	cout<<"Loading  success!"<<endl;
}
int Menu() //菜单显示
{
   
	char ch[5];
	while(1){
   
	cout<<"┏┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┓\n";
	cout<<setw(15)<<" "<<"菜单"<<endl;
	cout<<setw(25)<<"0:继续上次游戏"<<endl;
	cout<<setw(22)<<"1:单人游戏\n";
	cout<<setw(22)<<"2:多人游戏\n";
	cout<<setw(18)<<"3:帮助\n";
	cout<<setw(18)<<"4:退出\n";
	cout<<"┗┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┛\n";
	cout<<"请选择:";
	while(cin>>ch){
   
		if('0'<=ch[0]&&ch[0]<='4') break;
		else cout<<"选择无效!,请重新输入:";
	}
	switch(ch[0]){
   
	    case '0':return 0;
		case '1':return 1;
		case '2':return 2;
		case '3':return 3;
		case '4':return -1;
	}
	}
}
void Game::Help(){
                   //帮助函数,
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值