扑克牌加减乘除游戏,是一种集技巧性和运气性于一体的扑克牌游戏。
现实中可以单人玩,也可以不定人数对抗,用若干副扑克牌去掉王即可游戏,推荐用一副牌双人对抗,乐趣无穷。
本程序利用Card类数组模拟扑克牌,定义3个数组分别表示玩家手中的牌,电脑手中的牌和底牌,用srand((unsigned)time(NULL))产生随机数字,将底牌数组中随机的一项从底牌中移动到其他的数组中,模拟从洗好底牌中抓牌。表示出牌。
单人练习模式中,首先记下一个 1到13之间的随机数字,然后玩家抓牌,当手中的牌的点数恰与记下的随机数字相等,或用手中有的任意两张牌,通过加减乘除四则运算可以凑出该随机数字相等的点数,则停止抓牌并将这一张或两张出出去,随即记下一个新的随机数字,开始下一轮,直道手中的全部牌出完,游戏结束。
人机对抗模式中,首先玩家和计算机各分的5张牌,然后比较玩家和计算机手中最小的牌,谁的小谁就打出这张最小的牌,另一方认为自己的牌凑不出这张牌的点数则开始抓牌,直道手中的牌的点数恰与第一个人出的牌相等,或者用手中有的任意两张牌,通过加减乘除四则运算可以凑出第一个人出的牌相等的点数,则停止抓牌并将这一张或两张出出去,然后要求对方以同样的规则,开始下一轮,直道某一方手中的全部牌出完,游戏结束。
电脑的计算能力使得它肯定会以最优的策略出牌,就让我们看看你的运气如何吧!
压缩包下载: 扑克牌加减乘除游戏 (165.59 KB)
------------------------------以下是程序源码---------------------------------------
- //扑克牌加减乘除游戏
- #include<iostream.h>
- #include<string.h>
- #include<ctime.h>
- #include<iomanip.h>
- using namespace std;
- //================================================================================================
- class Card
- //定义扑克牌Card类
- {
- private:
- char design; //花色
- int number; //点数
- public:
- Card() //默认构造方法
- {
- design=0;
- number=0;
- }
- void creatCard(int i=1) //带参初始化方法
- {
- number=i;
- if(i>=1&&i<=13)
- design=3;
- else if(i>=14&&i<=26)
- design=4;
- else if(i>=27&&i<=39)
- design=5;
- else if(i>=40&&i<=52)
- design=6;
- }
- void shownumber() //显示牌
- {
- int i=number%13;
- switch(i)
- {
- case 1: cout<<"["<<design<<"A]";
- break;
- case 2: cout<<"["<<design<<"2]";
- break;
- case 3: cout<<"["<<design<<"3]";
- break;
- case 4: cout<<"["<<design<<"4]";
- break;
- case 5: cout<<"["<<design<<"5]";
- break;
- case 6: cout<<"["<<design<<"6]";
- break;
- case 7: cout<<"["<<design<<"7]";
- break;
- case 8: cout<<"["<<design<<"8]";
- break;
- case 9: cout<<"["<<design<<"9]";
- break;
- case 10:cout<<"["<<design<<"10]";
- break;
- case 11:cout<<"["<<design<<"J]";
- break;
- case 12:cout<<"["<<design<<"Q]";
- break;
- default: cout<<"["<<design<<"K]";
- }
- }
- int getnumber() //得到牌的真实点数
- {
- if(number%13)
- return number%13;
- else
- return 13;
- }
- ~Card(){} //析构方法
- };
- //================================================================================================
-
- const int CARDS=52; //扑克牌总数
-
- //函数声明
- void welcome(); //欢迎界面
- void start(Card *rc); //初始化底牌
- void siglegame(); //单人游戏欢迎界面
- void sigleplay(Card *pc,Card *rc,int& pcn,int& rcn,int want); //单人游戏执行算法
- void vsgame(); //对抗游戏欢迎界面
- void playerplay(Card *pc,Card *cc,Card *rc,int& pcn,int& ccn,int& rcn,int want);//对抗时玩家算法
- void AIplay(Card *pc,Card *cc,Card *rc,int& pcn,int& ccn,int& rcn,int want); //对抗时计算机算法
- void upminu(); //返回上一级菜单
- void gameinfo(); //游戏简介
- void maker(); //制作者
- void exit(); //退出游戏
- //================================================================================================
-
- int main()
- //主函数
- {
- srand((unsigned)time(NULL)); //随机种子发生器
- welcome();
- return 0;
- }
- //================================================================================================
-
- void welcome()
- //欢迎界面
- {
- int choice; //申请变量接受用户输入
-
- cout<<setfill('*')<<setw(47)<<"*"<<endl;
- cout<<" 欢迎体您验扑克牌加减乘除游戏"<<endl;
- cout<<setfill('*')<<setw(47)<<"*"<<endl;
- cout<<" (1) 单人练习。"<<endl; //显示菜单
- cout<<" (2) 人机对抗。"<<endl;
- cout<<" (3) 游戏介绍。"<<endl;
- cout<<" (4) 开发成员。 "<<endl;
- cout<<" (5) 退出游戏。"<<endl;
-
- while(1) //接受用户输入
- {
- cout<<""<<setfill('=')<<setw(47)<<"="<<endl;
- cout<<"请选择1|2|3|4|5:";
- cin>>choice;
- if(choice>=1&&choice<=5) //遇到合法输入时跳出循环
- break;
- }
- cout<<setfill('=')<<setw(47)<<"="<<endl;
- switch(choice)
- {
- case 1: siglegame(); //跳转到各个函数
- break;
- case 2: vsgame();
- break;
- case 3: gameinfo();
- break;
- case 4: maker();
- break;
- default: exit();
- }
- }
- //================================================================================================
- void start(Card *rc)
- //初始化底牌
- {
- for(int i=0;i<CARDS;i++)
- rc[i].creatCard(i+1); //循环给52张底牌赋值
- }
-
- void siglegame()
- //单人游戏欢迎界面
- {
- cout<<" 单人练习模式"<<endl;
- cout<<setfill('=')<<setw(47)<<"="<<endl;
- Card rc[CARDS]; //底牌数组
- Card pc[CARDS]; //玩家牌数组
- int rcn=CARDS; //初始化底牌数
- int pcn=0; //初始化玩家牌数
- int want; //申请变量接受随机数
- start(rc); //初始化底牌
- want=rand()%13+1; //生成1-13的随机数
- sigleplay(pc,rc,pcn,rcn,want); //调用单人游戏执行算法
- }
- //================================================================================================
- void sigleplay(Card *pc,Card *rc,int& pcn,int& rcn,int want)
- //单人游戏执行算法
- {
- int choice,p,q,i,j; //申请辅助变量
- cout<<"你需要凑的随机点数是 "<<want<<endl;
- if(pcn>0) //手中有牌,则显示出来
- {
- cout<<"你现有"<<pcn<<"张牌:"<<endl;
- for(i=0;i<pcn;i++)
- {
- pc[i].shownumber();
- if((i+1)%5==0) //显示5张牌换一次行
- cout<<endl;
- }
- cout<<endl;
- }
- cout<<setfill('=')<<setw(47)<<"="<<endl;
- cout<<" (1) 出1张牌。"<<endl;
- cout<<" (2) 出2张牌。"<<endl;
- cout<<" (3) 抓牌。"<<endl;
- cout<<" (4) 玩法提示。"<<endl;
- cout<<" (5) 回主界面。"<<endl;
- cout<<setfill('=')<<setw(47)<<"="<<endl;
- while(1) //接受用户输入
- {
- cout<<"请选择1|2|3|4|5:";
- cin>>choice;
- if(choice>=1&&choice<=5) //遇到合法输入时跳出循环
- break;
- }
- cout<<setfill('=')<<setw(47)<<"="<<endl;
- if(choice==3) //抓牌算法
- {
- if(rcn) //有底牌
- {
- int temp=rand()%rcn; //产生一个小于底牌数的随机数
- pc[pcn]=rc[temp]; //赋给玩家牌
- pcn++; //玩家牌数加1
- for(int r=temp;r<rcn;r++)
- rc[r]=rc[r+1]; //从底牌里删掉这张牌
- rcn--; //底牌数减1
- }
- else
- cout<<"没底牌了。"<<endl;
- cout<<setfill('=')<<setw(47)<<"="<<endl;
- sigleplay(pc,rc,pcn,rcn,want); //递归调用
- }
- else if(choice==1) //出一张牌算法
- {
- if(pcn) //手中有牌
- {
- int flag=1; //定义监视哨
- cout<<"请输入出第几张牌:";
- cin>>i;
- i--;
- p=pc[i].getnumber();
- if(p==want) //满足条件
- {
- flag=0;
- cout<<"你出了一张牌:";
- pc[i].shownumber();
- cout<<endl;
- rc[rcn]=pc[i]; //将这张牌插回底牌中
- rcn++; //底牌数+1
- for(int o=i;o<pcn;o++)//从玩家牌里删掉这张牌
- pc[o]=pc[o+1]; //玩家牌数-1
- pcn--;
- if(pcn) //没出净
- {
- want=rand()%13+1; //产生新的随机数,进入下一轮
- sigleplay(pc,rc,pcn,rcn,want);
- }
- else //出净了
- {
- cout<<"你牌出完了,你赢了!"<<endl;
- upminu();
- }
- }
- if(flag) //监视哨没有被改值
- cout<<"出牌有误!"<<endl;
- }
- else //第一次必须先抓牌哦
- cout<<"手中没有牌啊,请先抓牌哦!"<<endl;
- cout<<setfill('=')<<setw(47)<<"="<<endl;
- sigleplay(pc,rc,pcn,rcn,want);
- }
- else if(choice==2) //出两张牌算法
- {
- if(pcn>=2) //手中有2张以上的牌
- {
- int flag=1;
- cout<<"请分别输入2张牌的次序:";
- cin>>i>>j;
- i--;
- j--;
- if(i!=j) //两张牌可不能是同一张哦
- {
- p=pc[i].getnumber();
- q=pc[j].getnumber();
- if(p*q==want||(p%q==0&&p/q==want)||(q%p==0&&q/p==want)||p+q==want||p-q==want||q-p==want)
- { //满足条件
- flag=0;
- cout<<"你出2张牌:";
- pc[i].shownumber();
- pc[j].shownumber();
- cout<<endl;
- rc[rcn]=pc[i]; //插回底牌
- rc[rcn+1]=pc[j];
- rcn+=2;
- if(i>j) //如果不是按增序输入则交换牌次序
- {
- i=j;
- j=i;
- }
- for(int k=j;k<pcn;k++) //删除第2张
- pc[k]=pc[k+1];
- pcn--;
- for(int m=i;m<pcn;m++) //删除第1张
- pc[m]=pc[m+1];
- pcn--;
- if(pcn) //没出净
- {
- want=rand()%13+1; //产生新的随机数,进入下一轮
- sigleplay(pc,rc,pcn,rcn,want);
- }
- else //出净了
- {
- cout<<"你牌出完了,你赢了!"<<endl;
- upminu();
- }
- }
-
- }
- if(flag) //监视哨没有被改值
- cout<<"出牌有误!"<<endl;
- }
- else
- cout<<"手中没有2张牌啊,请先抓牌哦!"<<endl;
- cout<<setfill('=')<<setw(47)<<"="<<endl;
- sigleplay(pc,rc,pcn,rcn,want);
- }
- else if(choice==4) //玩法提示
- {
- cout<<" 首先记下一个 1到13之间的随机数字,然后玩家"<<endl;
- cout<<"抓牌,当手中的牌的点数恰与记下的随机数字相等,或"<<endl;
- cout<<"用手中有的任意两张牌,通过加减乘除四则运算可以"<<endl;
- cout<<"凑出该随机数字相等的点数,则停止抓牌并将这一张"<<endl;
- cout<<"或两张出出去,随即记下一个新的随机数字,开始下一"<<endl;
- cout<<"轮,直道手中的全部牌出完,游戏结束。"<<endl;
- cout<<setfill('=')<<setw(47)<<"="<<endl;
- sigleplay(pc,rc,pcn,rcn,want);
- }
- else
- welcome();
- }
- //================================================================================================
- void vsgame()
- //对抗游戏欢迎界面
- {
- cout<<" 人机对抗模式:"<<endl;
- cout<<setfill('=')<<setw(47)<<"="<<endl;
- Card rc[CARDS]; //底牌数组
- Card pc[CARDS]; //玩家牌数组
- Card cc[CARDS]; //电脑牌数组
- int rcn=CARDS; //初始化底牌数
- int pcn=0; //初始化玩家牌数
- int ccn=0; //初始化计算机牌数
- int temp,want,i,pci,cci; //申请辅助变量
- int min=13,whofirst=0;
- start(rc); //初始化底牌
- cout<<"您和计算机各抽5张牌决定谁先出:"<<endl;
- cout<<"您抽到的牌是";
- for(i=0;i<5;i++) //开始的5张牌
- {
- temp=rand()%rcn;
- pc[i]=rc[temp];
- pc[i].shownumber();
- pcn++;
- for(int k=temp;k<rcn;k++)
- rc[k]=rc[k+1];
- rcn--;
- }
- cout<<endl;
- cout<<setfill('=')<<setw(47)<<"="<<endl;
- for(i=0;i<5;i++)
- {
- temp=rand()%rcn;
- cc[i]=rc[temp];
- ccn++;
- for(int k=temp;k<rcn;k++)
- rc[k]=rc[k+1];
- rcn--;
- }
- for(i=0;i<5;i++) //寻找最小的牌
- {
- if(min>cc[i].getnumber())
- {
- min=cc[i].getnumber();
- cci=i;
- }
- }
- cout<<"计算机最小的牌点数"<<min<<endl;
- for(i=0;i<5;i++)
- {
- if(min>pc[i].getnumber())
- {
- min=pc[i].getnumber();
- pci=i;
- whofirst=1; //最小牌在玩家手中,则把whofirst标志置1
- }
- }
- want=min;
- cout<<setfill('=')<<setw(47)<<"="<<endl;
- if(whofirst) //最小牌在玩家手中
- {
- cout<<"您拥有最小的牌:"<<endl;
- cout<<"所以您先出一张:";
- pc[pci].shownumber();
- cout<<endl;
- rc[rcn]=pc[pci];
- rcn++;
- for(i=pci;i<pcn;i++)
- pc[i]=pc[i+1];
- pcn--;
- AIplay(pc,cc,rc,pcn,ccn,rcn,want);
- }
- else //最小牌在计算机手中
- {
- cout<<"计算机拥有最小的牌:"<<endl;
- cout<<"所以计算机先出一张:";
- cc[cci].shownumber();
- cout<<endl;
- rc[rcn]=cc[cci];
- rcn++;
- for(i=cci;i<ccn;i++)
- cc[i]=cc[i+1];
- ccn--;
- playerplay(pc,cc,rc,pcn,ccn,rcn,want);
- }
- }
- //================================================================================================
- void AIplay(Card *pc,Card *cc,Card *rc,int& pcn,int& ccn,int& rcn,int want)
- //对抗时计算机算法
- {
- int p,q,temp;
- cout<<"电脑现有"<<ccn<<"张牌:"<<endl;
- //电脑优先考虑出两张牌算法
- for(int i=0;i<ccn;i++) //循环访问计算机所有的牌
- {
- for(int j=i;j<ccn;j++)
- {
- p=cc[i].getnumber();
- q=cc[j].getnumber();
- if(p*q==want||(p%q==0&&p/q==want)||(q%p==0&&q/p==want)||p+q==want||p-q==want||q-p==want)
- { //满足条件
- temp=rand()%2; //电脑随机选一张让玩家凑
- temp?want=p:want=q;
- cout<<"电脑出2张牌:";
- cc[i].shownumber();
- cc[j].shownumber();
- cout<<endl;
- rc[rcn]=cc[i]; //插回底牌
- rc[rcn+1]=cc[j];
- rcn+=2;
- for(int k=j;k<ccn;k++) //删除第2张
- cc[k]=cc[k+1];
- ccn--;
- for(int m=i;m<ccn;m++) //删除第1张
- cc[m]=cc[m+1];
- ccn--;
- if(ccn) //没出净
- playerplay(pc,cc,rc,pcn,ccn,rcn,want);//进入玩家部分
- else
- {
- cout<<"电脑牌出完了,你输了!"<<endl;
- upminu();
- }
- }
- }
- //出一张牌算法
- for(int n=0;n<ccn;n++)
- {
- p=cc[n].getnumber();
- if(p==want)
- {
- want=p;
- cout<<"电脑出1张牌:";
- cc[n].shownumber();
- cout<<endl;
- rc[rcn]=cc[n]; //插回底牌
- rcn++; //底牌数+1
- for(int o=n;o<ccn;o++) //从电脑牌里删掉这张牌
- cc[o]=cc[o+1];
- ccn--; //电脑牌数-1
- if(ccn) //没出净
- playerplay(pc,cc,rc,pcn,ccn,rcn,want);//进入玩家部分
- else
- {
- cout<<"电脑牌出完了,你输了!"<<endl;
- upminu();
- }
- }
- cout<<"电脑抓牌,"; //抓牌算法
- if(rcn) //有底牌
- {
- int temp=rand()%rcn; //产生一个小于底牌数的随机数
- cc[ccn]=rc[temp]; //赋给电脑牌
- ccn++; //电脑牌数+1
- for(int r=temp;r<rcn;r++)
- rc[r]=rc[r+1]; //从底牌里删掉这张牌
- rcn--; //底牌数-1
- AIplay(pc,cc,rc,pcn,ccn,rcn,want); //递归调用
- }
- }
- }
- }
- //================================================================================================
- void playerplay(Card *pc,Card *cc,Card *rc,int& pcn,int& ccn,int& rcn,int want)
- //对抗时玩家算法
- {
-
- int choice,p,q,i,j;
- cout<<"你需要凑的牌的点数 "<<want<<endl;
- cout<<"你现有"<<pcn<<"张牌:"<<endl;
- for(i=0;i<pcn;i++)
- {
- pc[i].shownumber();
- if((i+1)%5==0) //显示5张牌换一次行
- cout<<endl;
- }
- cout<<endl;
- cout<<setfill('=')<<setw(47)<<"="<<endl;
- cout<<" (1) 出1张牌。"<<endl;
- cout<<" (2) 出2张牌。"<<endl;
- cout<<" (3) 抓牌。"<<endl;
- cout<<" (4) 玩法提示。"<<endl;
- cout<<" (5) 回主界面。"<<endl;
- cout<<setfill('=')<<setw(47)<<"="<<endl;
- while(1) //接受用户输入
- {
- cout<<"请选择1|2|3|4|5:";
- cin>>choice;
- if(choice>=1&&choice<=5) //遇到合法输入时跳出循环
- break;
- }
- cout<<setfill('=')<<setw(47)<<"="<<endl;
- if(choice==3)
- {
- if(rcn) //有底牌
- {
- int temp=rand()%rcn; //产生一个小于底牌数的随机数
- pc[pcn]=rc[temp]; //赋给玩家牌
- pcn++; //玩家牌数加1
- for(int r=temp;r<rcn;r++)
- rc[r]=rc[r+1]; //从底牌里删掉这张牌
- rcn--; //底牌数减1
- }
- else
- cout<<"没底牌了。"<<endl;
- cout<<setfill('=')<<setw(47)<<"="<<endl;
- playerplay(pc,cc,rc,pcn,ccn,rcn,want); //递归调用
- }
- else if(choice==1) //出一张牌算法
- {
- int flag=1; //定义监视哨
- cout<<"请输入出第几张牌:";
- cin>>i;
- i--;
- p=pc[i].getnumber();
- if(p==want) //满足条件
- {
- flag=0;
- cout<<"你出了一张牌:";
- pc[i].shownumber();
- cout<<endl;
- rc[rcn]=pc[i]; //将这张牌插回底牌中
- rcn++; //底牌数+1
- for(int o=i;o<pcn;o++) //从玩家牌里删掉这张牌
- pc[o]=pc[o+1];
- pcn--; //玩家牌数-1
- if(pcn) //没出净
- AIplay(pc,cc,rc,pcn,ccn,rcn,want);//进入电脑部分
- else
- {
- cout<<"你牌出完了,你赢了!"<<endl;
- upminu();
- }
- }
- if(flag) //监视哨没有被改值
- cout<<"出牌有误!"<<endl;
- cout<<setfill('=')<<setw(47)<<"="<<endl;
- playerplay(pc,cc,rc,pcn,ccn,rcn,want);
- }
- else if(choice==2) //出两张牌算法
- {
- if(pcn>=2) //手中有2张以上的牌
- {
- int flag=1;
- cout<<"请分别输入2张牌的次序:";
- cin>>i>>j;
- i--;
- j--;
- if(i!=j)
- {
- p=pc[i].getnumber();
- q=pc[j].getnumber();
- if(p*q==want||(p%q==0&&p/q==want)||(q%p==0&&q/p==want)||p+q==want||p-q==want||q-p==want)
- { //满足条件
- flag=0;
- cout<<"你出2张牌:";
- pc[i].shownumber();
- pc[j].shownumber();
- cout<<endl;
- rc[rcn]=pc[i]; //插回底牌
- rc[rcn+1]=pc[j];
- rcn+=2;
- if(i>j) //如果不是按增序输入则交换牌次序
- {
- i=j;
- j=i;
- }
- for(int k=j;k<pcn;k++) //删除第2张
- pc[k]=pc[k+1];
- pcn--;
- for(int m=i;m<pcn;m++) //删除第1张
- pc[m]=pc[m+1];
- pcn--;
- if(pcn) //没出净
- {
- while(1) //两张选一张让电脑凑
- {
- cout<<"你选哪张牌让电脑凑?"<<endl;
- cout<<"选第一张请按1,选第二张请按2:";
- cin>>choice;
- if(choice==1)
- {
- want=p;
- break;
- }
- else if(choice==2)
- {
- want=q;
- break;
- }
- else
- cout<<"输入有误"<<endl;
- }
- cout<<setfill('=')<<setw(47)<<"="<<endl;
- AIplay(pc,cc,rc,pcn,ccn,rcn,want);//进入电脑部分
- }
- else
- {
- cout<<"你牌出完了,你赢了!"<<endl;
- upminu();
- }
- }
- }
- if(flag)
- cout<<"出牌有误!"<<endl;
- cout<<setfill('=')<<setw(47)<<"="<<endl;
- playerplay(pc,cc,rc,pcn,ccn,rcn,want);
- }
- }
- else if(choice==4) //玩法提示
- {
- cout<<" 首先玩家和计算机各分的5张牌,然后比较玩家和"<<endl;
- cout<<"计算机手中最小的牌,谁的小谁就打出这张最小的牌,"<<endl;
- cout<<"另一方认为自己的牌凑不出这张牌的点数则开始抓牌,"<<endl;
- cout<<"直道手中的牌的点数恰与第一个人出的牌相等,或者"<<endl;
- cout<<"用手中有的任意两张牌,通过加减乘除四则运算可以凑"<<endl;
- cout<<"出第一个人出的牌相等的点数,则停止抓牌并将这一张"<<endl;
- cout<<"或两张出出去,然后要求对方以同样的规则,开始下一"<<endl;
- cout<<"轮,直道某一方手中的全部牌出完,游戏结束。"<<endl;
- cout<<setfill('=')<<setw(47)<<"="<<endl;
- playerplay(pc,cc,rc,pcn,ccn,rcn,want);
- }
- else
- welcome();
- }
- //================================================================================================
- void upminu()
- //返回上一级菜单
- {
- cout<<setfill('=')<<setw(47)<<"="<<endl;
- int e;
- cout<<" (1) 回主界面"<<endl;
- cout<<" (2) 退出游戏"<<endl;
- do
- {
- cout<<""<<setfill('=')<<setw(47)<<"="<<endl;
- cout<<"请选择1|2:";
- cin>>e;
- if(e==1)
- {
- cout<<""<<setfill('=')<<setw(47)<<"="<<endl;
- welcome();
- }
- else if(e==2)
- {
- cout<<""<<setfill('=')<<setw(47)<<"="<<endl;
- exit();
- }
- }while(e!=1||e!=2);
- }
- //================================================================================================
- void gameinfo()
- //游戏简介
- {
- cout<<" 扑克牌加减乘除游戏,是一种集技巧性和运气性"<<endl;
- cout<<"于一体的扑克牌游戏。"<<endl;
- cout<<" 现实中可以单人玩,也可以不定人数对抗,用若干"<<endl;
- cout<<"副扑克牌去掉王即可游戏,推荐用一副牌双人对抗,乐"<<endl;
- cout<<"趣无穷。本程序利用Card类数组模拟扑克牌,设定了单"<<endl;
- cout<<"人练习模式和人机对抗模式,如有不懂操作请参考具体"<<endl;
- cout<<"提示。"<<endl;
- cout<<" 电脑的计算能力使得它肯定会以最优的策略出牌,"<<endl;
- cout<<"就让我们看看你的运气如何吧!"<<endl;
- upminu();
- }
- //================================================================================================
- void maker()
- //制作者
- {
- cout<<"制作组均来自西北大学软件学院2007级4班:"<<endl;
- cout<<" 总策划: 谢峥丹"<<endl;
- cout<<" 源代码编者: 曲振波"<<endl;
- cout<<" 技术支持: 刘伦椿"<<endl;
- cout<<"特别鸣谢:"<<endl;
- cout<<" 王建忠,在游戏设计阶段试玩并提出了宝贵的意见。"<<endl;
- upminu();
- }
- //================================================================================================
- void exit()
- //退出游戏
- {
- char e;
- cout<<"确认退出吗?(Y/N)";
- do
- {
- cin>>e;
- if(e=='y'||e=='Y')
- break;
- else if(e=='N'||e=='n')
- welcome();
- }while(e!='y'||e!='Y'||e!='N'||e!='n');
- cout<<"再见!"<<endl;
- cout<<"按回车键退出..."<<endl;
- getchar();
- getchar();
- exit(0);
- }