猜数字游戏源代码

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

猜数字游戏

本案例知识要点

●Visual C++ 6.0下创建Win32 Console Application并运行的方法

●C++程序中类的定义和实现

●C++程序中类文件的引用及类的实例化

一、案例需求

1.案例描述

由计算机产生0到99的随机数,游戏参加者将猜到的数字从键盘输入,计算机对猜数结果进行判断直到猜出正确结果。

2.案例效果图

猜数字游戏运行效果如图2-1所示。3.功能要求

(1)所猜0到99的目标数字由计算随机产生。

(2)0到99的随机数的产生、所猜数字和目标数字的比较等过程以类的形式实现。(3)若游戏参加者所猜数字正确,则提示所猜总次数;若猜数错误,则提示所猜数字比目标数字大还是小。

二、案例分析

本案例中设计了一个Guess类,实现产生随机数、进行参加游戏者输入数字与目标数字的比较、计算猜数次数。主程序中通过类的实例化实现猜数过程。

三、案例设计

为了实现猜数过程,设计Guess类,结构如图2-2所示。

●数据成员

int Value

产生的0到99间的目标数字。

int CompareTimes

为游戏者已猜次数。

●函数成员

Guess()

构造函数,用来产生随机目标数字。

int Compare(int InputValue)

用来判断游戏者所猜数字是否正确,其参数InputValue为游戏者所猜数字。

int GetCompareTimes()

用来获得游戏者已猜次数。

五、案例实现

猜数字游戏源程序代码如下所示。

************************************* // * Guess.h 类声明头文件

************************************* #1. #include

#2. class Guess

#3. {

#4. private:

#5.int Value; //计算机产生的目标数字

#6. int CompareTimes; //所猜次数#7. public:

#8. Guess(); //构造函数的声明#9. int Compare(int InputValue); #10. int GetCompareTimes();

#11. };

#12. Guess:: Guess ()//构造函数的实现#13. {

#14. CompareTimes=0; //猜数次数置零#15. srand((unsigned)time(NULL)); //产生随机数种子#16. Value=rand()%100;

//产生0~99的随机数#17. }

#18.int Guess::Compare(int InputValue)

//比较猜数是否正确

#19. {

#20. CompareTimes++; //所猜次数加1 #21. return InputValue-Value;

//比较所猜数字和目标数字是否相同,相同//返回0

#22. }

#23. int Guess::GetCompareTimes()

//获得已猜次数

#24. {

#25. return CompareTimes;

#26. }

//

************************************* //* GuessNumber.cpp 源文件

************************************* #1. #include

#2. #include "Guess.h"

//将已定义的类文件包含到主程序文件中#3. using namespace std;

#4. int main()

#5. {

#6. int InputValue;

#7.cout<<"\n** 欢迎使用本程序**\n"; #8. for(;;)

#9. {

#10. char Select;

#11. Guess guessobj;

//实例化Guess类#12. cout<<"我已经想好数字啦(0~99),请猜吧!\n";

#13. for(;;)

#14. {

#15. int CompareResult; #16. cout<<"\n我想的是:";

#17. cin>>InputValue;

//获得游戏者输入的所猜数字

#18. CompareResult=pare (InputValue);

//判断游戏者所猜数字是否正确

#19. if(CompareResult==0) //正确#20. {

#21. int GuessTimes=

guessobj.GetCompareTimes(); #22. cout<<"\n恭喜您,猜对啦!"<

#23. break;

#24. }

#25. else if(CompareResult>0)

#26. {

#27. cout<<"\n对不起,您猜的数大啦!\n";

#28. }

#29. else

#30. {

相关文档
最新文档