思路:1.让电脑生成一个随机数--1~100的数字
2.然后我们作为玩家输入一个数字
3.如果我们猜的数字小了,电脑提示“猜小了”,猜的数字大了,电脑反之提示“猜大了”。如果猜对了,电脑输出YOU WIN ! ! !
效果展示
1.让电脑生成一个随机数
我们可以用rand函数来生成随机数,不过因为rand函数是使用一种算法而生成的数字,所以它并不能真正的实现随机数,生成的可以称其为伪随机数。
rand函数生成随机数需要srand函数设置随机数的生成器。也就是srand函数生成一个随机数,这样rand函数就可以产生一个随机数。给srand函数生成一个随机数我们如何实现?这时可以使用time函数,它可以生成时间戳------时间戳是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。这样随着电脑时间的变化就形成了一个随机数。
代码实现
srand((unsigned int)time(NULL)); \\首先time函数的类型不同,所以将其强制转换,
int random_number = rand()%100+1; \\并给time函数传入一个空指针(“NULL”(‘0’))
\\rand()%100+1这样可以控制随机数的大小在1~100
2.玩家输入一个数字
首先可以创建一个菜单来让玩家选择是否进行游戏,自行发挥即可
void meau()
{
printf("**********************************\n");
printf("*********** 1.play *******\n");
printf("*********** 0.exit *******\n");
printf("**********************************\n");
}
然后就是让玩家输入一个数字,进行游戏了
void game()
{
int x = 0;
int random_number = rand()%100+1;
printf("请猜数字>:");
while (1)
{
scanf("%d", &x);
}
}
上述代码仅仅只是让玩家可以输入数字,但如何进行游戏的具体内容还要看第三步
3.游戏规则的实现
void game()
{
int x = 0;
int random_number = rand()%100+1;
printf("请猜数字>:");
while (1)
{
scanf("%d", &x);
if (x == random_number)
{
printf("YOU WIN ! ! !\n");
break;
}
else if (x > random_number)
printf("猜大了,请再输入一次:\n");
else
printf("猜小了,请再输入一次:\n");
}
}
上述代码就能实现游戏的规则了,注意的是,这会一直让你猜,直到你猜对为止,其实我们可以改变一下循环就可以达到有限次数的猜数字了。
4.将前面的代码进行合理的组合和添加就能运行游戏了
#include <stdio.h>
#include<stdlib.h>
void meau() \\打印游戏初始界面
{
printf("**********************************\n");
printf("*********** 1.play *******\n");
printf("*********** 0.exit *******\n");
printf("**********************************\n");
}
void game() \\游戏运行的具体规则的实现
{
int x = 0;
int random_number = rand()%100+1;
printf("请猜数字>:");
while (1)
{
scanf("%d", &x);
if (x == random_number)
{
printf("YOU WIN ! ! !\n");
break;
}
else if (x > random_number)
printf("猜大了,请再输入一次:\n");
else
printf("猜小了,请再输入一次:\n");
}
}
int main()
{
int input = 0;
srand((unsigned int)time(NULL));
do
{
meau();
printf("请选择>:");
scanf("%d", &input); \\选择是否开始游戏
switch (input)
{
case 1:
game();
break;
case 0:
printf("退出游戏\n");
break;
default:
printf("选择错误,请重新选择\n");
break;
}
} while (input);
return 0;
}
总结:其实游戏的运行规则并不难实现,最关键的是如何生成一个随机数来猜。能看见这篇文章的你----果然好看的人眼光都一样!!!