C++对抗游戏实验报告.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C++对抗游戏 实验报告 院系:材料科学与工程 设计题目:对抗游戏 学号: 姓名: 指导老师: 一、程序功能简介 一个对抗游戏,根据随机产生的数字决定双方的输赢。 二、课程设计要求: (1)当双方进行对抗时,游戏时可根据自身的牌点决定是否继续下注,例如拿到A,把握增大,则在计算机的牌点出来之前加大赌注,但不超过5点。 (2)将双方牌点的比较扩大为两张牌点之和,若出现一组对子,则对子牌点大于任何单牌,若双方均为对子,则比较牌点之和。 三、对题目的分析: 游戏设计: 课程设计要求中要求我们设计一个简单的纸牌对抗游戏,和一个进一步完善的程序,我将要求设计为三个小游戏:分别是1,单牌比较游戏,规则是简单的比大小。2,双牌比较游戏,若出现一组对子,则对子牌点大于任何单牌,若双方均为对子,则比较牌点之和,若均不为对子,则比较各自较小牌的大小。3,同花顺,规则是得到3张牌后,大小的顺序是,三张同牌 顺子 对子 散牌。其他更细的规则和同花顺差不多,另外还在同花顺中加入了花色,与前2个只比大小不同。另外,这三个游戏都只有2个参与对象玩家和电脑。 运行流程:(见右图) 所用技术: 采用了C++语言,利用其面向对象的特点,采用了封装、继承等技术,实现游戏。 四、功能模块方法设计 三个游戏的基本功能模块是: 1.发牌方法。 采用随机数函数,给牌、花色赋值 2. 玩家增加赌注方法 3. 电脑增加赌注方法 简单的人工智能,根据赢的可能性进行押注 4. 比较玩家和电脑大小及算分方法 根据游戏规则对玩家和电脑的牌进行判断比较。 此外还有几个其他的辅助方法,比如返回牌点,一些检查判断方法和构造函数等等。 五、类的设置 1.单牌游戏: class War { protected: int plyr, comp;//plyr玩者的牌点, comp计算机的牌点 int Score;//玩者的分数,当分数为0或50时游戏结束 int Loop;//出牌次数,游戏结束时给出总的出牌次数 int nWin,nLose; //输赢次数 int nBet; //赌注 public: War();//缺省构造函数,初始化对象 void SetCard();//给出一次玩者和计算机的牌点 int Player();//返回玩者的牌点 int Computer();//返回计算机的牌点 int getScore();//返回玩者分数 int getLoop();//返回出牌次数 int checkScore();//检查分数是否为0或50,是则返回1 int checkLoop();// 检查局数奇偶情况,奇数返回1 void plyrAddBet(int i); //玩家增加赌注 int compAddBet(); //电脑增加赌注 void Compare(); //比较 }; 二.双牌游戏 class War2 : public War { protected: int plyr2, comp2;//plyr玩者的第二张牌点, comp计算机的第二张牌点 int max(int x,int y); int min(int x,int y); public: War2();//缺省构造函数,初始化对象 void SetCard2();//给出第二张一次玩者和计算机的牌点 int Player2();//返回玩者的第二张牌点 int Computer2();//返回计算机的第二张牌点 int compAddBet2(); //出第二张牌时电脑增加赌注 void Compare2(); //比较 }; 三.同花顺 class War3 : public War2 { private: int plyr3, comp3;//plyr玩者的第三张牌点, comp计算机的第三张牌点,11代表J,12代表Q,13代表K,13代表A int plyrclr,plyrclr2,plyrclr3,compclr,compclr2,compclr3;//玩家和计算机三张牌的花色 //1红心 2黑桃 3草花 4方块 int minplyr(); int midplyr(); int maxplyr(); int mincomp(); int midcomp(); int maxcomp();//返回玩家和计算机牌的小、中、大三个值 public: int compAddBet(); War3(

文档评论(0)

js1180 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档