思路:
- 游戏可以重复玩
- 游戏开始要先产生一个随机数
- 接下来开始猜数字,如果猜大,就提醒猜大了;猜小,就提醒猜小了
- 猜对了就恭喜你猜对了,游戏结束
游戏代码:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void game()
{
int ret = rand() % 100 + 1;//设置一个1-100之间的数字
int a = 0;
int b = 0;
while(b<7)//只能猜7次
{
printf("请猜数字:");
scanf("%d", &a);
if (a > ret)
printf("猜大了\n");
else if(a < ret)
printf("猜小了\n");
else
{
printf("恭喜你猜对了,游戏结束\n");
break;
}
b++;
}
if (b == 7)
printf("游戏失败\n");
}
int main()
{
int input = 0;//控制游戏菜单
srand((unsigned int)time(NULL));
do
{
printf("***************************\n");
printf("********** 1.play *******\n");
printf("********** 0.exit *******\n");
printf("***************************\n");
printf("请选择:");
scanf("%d", &input);
switch (input)
{
case(1):
game();
break;
case(0):
printf("退出游戏\n");
break;
default:
printf("选择错误,请重新选择:\n");
}
} while (input);
return 0;
}
1.游戏一般使用do while来控制。循环内先打印菜单,然后输入一个变量,将变量放入判断表达式中,输入0结束循环,非0重新进入循环。使用switch来显示玩家输入的结果,玩家输入1开始游戏,输入0退出游戏,输入其他,则重新选择。
建议:在写完一段代码后一定要先测试在写,这样可以规避写完代码再进行测试时的很多错误
2. 生成一个1-100之间的随机数,它是我们要猜的数字。c语言中给了一个函数rand,它的返回值就是一个随机数,但rand函数也是通过计算来返回的值,所以使用rand前,要先调用srand来给rand设置起点;我们需要一个随机值,但又要有一个随机值设置起点来得到一个随机值,看起来很绕,其实我们给起点一个随时在变化的值就可以;使用time函数(时间戳)就可以得到一个随时变化的值;srand只需要调用一次就可以。
3.接下就开始猜数字,使用if开控制,如果猜大了就提醒猜大了,如果猜小了就提醒猜小了,猜对了那就恭喜你猜对了,并跳出循环。
我们也可以利用while来调整猜数字的字数增加游戏难度