最近很少去刷题了,一心在搞课程设计。自己觉得搞得不咋样,还好,自己过了。不管做的怎么样知识是自己编的,不会随便到网上找别人的代码去蒙老师。
把代码贴下来,也算是完成这学期的一个总结吧,把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&