C++21点纸牌游戏

这篇博客记录了作者进行课程设计的过程,重点是用C++实现了一个21点纸牌游戏,包括单人和多人两种模式。作者通过创建单独的类来组织代码,多人游戏类继承自单人游戏类。博客中分享了代码结构,旨在深化对C++的理解。
摘要由CSDN通过智能技术生成

最近很少去刷题了,一心在搞课程设计。自己觉得搞得不咋样,还好,自己过了。不管做的怎么样知识是自己编的,不会随便到网上找别人的代码去蒙老师。

把代码贴下来,也算是完成这学期的一个总结吧,把C++彻底弄懂吧。

    游戏分为单人和多人游戏。我就把它分为了两个类,一个单人游戏,一个多人游戏的类,并且由多人派生出单人游戏的类。

代码放在三个文件里面:

  game_class.h文件中代码如下:

#define N 10
using namespace std;

void StartMenu();  //本文件是包含类的声明和函数的声明。 
int Menu(); 
void Exit();

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(){}
};

game_class.cpp中代码如下:

#include<iostream>
#include<windows.h>
#include<cstring>
#include<time.h>
#include<fstream>
#include<iomanip>
#include"game_class.h"
using namespace std;

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;                    //玩家总数        //记录庄家姓名

void StartMenu()  //游戏起始界面,基类game
{
	char load[]="▋☆☆★☆☆█";
	cout<<"\t╔═══════════════════════╗\t\n";
	cout<<"\t    ≧▂≦ 欢迎来到二十一点纸牌游戏 ≧▂≦\t\n\t\t";
	for(int i = 0; i <= strlen(load); ++i)
	{
		cout<<load[i];
	}
	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&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值