案例1猜数字游戏(题目)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
【案例名称】猜数字游戏
【学时】2学时
【教学目的】
1.Win32 console Application的运行方法
2.类的定义和实现
3.类文件的引用及实现
【教学内容】
一、案例需求:
1.案例描述:
由计算机产生0-99之间的随机数,游戏参加者将猜到的数字从键盘输入,计算机对猜数结果进行判断,直到猜出正确结果为止。
2.功能要求:
(1)由计算机随机产生一个在0-99之间的目标数字。
(2)在0-99之间随机数的产生、所猜数字和目标数字的比较等过程中以类的形式实现。(3)若游戏参加者猜数正确,则提示所猜总次数;若猜数错误,则提示所猜数字比目标数字大还是小。
二、案例分析:
Guess
Int value
Compare times
Guess();
Int Compare(inputvalue);
GetCompareTimes(int);
1.数据成员:
Value:随机产生0-99之间的目标数字()
Compare times:游戏者已猜次数
2成员函数:
Compare(int):判断游戏者所猜数字是否正确,参数inputvalue为游戏者所猜数字。GetCompareTimes(int):获得游戏者已猜次数。
三、备注:
随机数发生器——rand函数,它返回[0,MAX]之间均匀分布的伪随机整数。Rand函数不接受参数,默认以1为种子(即起始值)。随机数发生器总是以相同的种子开始,所以形成的伪随机数列相同。
另一个函数srand,可以指定不同的数(无符号数)为种子,但是如果种子相同,伪随机数列也相同。一个办法是让用户输入种子但是仍然不理想。比较理想的是用变化的数,比如时间来作为随机数生成器的种子。种子不同,所产生的随机数也不同。
#include
四、代码提示
#include
class Guess
{
private:
int value;计算机产生的目标数字
int compareTimes;所猜次数
public:
Guess();
int compare(int inputValue);
int GetCompareTimes();
};
Guess::Guess()
{
compareTimes=0;//猜数次数置0