1、 课程设计报告 课程名称: C+面向对象程序设计实验和课程设计教程 课题名称:投掷骰子游戏 系别: 计算机科学与工程 专业: 计算机科学与技术 学号: 姓名: 指导教师: 日期: 一、一、 设计目的与要求设计目的与要求 1. 课程设计的目的课程设计的目的: 编写程序实现游戏:游戏者每次投掷两颗骰子,每颗 骰子是一个正方体,有 6 面上面分别标有 1、 2、 3、 4、 5、 6 个圆点,当骰子停止时,将每颗骰子朝上的点的数相加, 在第一次投掷骰时, 如果所得到的和为7或11,那么游戏 者为赢得胜利; 如果所得到的和为 2、 3 或 12,那么游戏 者为输掉了;如果和为 4、5、6、8、9 或
2、10,那么为游戏 者的点数;如要想赢得胜利,必须继续投掷骰子,直到取 得自已的点数(也就是第一次投掷出的 4、5、6、8、9 或 10)为止, 但是如果投掷出的和为 7,那么游戏者输 掉了游戏。 2. 课程设计的要求分析:课程设计的要求分析: 设计该程序中应包括以下几个功能: 1) 主菜单界面:包含多具有的所有功能的选项。 2) 获得游戏帮助功能:告诉游戏者游戏规则。 3) 显示游戏数据功能: 在游戏结束时, 显示游戏者获得的 游戏数据。 4) 模拟游戏功能:选择进入,开始游戏。 5) 退出模拟游戏功能:玩完游戏后退出程序。 二、二、 工具工具/准备工作准备工作 开发环境:Visual C+
3、6.0 三、三、 分析分析 1. 系统功能结构系统功能结构 2. 重要数据的数据结构设计重要数据的数据结构设计 开始程序 选 择 获 得 帮 助 玩 一 手 游 戏 退出 显 示 数 据 赢 得 游 戏 输 了 游 戏 获 得 平 局 是 否 继 续 游 戏 结 果 N N Y 平 局 继 续 投 掷 骰 子 自 动 判 断 结 果 赢 得 游 戏 输 了 游 戏 1)设计一个 DiceGame 类,其类的数据成员包括 numOfWin、 numOfLose、numOfTie,分别代表游戏胜利的数次、失败的数 次、平局的数次; 辅助函数包括 RollDice()、Help()、Show(),分
4、别表示模拟投掷一 次骰子、获得帮助、显示统计结果; class DiceGame private: int numOfWin; / 胜利数次 int numOfLose; / 失败数次 int numOfTie; / 平局数次 / 辅助函数 int RollDice(); / 模拟投掷一次骰子 void Help(); / 获得帮助 void Show(); / 显示统计结果 public: DiceGame(); / 无参数的构造函数 virtual DiceGame()/ 析构函数 void Game();/ 模拟游戏 void getscore(); /获得的积分 ; 2)还设计了另外一个 Rand 类, 该类能随机生成数字提供游戏中骰子 使用,它设置了当前时间为时间种子。 class Rand public: static void SetRandSeed() srand(unsigned)time(NULL); / 设置当前时间为随机数种子 static int GetRand(int