前言
接下来我们将会一步一步通过C语言来实现随机猜数游戏
一、实现游戏框架
我们先实现游戏框架
因为我们至少要玩一次游戏,所以我们采用do-while循环。
int main ()
{
int input = 0;
do
{
printf("***********************\n");
printf("****** 1. play ******\n");
printf("****** 0. exit ******\n");
printf("***********************\n"); //到这里首先实现的是菜单功能
printf("请选择:>");
scanf("%d", &input); //这里选择输入菜单上的数字
switch(input)
{
case 1:
printf("猜数游戏"): //这里是主要实现猜数功能的地方
break;
case 0:
printf("游戏结束\n");
break;
default:
printf("选择错误,重新选择\n");
break;
}
}while(input); //因为0为假,1为真输入0会跳出循环
return 0;
}
二、实现具体的游戏功能
1.我们首先要自定义一个game函数
void game() //因为我们不需要任何参数和任何返回值这里的类型选的void
{
int r = rand()%100+1; //这里实现1到100的随机数生成
int guess= 0;
while(1)
{
printf("请猜数字>:");
scanf("%d", &guess);
if(guess < r)
{
printf("猜⼩了\n");
}
else if(guess > r)
{
printf("猜⼤了\n");
}
else
{
printf("恭喜你,猜对了\n");
break;
}
}
}
因为rand函数生成的随机数是伪随机数当我们改变srand函数的值rand生成的随机数也在变所以我们用time函数让srand的值一直改变
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int input = 0;
srand((unsigned int)time(NULL)); //这里就是srand
do
{
menu();
printf("请选择:>");
scanf("%d", &input);
switch(input)
{
case 1:
game(); //这里调用game函数实现游戏功能
break;
case 0:
printf("游戏结束\n");
break;
default:
printf("选择错误,重新选择\n");
break;
}
}while(input);
return 0;
}
2.丰富游戏的功能
我们可以设置游戏在多少次内必须猜出来否则给出惩罚
这里只进行game的修改
void game() //因为我们不需要任何参数和任何返回值这里的类型选的void
{
int r = rand()%100+1; //这里实现1到100的随机数生成
int guess= 0;
int a = 6; //给他6次功能
while(a)
{
printf("\n你还有%d次机会\n", a);
printf("请猜数字>:");
scanf("%d", &guess);
if(guess < r)
{
printf("猜⼩了\n");
}
else if(guess > r)
{
printf("猜⼤了\n");
}
else
{
printf("恭喜你,猜对了\n");
break;
}
a--;
}
if (a == 0)
{
printf("你失败了,傻帽,正确值是:%d\n", r);
}
}
可以改变游戏失败后的惩罚例如使用system函数让计算机在多长时间关机。
总结
实现猜数功能主要使用的是srand ()函数和函数框架