对抗游戏程序设计.doc_第1页
对抗游戏程序设计.doc_第2页
对抗游戏程序设计.doc_第3页
对抗游戏程序设计.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C+程序设计之对抗游戏#include#include#includeclass Warint player,comp; /玩家,电脑的两张牌static int Score; /player的赌资static int nWin,nLost,nDraw; /赢,输,平的局数static int Loop; /游戏进行的局数public:War();int PLAYER(); /返回私有成员player的的值int COMP(); /返回私有成员comp的的值void SetCard(); /随机发出两张牌void Show(int a);/显示牌点void Judge(int&);/计算机可根据自己的牌面判断是否加注static int Scores(int);void friend Compare1(War&,War&,int&,int);/判断牌面的大小,得出结果同时通过d返回输或赢的分数void ShowResult(int);/得到并显示在一局游戏中玩家得到的分数以及总计的分数void TJ();/游戏结束后统计出最终的结果;int War:Score=26,War:nWin=0,War:nLost=0,War:nDraw=0,War:Loop=0;War:War()player,comp=0;int War:PLAYER()return player;int War:COMP()return comp;void War:SetCard()player=rand()%13+2;comp=rand()%13+2;void War:Show(int a)int pai;if(a=1)pai=player;else if(a=2)pai=comp;switch(pai)case 14:coutA;break;case 13:coutK;break;case 12:coutQ;break;case 11:coutJ;break;default:coutpai;cout=comp)switch(comp)case 10:case 11:case 12:case 13:case 14:cout电脑选择加注n;cout加注金额:2;y=2;coutn;break;default:cout电脑选择加注n;cout加注金额:1;y=1;coutn;break;elsecout电脑也选择退出n;y=0;int War:Scores(int d=0)Score+=d;return Score;void Compare(War&A,War&B,int&d,int y) / 判断牌面的大小,同时通过d返回输或赢的分数coutA.COMP()cout恭喜你,玩家的牌大!n;d=1;else if(A.PLAYER()=A.COMP()cout双方势均力敌!n;else cout(A.COMP()+B.COMP();n=(A.PLAYER()+B.PLAYER()A.COMP()cout恭喜你,玩家的对子大!n;d=y+1;else if(A.PLAYER()A.COMP()cout555,电脑的对子大!n;d=-y-1;else cout双方势均力敌!n;else if(i=1&j=0)cout恭喜你,玩家是对子!n;d=y+1;else if(j=1&i=0)cout555,电脑是对子!n;d=-y-1;else if(m)cout恭喜你,玩家的牌大!n;d=y+1;else if(n)cout555,电脑的牌大!n;d=-y-1;else cout0)nWin+;cout此局玩家赢得d分n;else if(d=0)nDraw+;else nLost+;cout此局玩家输掉-d分n;cout你的分数总计:Scores(d)endl;void War:TJ()coutn;cout-n;cout玩家的游戏统计如下:nendl;cout游戏一共进行了Loop局n;cout获胜 nWin 局n;cout平 nDraw 局n;cout输掉 nLost 局n;cout玩家最后的分数:Scores()0)cout你一共在游戏中赢得Score-26分n;else if(Score-260)cout你一共在游戏中输掉26-Score分n; / 主函数部分void main()War play1,play2;int x,y=0,d=0,j=1;srand(time(NULL);coutendl准备开始!n玩家的起始分数是26endl当玩家的分数为0或50的时候系统自动结束游戏n只要有一方加注,就继续发牌!nendl;cout=n;cout游戏第1局nn;bl:play1.SetCard();cout玩家的第一张牌是 ;play1.Show(1);coutx;if(x=1)couty;cout加注金额:yendl;cout电脑的第一张牌是 ;play1.Show(2);cout*继续发牌*endl;play2.SetCard();cout玩家的第二张牌是 ;play2.Show(1);cout电脑的第二张牌是 ; play2.Show(2);else if(x=0)cout玩家选择了退出n;cout电脑的第一张牌是 ;play1.Show(2);play1.Judge(y);if(y)cout*继续发牌*endl;play2.SetCard();cout玩家的第二张牌是 ;play2.Show(1);cout电脑的第二张牌是 ; play2.Show(2);Compare(play1,play2,d,y);/判断牌面的大小,得出结果同时通过d返回输或赢的分数play1.ShowResult(d); /得到并显示在一局游戏中玩家得到的分数以及总计的分数int i;switch(play1.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论