c课程设计报告 掷骰子游戏.doc

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c课程设计报告 掷骰子游戏

目录 一、课题设计的内容与主要功能 2 1.1题目内容 2 1.2 功能 2 二.课题分析 2 2.1项目的实现方法 2 2.2 类的声明 3 2.3核心算法及其实现代码 4 2.3程序流程图 7 三.主要功能的实现步骤 8 四.程序测试 9 4.1测试计划 9 4.2测试过程 9 五、总结 12 六、参考书籍 14 七、附件 15 7.1 程序的源代码 15 评分表……………………………………………………………… 27 一、课题设计的内容与主要功能 1.1题目内容 编写程序实现投掷双骰子游戏,游戏规则为:游戏者每次投掷两颗骰子,每颗骰子是一个正方体,有6面上面分别标有1、2、3、4、5、6个圆点,当骰子停止时,将每颗骰子朝上的点的数相加,在第一次投掷骰时, 如果所得到的和为7或11,那么游戏者为赢得胜利; 如果所得到的和为2、3或12,那么游戏者为输掉了;如果和为4、5、6、8、9或10,那么为游戏者的点数;如要想赢得胜利,必须继续投掷骰子,直到取得自已的点数为止, 但是如果投掷出的和为7或者连续投掷了6次仍未赚得点数,那么游戏者为输了。 1.2 功能 该游戏的主要功能为:实现随机投掷两个骰子把其所得点数相加,然后根据点数和判断玩家的输、赢或平局。在游戏中有1.获得帮助 2.玩一手游戏 3.退出游戏 三个提示,分别为玩家提供帮助指示、选择进入新的游戏、退出当前的游戏并为该局游戏显示游戏结果。 二.课题分析 2.1项目的实现方法 这种小型的游戏的开发方法可以采用结构化方法分析与设计。首先,分析软件的逻辑模型,也就是这个软件需要“做什么”。然后,再建立软件的物理模型,既要“怎么做”的工程。该个程序由main()函数、实用的程序软件包utility.h文件及骰子游戏dice_game.h文件组成,在main()函数中,先建立类 DiceGame的对象objGame并调用类DiceGame的构造函数,为类的数据成员赋初值并开始游戏,再用对象objGame访问类的成员函数Game(),进入游戏,通过选项玩家选择进入游戏或退出游戏。 在函数Game()中,先调用Help()函数显示游戏规则,并调用utility.h文件Rand类中SetRandSeed()函数设定当前时间为随机数种子,进入while循环中,显示游戏选项,玩家可选择1.获得帮助 然后调用成员函数Help()显示提示;2.玩一手游戏 然后调用成员函数RollDice(),把随机的两个骰子的点数赋值给整形数sum,通过switch()语句判断玩家输、赢或者平局。若玩家第一盘为平局状态为TIE,则该局骰子和为玩家的点数把sum赋值给myPoint,玩家可通过调用utility.h文件中的UserSaysYes()函数选择继续投骰子,直到赚到该点数时获胜状态为WIN,但是用if语句判断如果投掷出的和为7或者连续投掷出六次平局,则游戏者该局为输了LOSE。最后用while循环中的if语句为每一次输赢和平局计数并显示玩家的输赢的语句。3.退出游戏 然后调用utility.h文件中的UserSaysYes()函数让玩家确定是否退出,退出后通过调用成员函数Show()显示游戏结果,游戏结束! 2.2 类的声明 文件dice_game.h中定义一个筛子游戏类DiceGame,其声明如下: class DiceGame { Private // 数据成员: int numOfWin; // 胜利数次 int numOfLose; // 失败数次 int numOfTie; // 平局数次 // 辅助函数 int RollDice(); // 模拟投掷一次骰子 void Help(); // 获得帮助 void Show(); // 显示统计结果 public: // 方法声明: DiceGame(); // 无参数的构造函数 virtual ~DiceGame(){} // 析构函数 void Game (); // 模拟游戏 }; 2.3核心算法及其实现代码 1. 设计当前时间为随机数种子,模拟投掷一次两个骰子,返回值为所投掷的两颗骰子向上一面的点数之和。代码如下: int DiceGame::RollDice() // 模拟投掷一次骰子,返回值为所投的两颗骰子向上一面的点数之和 { int numOfDice1; // 所投掷的第1颗骰子向上一面的点数 int numOfDice2 /

文档评论(0)

almm118 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档