c++课程设计报告-掷骰子游戏

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录

一、课题设计的内容与主要功能............. 错误!未定义书签。题目内容 ............................... 错误!未定义书签。

功能.................................. 错误!未定义书签。二.课题分析 ............................ 错误!未定义书签。项目的实现方法 ......................... 错误!未定义书签。

类的声明.............................. 错误!未定义书签。

核心算法及其实现代码.................... 错误!未定义书签。程序流程图 ............................. 错误!未定义书签。三.主要功能的实现步骤................... 错误!未定义书签。四.程序测试 ............................ 错误!未定义书签。测试计划 ............................... 错误!未定义书签。测试过程 ............................... 错误!未定义书签。

五、总结 (12)

六、参考书籍 (14)

七、附件 (15)

程序的源代码........................... 错误!未定义书签。评分表 (27)

一、课题设计的内容与主要功能

题目内容

`

编写程序实现投掷双骰子游戏,游戏规则为:游戏者每次投掷两颗骰子,每颗骰子是一个正方体,有6面上面分别标有1、2、3、4、5、6个圆点,当骰子停止时,将每颗骰子朝上的点的数相加,在第一次投掷骰时, 如果所得到的和为7或11,那么游戏者为赢得胜利; 如果所得到的和为2、3或12,那么游戏者为输掉了;如果和为4、5、6、8、9或10,那么为游戏者的点数;如要想赢得胜利,必须继续投掷骰子,直到取得自已的点数为止, 但是如果投掷出的和为7或者连续投掷了6次仍未赚得点数,那么游戏者为输了。

功能

该游戏的主要功能为:实现随机投掷两个骰子把其所得点数相加,然后根据点数和判断玩家的输、赢或平局。在游戏中有1.获得帮助 2.玩一手游戏 3.退出游戏三个提示,分别为玩家提供帮助指示、选择进入新的游戏、退出当前的游戏并为该局游戏显示游戏结果。

二.课题分析

项目的实现方法

这种小型的游戏的开发方法可以采用结构化方法分析与设计。首先,分析软件的逻辑模型,也就是这个软件需要“做什么”。然后,再建立软件的物理模型,既要“怎么做”的工程。该个程序由main()函数、实用的程序软件包文件及骰子游戏文件组成,在main()函数中,先建立类DiceGame的对象objGame并调用类DiceGame的构造函数,为类的数据成员赋初值并开始游戏,再用对象objGame访问类的成员函数Game(),进入游戏,通过选项玩家选择进入游戏或退出游戏。

]

在函数Game()中,先调用Help()函数显示游戏规则,并调用文件Rand类中SetRandSeed()函数设定当前时间为随机数种子,进入while循环中,显示游戏选项,玩家可选择1.获得帮助然后调用成员函数Help()显示提示;2.玩一手游戏然后调用成员函数RollDice(),把随机的两个骰子的点数赋值给整形数sum,通过switch()语句判断玩家输、赢或者平局。若玩家第一盘为平局状态为TIE,则该局骰子和为玩家的点数把sum赋值给myPoint,玩家可通过调用文件中的UserSaysYes()函数选择继续投骰子,直到赚到该点数时获胜状态为WIN,但是用if语句判断如果投掷出的和为7或者连续投掷出六次平局,则游戏者该局为输了LOSE。最后用while循环中的if语句为每一次输赢和平局计数并显示玩家的输赢的语句。3.退出游戏然后调用文件中的UserSaysYes()函数让玩家确定是否退出,退出后通过调用成员函数Show()显示游戏结果,游戏结束!

类的声明

文件中定义一个筛子游戏类DiceGame,其声明如下:

class DiceGame

{

Private

设计当前时间为随机数种子,模拟投掷一次两个骰子,返回值为所投掷的两颗骰子向上一面的点数之和。代码如下:

int DiceGame::RollDice() 通过if选择语句进入游戏项目2,模拟

第一次投掷骰子,并用switch开关语句来判断枚举量status的状态是输、赢或者平局,如果是平局,则记录点数。代码如下:

-

if(select==2) 过status的状态用if条件语句判断玩家的输赢,如果是平局,既status==TIE时,利用UserSaysYes()函数让玩家选择是否继续游戏。若玩家选择继续游戏,则依然用if条件语句判断status 的状态来判断输赢,只有玩家在六次以内再次投掷到相同的点数时,玩家即胜利,但是,若首先投掷到的点数和为7或者连续6次都是平局,则游戏为输了。代码如下:

while(1)

{

if(status==WIN)

{

cout<<"恭喜你,赢得游戏!"<

break;

}

<

if(status==LOSE)

{

cout<<"很遗憾,你输了!"<

break;

}

while(status==TIE)

{

cout<<"你现在是平局,是否要继续游戏";

:

if(UserSaysYes())

{

int again;

again=RollDice(); 果玩家的输入有误,则需用if条件语句判断,并提示正确的输入。代码如下:

相关文档
最新文档