- 猜数字
- 猜数字的基本玩法
- 制作思想
- 制作步骤
- 1.菜单
- 2.随机数的生成
- 3.游戏的逻辑判断
- 4.游戏的总体设计
- 整体代码
- 总结
制作思想猜数字顾名思义就是要去猜这个数字。
提前准备好一个数字,然后猜数字的人报出心中所想的数字。
准备数字的人根据比较两个数的大小,给出猜数字的人大了或者小了的结论。
一直循环直到猜到数字。
要做成一个程序,那么和我们玩猜数字的就是电脑。
首先,我们要用电脑生成一个随机数。
其次,根据判断生成的随机数和玩家猜的数字判断大小给出范围。
最后,当两数相等就可以完成游戏了。
制作步骤1.菜单
我们需要先打印一个开始界面作为进入游戏时的选项
void menu()
{
cout << "1.开始游戏" << endl;
cout << "2.退出游戏" << endl;
}
将菜单以函数的形式呈现,方便main的清晰表达
2.随机数的生成#include#include srand((unsigned int)time(NULL));
我们通过引用time.h和stilib.h两个头文件来实现随机数生成的条件
stdlib.h可以提供srand()和rand()函数,而time.h可以提供time()函数
通过srand()提供rand()函数所生成的随机数种子
但是这个随机数的种子会对应着一个数字,所以还需要一个随时会变的数字来控制这个随机数
所以引用了time()函数来获取当前系统时间来确定这个随机数的随机性
3.游戏的逻辑判断void game()
{
int num;
int ret = rand() % 100 + 1;
while (1)
{
cout << "你先猜啥数" << endl;
cin >> num;
if (ret > num)
{
cout << "小了,是格局小了。" << endl;
}
else if (ret < num)
{
cout << "格局大了,不过不错" << endl;
}
else
{
cout << "运气真好,混蛋" << endl;
break;
}
}
与菜单一样通过一个函数来控制游戏的进行,以便main函数的理解
rand函数可生成的随机数范围是0~2147483647
显然并不需要这么大的数字来充当随机数
所以可以模上(%)个100以获取0~99的数,加上1即可获得1~100的数
为了增加趣味性,在用以判断范围的语句时可以加上一些有意思的话
当然为了更有人性化,还可以对这些话进行扩展十几句不同的语句
这个操作可以通过switch语句实现,可以使用rand函数随机生成不同语句
4.游戏的总体设计int main()
{
int input, a = 1;
srand((unsigned int)time(NULL));
while (a)
{
menu();
cout << "请打出你的想法" << endl;
cin >> input;
switch (input)
{
case 1:
{
game();
}
continue;
case 2:
{
a--;
break;
}
default:
{
cout << "请重新输入" << endl;
break;
}
}
cout << "游戏结束,下次多练练。" << endl;
}
return 0;
}
通过main函数与循环语句实现以上函数的整合
整体代码#include总结#include #include using namespace std; void menu() { cout << "1.开始游戏" << endl; cout << "2.退出游戏" << endl; } void game() { int num; int ret = rand() % 100 + 1; while (1) { cout << "你先猜啥数" << endl; cin >> num; if (ret > num) { cout << "小了,是格局小了。" << endl; } else if (ret < num) { cout << "格局大了,不过不错" << endl; } else { cout << "运气真好,混蛋" << endl; break; } } } int main() { int input, a = 1; srand((unsigned int)time(NULL)); while (a) { menu(); cout << "请打出你的想法" << endl; cin >> input; switch (input) { case 1: { game(); } continue; case 2: { a--; break; } default: { cout << "请重新输入" << endl; break; } } cout << "游戏结束,下次多练练。" << endl; } return 0; }
这是个十分简易的小游戏,不过对于初学者来说是个不错的练习



